Measure WordPress loading time and queries

Photo of author
Written By Jan Reilink

Windows Server systems administrator & enthusiast.

During an HTTP request, WordPress executes a lot of queries on your MySQL database. Not just the database queries take time, also loading and executing PHP takes time. How to measure WordPress’ loading time and executed database queries?

WordPress has built in functions to measure PHP‘s loading time and executed MySQL queries. These functions are: get_num_queries() for the number of database queries, and timer_stop() for PHP execution time. You can read all about these functions here and here.

You can simply add the following PHP code somewhere in your theme footer.php file to display these statistics:

<?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
Code language: PHP (php)

After saving this change to your footer.php file, you need to refresh your page in the browser to see the measurements in effect. These numbers give you an idea of how long it took PHP to render your WordPress blog or website.

If you don’t want to mess with theme files, because changes are undone after an update, you can use the wp_footer() action of the Plugin API / Action Reference.

Add the following code to your theme functions.php or your site-specific plugin to measure WordPress’ loading time:

function saotn_php_loadtime_num_queries_footer() { echo '<p><small>', get_num_queries(), __(' queries, '); timer_stop(1); echo __(' seconds.'), '</small></p>'; } add_action( 'wp_footer', 'saotn_php_loadtime_num_queries_footer', 100 );
Code language: PHP (php)

Did you like: Measure WordPress loading time and queries

Then please, take a second to support Sysadmins of the North and donate!

Your generosity helps pay for the ongoing costs associated with running this website like coffee, hosting services, library mirrors, domain renewals, time for article research, and coffee, just to name a few.



Hi! Join the discussion, leave a reply!