React on Rails Performance Demo

Desktop reports use 50 ms artificial DB delay to emulate real-world load

This demo app is small and fast — under normal conditions all three rendering strategies score similarly on desktop. PageSpeed Insights does not throttle CPU or network on desktop, so it cannot surface the performance differences that matter in production. Adding ?delay=50 to every page injects a 50 ms sleep after each database query, simulating the heavier queries and higher latency of a real-world application. This makes the RSC streaming advantage clearly visible in Lighthouse scores. The 50 ms delay emulates typical database latency and API response times seen in production applications under load.

Metric RSC SSR Δ
Performance score 88 75 -15%
First Contentful Paint 1.27 s 1.35 s +7%
Largest Contentful Paint 3.33 s 4.67 s +40%
Total Blocking Time ★ 223 ms 313 ms +40%
Cumulative Layout Shift 0.0 0.0 +0%
Speed Index 2.8 s 3.24 s +16%
Script Bootup 230 ms 803 ms +250%
Total Transfer 365 KB 743 KB +103%

★ Blocking Time has the biggest impact on Google's performance score (30%) — it measures how long users wait before they can tap, scroll, or type (LCP 25%, CLS 25%, FCP 10%, SI 10%).

RSC Mobile · restaurant_1_rsc-mobile
SSR Mobile · restaurant_1_ssr-mobile