Closed stefan-guggisberg closed 4 years ago
My guess: It's either an issue with already#funnel itself or how (and where) funnel
is used in fetch-h2
. It seems like parallel requests to the same HTTP/2 endpoint are effectively serialised, which IMO defeats the purpose.
@grantila I'd appreciate your comments.
Thanks, yes this is obviously not good and a serious bug. I'm looking into it.
:tada: This issue has been resolved in version 2.4.3 :tada:
The release is available on:
Your semantic-release bot :package::rocket:
@grantila Thanks!
When running parallel requests to the same http2 origin the total time roughly increases linearly with the number of requests.
test.js
node test.js 10
takes ~1snode test.js 100
takes ~10snode test.js 200
takes ~20sNote that the included workaround for #39 (send an initial blocking request) doesn't have a significant impact on the results.
OTOH, when running the same tests with node-fetch-h2 instead of
fetch-h2
:node test.js 10
takes ~200msnode test.js 100
takes ~300msnode test.js 200
takes ~500msThere seems to be a massive bottleneck in
fetch-h2
responsible for the poor performance.