diff options
author | Matteo Collina <hello@matteocollina.com> | 2019-01-18 17:31:46 +0300 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-02-11 10:50:07 +0300 |
commit | 9af04ad684a666888f76024876d7b74eee60d2f7 (patch) | |
tree | 90ce38c03c30b1331070c01c97599a14f7f303bd /benchmark | |
parent | fcaeb1f1221c7c4296d44136b2f81d8f6e0db92d (diff) |
http2: improve compat performance
This bunch of commits help me improve the performance of a http2
server by 8-10%. The benchmarks reports several 1-2% improvements in
various areas.
PR-URL: https://github.com/nodejs/node/pull/25567
Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark')
-rw-r--r-- | benchmark/http2/compat.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/benchmark/http2/compat.js b/benchmark/http2/compat.js new file mode 100644 index 00000000000..5d06ccf3178 --- /dev/null +++ b/benchmark/http2/compat.js @@ -0,0 +1,35 @@ +'use strict'; + +const common = require('../common.js'); +const path = require('path'); +const fs = require('fs'); +const file = path.join(path.resolve(__dirname, '../fixtures'), 'alice.html'); + +const bench = common.createBenchmark(main, { + requests: [100, 1000, 5000], + streams: [1, 10, 20, 40, 100, 200], + clients: [2], + benchmarker: ['h2load'] +}, { flags: ['--no-warnings'] }); + +function main({ requests, streams, clients }) { + const http2 = require('http2'); + const server = http2.createServer(); + server.on('request', (req, res) => { + const out = fs.createReadStream(file); + res.setHeader('content-type', 'text/html'); + out.pipe(res); + out.on('error', (err) => { + res.destroy(); + }); + }); + server.listen(common.PORT, () => { + bench.http({ + path: '/', + requests, + maxConcurrentStreams: streams, + clients, + threads: clients + }, () => { server.close(); }); + }); +} |