diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-21 20:56:19 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-21 20:56:19 +0000 |
commit | 0b6210cd37b68b94252cb798598b12974a20e1c1 (patch) | |
tree | e371686554a877842d95aa94f100bee552ff2a8e /benchmarks/server.js | |
parent | Initial commit. (diff) | |
download | node-undici-0b6210cd37b68b94252cb798598b12974a20e1c1.tar.xz node-undici-0b6210cd37b68b94252cb798598b12974a20e1c1.zip |
Adding upstream version 5.28.2+dfsg1+~cs23.11.12.3.upstream/5.28.2+dfsg1+_cs23.11.12.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'benchmarks/server.js')
-rw-r--r-- | benchmarks/server.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/benchmarks/server.js b/benchmarks/server.js new file mode 100644 index 0000000..e1a32e8 --- /dev/null +++ b/benchmarks/server.js @@ -0,0 +1,33 @@ +'use strict' + +const { unlinkSync } = require('fs') +const { createServer } = require('http') +const os = require('os') +const path = require('path') +const cluster = require('cluster') + +const socketPath = path.join(os.tmpdir(), 'undici.sock') + +const port = process.env.PORT || socketPath +const timeout = parseInt(process.env.TIMEOUT, 10) || 1 +const workers = parseInt(process.env.WORKERS) || os.cpus().length + +if (cluster.isPrimary) { + try { + unlinkSync(socketPath) + } catch (_) { + // Do nothing if the socket does not exist + } + + for (let i = 0; i < workers; i++) { + cluster.fork() + } +} else { + const buf = Buffer.alloc(64 * 1024, '_') + const server = createServer((req, res) => { + setTimeout(function () { + res.end(buf) + }, timeout) + }).listen(port) + server.keepAliveTimeout = 600e3 +} |