Add Next.js implementation of the TechEmpower Fortunes benchmark#1866
Add Next.js implementation of the TechEmpower Fortunes benchmark#1866DamianEdwards wants to merge 22 commits intomainfrom
Conversation
|
Updated as part of investigating the performance:
Ran numbers again with no database and reduced worker count and performance is still under 1,000 RPS. |
|
New update: I noticed that Next.js is always sending I've started a discussion on the next.js repo. UPDATE: I reproduced this behavior on multiple machines (including Mac), in a brand new Next.js app, on multiple versions of Node, and in multiple browsers, so I created an issue on next.js. |
- Disable compression & metadata - Don't fork if WORKER_COUNT == 1
This is an attempt to add an implementation of the TechEmpower Fortunes benchmark in Next.js. This is interesting to us given Blazor's updates in .NET 8 to support SSR, etc.
Some notes about this implementation:
<tbody>element causes issues with Next.js partial rendering, i.e. an error is raised in the browser that the app could not be "hydrated" due to an expected<tr>not being present.<meta>viewport element in the<head>, and all the<script>elements at the end of the page required to enable Next.js client-side rendering. I could not find a way to disable either of these.npm run buildand running withnpm run start, with Postgres in a Docker container, and load generated by Bombardier, I see ~1,120 requests per second:Data from first run on the perf infrastructure: