«

»

Mar 26

Finding your Slow PHP Plugins with P3 Performance Profiler

Few tools are more helpful to a WordPress admin than P3 Performance Profiler which is a free plugin in the WordPress archives that allows you to measure the performance of your WordPress plugins. It does this by actively capturing a page or multiple pages as they load and timing the script calls of the various plugins to provide load times that the plugins add to your overall site load time.

To get started just install P3 Performance Profiler

Click on Tools –> P3 Performance Profiler

image

Click on Start Scan

 

image

Then click on Manual Scan

image

Then a popup will display, let it load your homepage and then click on at least 1 or 2 other pages/posts/tabs in your site so it can capture any and all plugins that may be loading, this will help capture plugins that load only on posts and maybe not on your homepage for example.

After letting a few posts/pages load and finish click I’m Done.

image

Give it a few minutes while the report is generated and the details are analyzed.

You will then be presented with your first pie graph on the run time by plugin tab.

image

Here you can see which plugins took the longest to load, and from this graph example you can see W3 Total Cache, Fanciest Author Box and Formidable Pro were the longest runtime plugins.

Click over on the detailed tab, and you can see a bar graph that more accurately represents the load time added as a result of the plugin.  Hover over a specific bar and you get the exact number.

image

You can see W3 Total cache added 1.07 seconds to my pageload time, but for this test I flushed all cache prior to running P3 Performance profiler and this isn’t the typical case with W3 Total Cache, after repeating the test without flushing cache and after the posts have loaded the pageload time of W3 Total Cache went way down.  Just know that it does add overhead to build cache if users hit a post that is not cached it adds overhead to build the cache.

The odd thing is my Custom Login Lite which is a plugin to add a custom WP-Admin sign on page, causes about 1/4 of a second pageload time increase on homepage and all posts, even though there is no wp-admin being accessed it always loads for some reason.  I found this to be an odd anomaly as why should this plugin actually load on anything but the wp-admin page?  It could be because to run the test you have to be logged in as the admin, and this plugin may not run if I wasn’t logged into WordPress, but I have no ability to test that since I can’t run P3 Performance Profiler unless I am logged into WordPress.

image

Finally you can use the Advanced Metrics tab to show your overall load times.

imageNow take this as an additional tool to help test, tweak and configure your WordPress blog.  As always you should start by taking a baseline performance test of your blog, disable all plugins, then do a performance test with tools.pingdom.com and Pagespeed Insights, then add plugins that you really need and can’t do without one at a time and watch which ones add the most overhead and drain the most performance until you decide you don’t really need it or find an alternative that performs better.

dragonblogger

dragonblogger

IT Security Manager who is also a part time technology blogger and loves all things Wordpress and Social Media
dragonblogger
dragonblogger
  • http://www.thetraveltart.com The Travel Tart

    This is a good plugin – I’ve used it to find the worst offending plugins when my site has produced too much load. Worth using it to look at efficiencies.

  • http://twitter.com/TheFrosty Austin ☃ Passy

    I have used this plugin once before, but did feel it had to much loading time. I’ll run it again and test out some plugin I feel are a bit slow.

    Thanks for the heads up on my Custom Login lite plugin, I know I have solved loading issues with the Pro version which makes no database calls and only loads on login_enqueue_scripts.
    I’ll see what I can do about speeding up the lite version. Or at least finding the loading leak.

    • http://www.dragonblogger.com Justin Germino

      I don’t use P3 Performance Profile installed and actively running all the time, I install it, run it to test output, then after doing clean up I deactivate it and use every few months after I rotate plugins. There should be no reason to leave it active all the time, it is just a tool to help.

      Thanks for looking into the Custom Login Lite, love the plugin, again I didn’t know if the calls were because I was an admin and logged in, or it would load the plugin even for non-logged in users and cause the minor load time increase. I would be willing to compare against the PRO version if you send me a review copy, I only use this plugin on DragonBlogger.com right now.

      • http://twitter.com/TheFrosty Austin ☃ Passy

        I’ve re-coded Custom Login and should be pushing a new version to the repo soon. It’s a lot faster and very extendable. I’ll gladly send you a copy of PRO which is now a complete different plugin than Custom Login 2.0.

        • http://www.dragonblogger.com Justin Germino

          Sure I would love to receive a copy, send it to contactme@dragonblogger.com and I can review it.