The two sites are running on LocalWP with PHP 8.2, MySQL 8, Nginx. They both have the theme unit test data installed. The Twenty Twenty-Five theme is active.
benchmark-server-timing on Sample Page
npm run research -- benchmark-server-timing --url=http://wp68.local/sample-page/ --url=http://wp69beta4.local/sample-page/ --number=100 --diff --output=md
benchmark-server-timing on homepage
👉 Why is the performance so much better in this context? The homepage is showing a lot of posts from the theme unit test data.
npm run research -- benchmark-server-timing --url=http://wp68.local/ --url=http://wp69beta4.local/ --number=100 --diff --output=md
URL
http://wp68.local/
http://wp69beta4.local/
Diff (ms)
Diff (%)
Success Rate
100%
100%
--
--
Response Time (median)
284.69
46.27
-238.42
-83.7%
wp-before-template (median)
13.53
8.67
-4.86
-35.9%
wp-template (median)
268.65
35.63
-233.02
-86.7%
wp-total (median)
282.04
44.29
-237.75
-84.3%
benchmark-web-vitals on homepage (without Embeds post)
npm run research -- benchmark-web-vitals --url=http://wp68.local/ --url=http://wp69beta4.local/ --number=20 --network-conditions=" broadband" --diff --output=md
URL
http://wp68.local/
http://wp69beta4.local/
Diff (ms)
Diff (%)
Success Rate
100%
100%
--
--
FCP (median)
471.55
191.6
-279.95
-59.4%
LCP (median)
577.3
296.1
-281.20
-48.7%
TTFB (median)
304.4
86.45
-217.95
-71.6%
TTLB (median)
338.6
121.95
-216.65
-64.0%
LCP-TTFB (median)
270.6
211.2
-59.40
-22.0%
benchmark-web-vitals on block category common post
npm run research -- benchmark-web-vitals --url=http://wp68.local/block-category-common/ --url=http://wp69beta4.local/block-category-common/ --number=100 --network-conditions=" broadband" --diff --output=md
benchmark-web-vitals on Sample Page
npm run research -- benchmark-web-vitals --url=http://wp68.local/sample-page/ --url=http://wp69beta4.local/sample-page/ --number=100 --network-conditions=" broadband" --diff --output=md
wp profile stage --spotlight
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| stage | time | query_time | query_count | cache_ratio | cache_hits | cache_misses | hook_time | hook_count | request_time | request_count |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| bootstrap | 0.1751s | 0.0017s | 3 | 88.62% | 109 | 14 | 0.0134s | 4038 | 0s | 0 |
| main_query | 0.0044s | 0.0033s | 11 | 70.36% | 178 | 75 | 0.0003s | 289 | 0s | 0 |
| template | 0.3446s | 0.0263s | 62 | 91.41% | 2991 | 281 | 0.3207s | 23990 | 0.2103s | 1 |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| total (3) | 0.5241s | 0.0313s | 76 | 83.46% | 3278 | 370 | 0.3344s | 28317 | 0.2103s | 1 |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| stage | time | query_time | query_count | cache_ratio | cache_hits | cache_misses | hook_time | hook_count | request_time | request_count |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| bootstrap | 0.1766s | 0.0017s | 3 | 88.71% | 110 | 14 | 0.0129s | 4166 | 0s | 0 |
| main_query | 0.0047s | 0.0036s | 11 | 70.36% | 178 | 75 | 0.0003s | 289 | 0s | 0 |
| template | 0.0941s | 0.016s | 54 | 91.18% | 2914 | 282 | 0.0747s | 24640 | 0s | 0 |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
| total (3) | 0.2755s | 0.0213s | 68 | 83.42% | 3202 | 371 | 0.0879s | 29095 | 0s | 0 |
+------------+---------+------------+-------------+-------------+------------+--------------+-----------+------------+--------------+---------------+
wp profile hook --all --spotlight
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| callback | location | time | query_time | query_count | cache_ratio | cache_hits | cache_misses | request_time | request_count |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| _register_theme_block_patterns() | wp-includes/block-patterns.php:349 | 0.0013s | 0.0005s | 1 | 70% | 14 | 6 | 0s | 0 |
| wp_render_layout_support_flag() | wp-includes/block-supports/layout.php:570 | 0.0037s | 0.0001s | 1 | 100% | 0 | 0 | 0s | 0 |
| WP_Embed->autoembed() | wp-includes/class-wp-embed.php:442 | 0.0025s | 0.0011s | 5 | 71.43% | 0 | 0 | 0s | 0 |
| do_blocks() | wp-includes/blocks.php:2406 | 0.2928s | 0.0224s | 32 | 89.31% | 1170 | 140 | 0.2128s | 1 |
| do_shortcode() | wp-includes/shortcodes.php:243 | 0.0041s | 0.0008s | 2 | 97.26% | 71 | 2 | 0s | 0 |
| wp_filter_content_tags() | wp-includes/media.php:1872 | 0.0068s | 0.0021s | 4 | 100% | 0 | 0 | 0s | 0 |
| _override_custom_logo_theme_mod() | wp-includes/blocks/site-logo.php:130 | 0.0002s | 0.0001s | 1 | 100% | 2 | 0 | 0s | 0 |
| wp_enqueue_scripts() | wp-includes/script-loader.php:2293 | 0.0095s | 0.0001s | 1 | 97.58% | 121 | 3 | 0s | 0 |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| total (8) | | 0.3208s | 0.0273s | 47 | 90.7% | 1378 | 151 | 0.2128s | 1 |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| callback | location | time | query_time | query_count | cache_ratio | cache_hits | cache_misses | request_time | request_count |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| _register_theme_block_patterns() | wp-includes/block-patterns.php:349 | 0.0012s | 0.0005s | 1 | 70% | 14 | 6 | 0s | 0 |
| wp_default_packages() | wp-includes/script-loader.php:661 | 0.0006s | 0.0001s | 1 | 95.83% | 23 | 1 | 0s | 0 |
| wp_render_layout_support_flag() | wp-includes/block-supports/layout.php:570 | 0.0034s | 0.0001s | 1 | 100% | 0 | 0 | 0s | 0 |
| WP_Embed->autoembed() | wp-includes/class-wp-embed.php:442 | 0.0025s | 0.0011s | 5 | 71.43% | 0 | 0 | 0s | 0 |
| do_blocks() | wp-includes/blocks.php:2441 | 0.0444s | 0.0099s | 24 | 89.13% | 1132 | 138 | 0s | 0 |
| do_shortcode() | wp-includes/shortcodes.php:243 | 0.0013s | 0.0004s | 2 | 97.26% | 71 | 2 | 0s | 0 |
| wp_filter_content_tags() | wp-includes/media.php:1886 | 0.0067s | 0.0022s | 4 | 100% | 0 | 0 | 0s | 0 |
| _override_custom_logo_theme_mod() | wp-includes/blocks/site-logo.php:130 | 0.0002s | 0.0001s | 1 | 100% | 2 | 0 | 0s | 0 |
| wp_enqueue_scripts() | wp-includes/script-loader.php:2305 | 0.0025s | 0s | 0 | 96.67% | 58 | 2 | 0s | 0 |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+
| total (9) | | 0.0627s | 0.0145s | 39 | 91.15% | 1300 | 149 | 0s | 0 |
+-----------------------------------+-------------------------------------------+---------+------------+-------------+-------------+------------+--------------+--------------+---------------+