-
Notifications
You must be signed in to change notification settings - Fork 242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Next.js implementation of the TechEmpower Fortunes benchmark #1866
base: main
Are you sure you want to change the base?
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 build
and 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: