Skip to content

benchmark: fix readable-hash-4mb pointing at a missing wrk script - #359

Merged
dimdenGD merged 1 commit into
dimdenGD:mainfrom
nigrosimone:fix-benchmark-missing-wrk-script
Jul 31, 2026
Merged

benchmark: fix readable-hash-4mb pointing at a missing wrk script#359
dimdenGD merged 1 commit into
dimdenGD:mainfrom
nigrosimone:fix-benchmark-missing-wrk-script

Conversation

@nigrosimone

Copy link
Copy Markdown
Contributor

streaming/readable-hash-4mb asks for post-hash-body-4mb.lua, but the file in benchmark/wrk-scripts/ is called post-hash-body-25mb.lua. Its contents build a 4mb body, so the name is what is wrong, not the scenario.

With the script missing, wrk falls back to its defaults and sends GET / rather than posting a body, which means the row has never measured what it says it does. The published numbers give it away: 28.12k req/sec on main would be 112 GB/sec of upload at 4mb per request, and the 10.41 MB/sec transfer works out to 388 bytes per response, which is a 404 page rather than a sha256 digest. For comparison, streaming/writable-with-content-length, which really does move large payloads, sits at 562 req/sec.

Renaming the file to the name the scenario already uses is enough. The row will get much slower after this, but it will finally be measuring the request-streaming path.

Found while looking at why body-related changes are invisible in this suite (see #358).

The scenario asks for post-hash-body-4mb.lua but the file is named
post-hash-body-25mb.lua, and its contents build a 4mb body, so it is the
name that is wrong. With the script missing wrk falls back to its own
defaults and requests GET / instead of posting anything, which is why
that row reports 28.12k req/sec: at 4mb a request that would be 112
GB/sec of upload. It has been measuring a 404, not body streaming.

Rename the file to what the scenario already refers to.
@nigrosimone

Copy link
Copy Markdown
Contributor Author

The benchmark job on this branch confirms it:

Express uExpress throughput speedup
main 28.12k 61.87k 10.41 MB/sec 2.20x
with the rename 209.56 242.87 46.66 KB/sec 1.16x

A drop from 28.12k to 209 req/sec is what starting to actually upload 4mb per request looks like. The suite had been reporting a 2.20x on a row that was requesting GET / and getting a 404; the real figure for streaming a 4mb request body is 1.16x.

Worth knowing that the published number for that row has been wrong rather than merely optimistic.

@dimdenGD
dimdenGD merged commit fad90db into dimdenGD:main Jul 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants