Skip to content

Commit 206fe30

Browse files
committed
minor corrections
1 parent c8015f7 commit 206fe30

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

src/blog/tanstack-start-5x-ssr-throughput.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ title: '5x SSR Throughput: Profiling SSR Hot Paths in TanStack Start'
1414

1515
## TL;DR
1616

17-
We improved TanStack Start's SSR performance dramatically. Under sustained load (100 concurrent connections, 30 seconds):
17+
We improved TanStack Start's SSR performance dramatically. Under sustained load (using our `links-100` stress benchmark with 100 concurrent connections, 30 seconds):
1818

1919
- **Throughput**: 427 req/s → 2357 req/s (**5.5x**)
2020
- **Average latency**: 424ms → 43ms (**9.9x faster**)
@@ -96,10 +96,10 @@ Placeholders you should replace with real screenshots:
9696

9797
### Reproducing these benchmarks
9898

99-
Our benchmarks were stable enough to produce very similar results on a range of setups. However here are the exact environment details we used to run most of the benchmarks:
99+
Our benchmarks were stable enough to produce very similar results on a range of setups. However, here are the exact environment details we used to run most of the benchmarks:
100100

101101
- Node.js: v24.12.0
102-
- Hardware: Macbook Pro M3 Max
102+
- Hardware: MacBook Pro (M3 Max)
103103
- OS: macOS 15.7
104104

105105
The exact benchmark code is available in [our repository](https://github.com/TanStack/router/tree/main/e2e/react-start/flamegraph-bench).
@@ -339,17 +339,19 @@ Taking the example of the `startViewTransition` method, we can see that the tota
339339

340340
Benchmark: placeholder text, should link to Matteo's article.
341341

342-
<!-- we need to wait for matteo's article to be published to link to it. -->
342+
<!-- we need to wait for Matteo's article to be published to link to it. -->
343343

344344
### Summary
345345

346-
| Metric | Before | After | Improvement |
347-
| ------------- | --------: | ---------: | ------------------------ |
348-
| Success Rate | 75.52% | 100% | does not fail under load |
349-
| Throughput | 477 req/s | 1041 req/s | +118% (2.2x) |
350-
| Avg Latency | 3,171ms | 13.7ms | 231x faster |
351-
| p(90) Latency | 10,001ms | 23.0ms | 435x faster |
352-
| p(95) Latency | 10,001ms | 29.1ms | 343x faster |
346+
Matteo Collina independently benchmarked Start's SSR performance as part of his [article investigating SSR performance across React meta-frameworks](???) and observed significant improvements after our optimizations. The following table summarizes the before/after results under sustained load:
347+
348+
| Metric | Before | After | Improvement |
349+
| --------------- | --------: | ---------: | ------------------------ |
350+
| Success rate | 75.52% | 100% | does not fail under load |
351+
| Throughput | 477 req/s | 1041 req/s | +118% (2.2x) |
352+
| Average latency | 3,171ms | 13.7ms | 231x faster |
353+
| p90 latency | 10,001ms | 23.0ms | 435x faster |
354+
| p95 latency | 10,001ms | 29.1ms | 343x faster |
353355

354356
The "before" numbers show a server under severe stress: 25% of requests failed (likely timeouts), and p90/p95 hit the 10s timeout ceiling. After the optimizations, the server handles the same load comfortably with sub-30ms tail latency and zero failures.
355357

@@ -375,7 +377,7 @@ For reference, the machine on which these were measured reaches 100% event-loop
375377

376378
## Conclusion
377379

378-
The biggest gains came from removing whole categories of work from the server hot path. The general lesson is simple: throughput improves when you eliminate repeated work, allocations, and unnecessary generality in the steady state.
380+
The biggest gains came from removing whole categories of work from the server hot path. Throughput improves when you eliminate repeated work, allocations, and unnecessary generality in the steady state.
379381

380382
There were many other improvements (client and server) not covered here. SSR performance work is ongoing.
381383

0 commit comments

Comments
 (0)