Repository navigation
Running benchmark/http/headers.js fails with HPE_HEADER_OVERFLOW #31022
Description
Activity
The benchmark succeeds if I install
autocannon$ node -v v12.14.0 $ npm install -g autocannon /home/trivikr/.nvm/versions/node/v12.14.0/bin/autocannon -> /home/trivikr/.nvm/versions/node/v12.14.0/lib/node_modules/autocannon/autocannon.js + autocannon@4.4.1 added 41 packages from 70 contributors in 1.456s $ node benchmark/http/headers.js http/headers.js len=1 n=10 benchmarker="autocannon": 42,550.4 http/headers.js len=100 n=10 benchmarker="autocannon": 16,156 http/headers.js len=1 n=1000 benchmarker="autocannon": 1,933.4 http/headers.js len=100 n=1000 benchmarker="autocannon": 2,021.8
Should we improve the error code if
wrkorautocannonis not installed? https://github.com/nodejs/node/blob/651c43082698ba3bfa4f2417944719f771c09f04/benchmark/writing-and-running-benchmarks.md#http-benchmark-requirementsThe benchmark succeeds if I install
autocannonautocannonorwrkwill generally take precedence overtest-double-httpin these benchmarks.What should be done here?
- addedbenchmarkIssues and PRs related to Node.js benchmarks and benchmarking infrastructure.Issues and PRs related to Node.js benchmarks and benchmarking infrastructure.httpIssues and PRs related to the http subsystem.Issues and PRs related to the http subsystem.
on Dec 26, 2020 More than two years ago, for security/reliability purposes, the default maximum header size was reduce from 80Kb to 8192 bytes. We can either reduce the size of the benchmark so it fits inside the default or else pass the --max-http-header-size flag to the child process. I think reducing the size of the benchmark probably makes sense. It seems like headers about 8192 bytes are an edge case with some valid uses but not something we necessarily want to be optimizing for.
Proposed fix in #36794
- added a commit that references this issue
on Jan 7, 2021 - added a commit that references this issue
on Jan 12, 2021 - added a commit that references this issue
on May 1, 2021
Describe the bug
Running
benchmark/http/headers.jsfails withHPE_HEADER_OVERFLOWfor:To Reproduce
Follow instructions in running benchmarks to run
benchmark/http/headers.jsExample:
Expected behavior
The
benchmark/http/headers.jsruns without any errorAdditional context
I came across this issue as part of running benchmarks while moving to
for...ofloop in the initial commits of #30958