solid-start icon indicating copy to clipboard operation
solid-start copied to clipboard

[Bug?]: no concurrency on server rendering

Open marknelissen opened this issue 2 months ago • 1 comments

Duplicates

  • [x] I have searched the existing issues

Latest version

  • [x] I have tested the latest version

Current behavior 😯

Solidstart produces single digit results on the req/sec metric.

Expected behavior 🤔

I would expect the results to be somewhere in the 1-10k range for req/sec, based on the results of the other frameworks.

Steps to reproduce 🕹

Steps:

  1. Checkout https://github.com/marknelissen/js-fullstack-benchmark/
  2. cd into either solidstart-solidrouter or solidstart-tanstackrouter
  3. npm i && npm run build && npm start
  4. other terminal on root of checkout
  5. npm i && npm test

Context 🔦

I am working on a benchmark to quantify the overhead generated by several fullstack frameworks on server rendered pages. It's still a WIP, but the current results can be found, together with the tested implementations, on https://github.com/marknelissen/js-fullstack-benchmark/.

I'm not certain if it is due some rate limiting protection build into solidstart, but if it is, I didn't find any documentation on it.

It seems unrelated to Solid itself, since Solid on tanstack start gives good results. Neither does it seem to reside in Solid Router, since with tanstack router, the same issue is observed.

The issue does go away by setting ssr: false in the config, meaning it is related to the server rendering.

Your environment 🌎

Macbook Pro M1 Pro 32GB RAM

macOS Tahoe 26.1

Node 22.15.1

marknelissen avatar Nov 14 '25 15:11 marknelissen

Hey @marknelissen

Thank you a lot for bringing this to our attention and for the research you put into it!

I just ran your benchmark on our future work with Nitro v3 and got 5,468.27 req/s 🎉. We need to internally discuss if and how we can backport this to v1.

katywings avatar Nov 15 '25 16:11 katywings