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.
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 );
Thank you very much! <3 ❤️
Hi, my name is Jan. I am not a hacker, coder, developer or guru. I am merely an application manager / systems administrator, doing my daily thing at Embrace – The Human Cloud. In the past I worked at CLDIN (CLouDINfra) and Vevida. With over 20 years of experience, my specialties include Windows Server, IIS, Linux (CentOS, Debian), security, PHP, websites & optimization. I blog at https://www.saotn.org.