Performance Tip 9 is to Optimize your WordPress database
– server do less.
In my experience I rarely have a problem with database performance. The elapsed query time is a fraction of the server response. Even in sites with thousands of posts.
Page | Query time ( # ) | Elapsed | Hooks | Files |
Home | 0.010022640228271 ( 21 ) | 0.226419 | 15913 | 391 |
Elementor | 0.044546365737915 ( 90 ) | 6.852413 | 85033 | 3404 |
Big images | 0.036091566085815 ( 94 ) | 5.108721 | 85878 | 3345 |
webp images | 0.044345617294312 ( 96 ) | 3.002667 | 85884 | 3345 |
About | 0.00510573387146 ( 13 ) | 0.162170 | 13805 | 383 |
There are exceptions. With a large database some queries take a long time to run. Especially those accessing the wp_postmeta
table performing a match on the meta_value
.
Trace shutdown report
The above information was gleaned from the trace shutdown report, produced by oik-bwtrace.
About page
<!--PHP version:8.0.15 --><!--PHP functions:2005 --><!--User functions:3416 --><!--Classes:381 --><!--Plugins:29 --><!--Files:383 --><!--Registered widgets:29 --><!--Post types:14 --><!--Taxonomies:7 --><!--Queries:13 --><!--Query time:0.00510573387146 --><!--Trace file: --><!--Trace records: --><!--Trace errors: --><!--Hook count:13805 --><!--Remote addr:92.8.23.38 --><!--Elapsed (secs):0.162170
Elementor ( another invocation )
<!--PHP version:8.0.15 --><!--PHP functions:2005 --><!--User functions:6112 --><!--Classes:3257 --><!--Plugins:29 --><!--Files:3404 --><!--Registered widgets:71 --><!--Post types:40 --><!--Taxonomies:16 --><!--Queries:84 --><!--Query time:0.044870615005493 --><!--Trace file: --><!--Trace records: --><!--Trace errors: --><!--Hook count:85147 --><!--Remote addr:92.8.23.38 --><!--Elapsed (secs):8.279563
There’s probably a formula that can be used to determine the expected server response based on the number of each of the counts reported. Notice that the figure for Plugins:
is the same for both requests. It shows the total number of plugins that WordPress would have loaded were it not for oik-unloader.