You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/blog/tanstack-start-5x-ssr-throughput.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,7 +67,7 @@ flame run ./dist/server.mjs
67
67
This produces:
68
68
69
69
- a CPU flamegraph
70
-
- a memory heap flamegraph
70
+
- a heap flamegraph
71
71
- and markdown summaries of the captured profile data
72
72
73
73
### Load generation with `autocannon`
@@ -334,7 +334,7 @@ Taking the example of the `startViewTransition` method, we can see that the tota
334
334
335
335
## Results
336
336
337
-
### Summary
337
+
### Independent benchmark
338
338
339
339
Matteo Collina independently benchmarked Start's SSR performance as part of his [article investigating SSR performance across React meta-frameworks](https://blog.platformatic.dev/react-ssr-framework-benchmark-tanstack-start-react-router-nextjs) and observed significant improvements after our optimizations. The following table summarizes the before/after results under sustained load:
340
340
@@ -354,7 +354,7 @@ To be clear: TanStack Start was not broken before these changes. Under normal tr
354
354
355
355
The following graphs show event-loop utilization[^elu] against throughput for each feature-focused endpoint, before and after the optimizations. Lower utilization at the same req/s means more headroom; higher req/s at the same utilization means more capacity.
356
356
357
-
For reference, the machine on which these were measured reaches 100% event-loop utilization at 100k req/s on an empty node http server[^empty-node-http-server].
357
+
For reference, the machine on which these were measured reaches 100% event-loop utilization at 100k req/s on an empty Node HTTP server[^empty-node-http-server].
358
358
359
359
#### 100 links per page
360
360
@@ -392,4 +392,4 @@ There were many other improvements (client and server) not covered here. SSR per
392
392
393
393
[^elu]: Event-loop utilization is the percentage of time the event loop is busy utilizing the CPU. See this [nodesource blog post](https://nodesource.com/blog/event-loop-utilization-nodejs) for more details.
394
394
395
-
[^empty-node-http-server]: To get a reference for the values we were measuring, we ran a similar `autocannon` benchmark on the smallest possible node http server: `require('http').createServer((q,s)=>s.end()).listen(3000)`. This tells us the _theoretical_ maximum throughput of the machine and test setup.
395
+
[^empty-node-http-server]: To get a reference for the values we were measuring, we ran a similar `autocannon` benchmark on the smallest possible Node HTTP server: `require('http').createServer((q,s)=>s.end()).listen(3000)`. This tells us the _theoretical_ maximum throughput of the machine and test setup.
0 commit comments