Using the WordPress Plugin Performance Profiler (P3)

Our WordPress® Plugin Performance Profiler (P3) creates a profile of a plugins' performance by measuring their impact on your site's load time.

Often, WordPress sites load slowly because of poorly-configured plugins or because there are so many of them. This plugin can help you determine the cause of your site's slowness.

To Install the WordPress Plugin Performance Profiler (P3)

  1. Log in to your WordPress account.
  2. From the Plugins menu, click Add New.
  3. Search for P3 Profiler.
  4. Click Install Now under P3 Profiler, and then click OK.
  5. Click Activate Plugin.

P3 FAQ

How do I use the WordPress Plugin Performance Profiler (P3)?

Simply click Start Scan, and then click Auto Scan to run an automated scan of your site. The scanner generates some traffic on your site, monitors your site's performance on the server, and then shows you the results. With this information, you can decide what action to take.

To Use the WordPress Plugin Performance Profiler (P3)

  1. Log in to your WordPress account.
  2. From the Tools menu, click P3 Plugin Profiler.
  3. Click Start Scan, and then click Auto Scan.
  4. Click View Results.

What do I do with these results?

If your site loads in an acceptable time (page load time as determined by the plugin), you might consider another explanation for sluggish loading. For example, loading large images, large videos, or a lot of content can cause slowness. Tools like Webpagetest.org, Firebug, Pingdom Tools, Safari Developer Tools, or Chrome Developer Tools can show you a connection breakdown of your site's content.

How does Plugin Performance Profiler (P3) work?

When you activate the plugin by clicking Start Scan, it detects visits from your IP address, and actively monitors all PHP user-defined function calls while the server generates your WordPress pages. It then records the information in a report file you can view later. When the scan is complete, or when you click Stop Scan, the plugin becomes dormant again.

How accurate are these results?

The results have an inherent margin of error because of the nature of the tool and its multi-layered design. The plugin changes the environment to measure it, and that makes it impossible to get completely accurate results.

It gets really close, though! The margin of error on the Advanced Metrics page displays the discrepancy between the measured results (the time for your site's PHP code to completely run) and the expected results (sum of the plugins, core, theme, profile load times) to show you the plugin's accuracy.

If you want more accurate results, you'll need to resort to a different profiler like Xdebug, but this will not break down results by plugin.

Why are some plugins slow?

WordPress is a complex system of plugins and themes, and it lives on a complex system of software on your Web server.

If a plugin runs slowly just once, it's probably an anomaly, a transient hiccup, and you can safely ignore it.

If a plugin shows slowness once on a regular basis (e.g., every time you run a scan, once a day, once an hour), a scheduled task might be causing it. Plugins that back up your site, monitor your site for changes, contact outside sources (e.g., RSS feeds), warm up caches, etc. can exhibit this kind of behavior.

If a plugin shows as fast-slow-fast-slow-fast-slow, it could be caused as the plugin loads its main code, and then a follow-up piece of code, like a piece of generated JavaScript.

If a plugin consistently shows slowness, you might want to contact the plugin's author or try deactivating the plugin temporarily to see if it makes a difference on your site.

How are these results different from YSlow / PageSpeed / Webpagetest.org / Pingdom Tools?

This plugin measures how your site was generated on the server. Tools like YSlow, PageSpeed, Webpagetest.org, and Pingdom Tools measure how your site looks to the browser.

What can interfere with testing?

Opcode caches can interfere with PHP backtraces. Some opcode caches optimize code internally, and this can cause the profiler to miss plugin calls that occur. Leaving opcode caches turned on shows you profile times similar to what a real user might experience, but this may miss plugins.  Turning off opcode caches shows longer runtimes, but catches more plugin calls.

The p3 profiler attempts to clear the opcode cache before each page load.

How much room do these profiles take up on my server?

The scans are stored in the Profiles folder in your WordPress Uploads directory and takes up less than 50KB of disk space. Each time you run a scan, this storage requirement goes up, and each time you delete a scan, it goes down.

Is this plugin always running?

The short answer is no.

The more detailed answer is that the loader is always running, but checks very early in the page-loading process to see if you've enabled profiling mode and if the user's IP address matches the IP address the plugin is monitoring. For multisite installations, it also matches the site URL. If all these match, the plugin becomes active and profiles.

Deactivating the plugin ensures it's not running at all, and does not delete your scans. However, uninstalling the plugin deletes your scans.

How can I test specific pages on my site?

When you start a scan, choose Manual Scan and then you can visit specific links on your site that you want to profile. If you want to profile the admin section, just click the X to return to your admin section. You can browse as normal, then come back to the profile page and click Stop Scan when you're ready to view the results.

To scan your site as an anonymous user, select Manual Mode, but instead of clicking your site in the scan window, open a different browser (or an incognito window) and browse your site as a logged-out user. When you're done, close that browser and return to your admin. Click I'm done and view your scan results.

My plugins don't seem to cause site slowness. Why is my site still slow?

Your site can be slow for a number of reasons. Your site could have a lot of traffic, other sites on your server could have a lot of traffic, you could be referencing content from other sites that are slow, your Internet connection could be slow, your server could be out of RAM, your site could be very image heavy, your site could require a lot of HTTP requests, etc. In short, a lot of factors can cause slowness on your site.

For more information, see Website speed tests


Was This Article Helpful?
Thank You For Your Feedback
Glad we helped! Anything more we can do for you?
Sorry about that. How can we be more helpful?