Closed gurgunday closed 8 months ago
respCtx would not report the real TTL but the static timeWindow
The reason we can't directly use ttl is that it's not ceiled so impossible to test consistently
I don't think we should be wasting time (however small it might be) on formatting text here
New:
Running 10s test @ http://127.0.0.1:3000 10 connections ┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐ │ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │ ├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤ │ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.05 ms │ 12 ms │ └─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘ ┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬──────────┬─────────┐ │ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │ ├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼─────────┤ │ Req/Sec │ 47,871 │ 47,871 │ 52,063 │ 52,351 │ 51,501.1 │ 1,243.97 │ 47,852 │ ├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼──────────┼─────────┤ │ Bytes/Sec │ 18.1 MB │ 18.1 MB │ 19.7 MB │ 19.8 MB │ 19.5 MB │ 474 kB │ 18.1 MB │ └───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴──────────┴─────────┘ Req/Bytes counts sampled once per second. # of samples: 11 100 2xx responses, 566412 non 2xx responses 567k requests in 11.01s, 214 MB read
Old:
Running 10s test @ http://127.0.0.1:3000 10 connections ┌─────────┬──────┬──────┬───────┬──────┬─────────┬─────────┬───────┐ │ Stat │ 2.5% │ 50% │ 97.5% │ 99% │ Avg │ Stdev │ Max │ ├─────────┼──────┼──────┼───────┼──────┼─────────┼─────────┼───────┤ │ Latency │ 0 ms │ 0 ms │ 0 ms │ 0 ms │ 0.01 ms │ 0.06 ms │ 11 ms │ └─────────┴──────┴──────┴───────┴──────┴─────────┴─────────┴───────┘ ┌───────────┬─────────┬─────────┬─────────┬─────────┬──────────┬─────────┬─────────┐ │ Stat │ 1% │ 2.5% │ 50% │ 97.5% │ Avg │ Stdev │ Min │ ├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤ │ Req/Sec │ 45,567 │ 45,567 │ 51,007 │ 52,383 │ 50,457.6 │ 2,160.9 │ 45,561 │ ├───────────┼─────────┼─────────┼─────────┼─────────┼──────────┼─────────┼─────────┤ │ Bytes/Sec │ 17.1 MB │ 17.1 MB │ 19.1 MB │ 19.6 MB │ 18.9 MB │ 828 kB │ 17.1 MB │ └───────────┴─────────┴─────────┴─────────┴─────────┴──────────┴─────────┴─────────┘ Req/Bytes counts sampled once per second. # of samples: 10 100 2xx responses, 504561 non 2xx responses 505k requests in 10.01s, 189 MB read
Benchmark:
import fastify from 'fastify'; const app = fastify(); await app.register(import("../index.js"), { max: 100, timeWindow: '1 minute' }); app.get('/', (request, reply) => { reply.send('Hello, world!'); }); app.listen(3000, (err) => { if (err) { console.error(err); process.exit(1); } console.log('Server is running on port 3000'); });
respCtx would not report the real TTL but the static timeWindow
The reason we can't directly use ttl is that it's not ceiled so impossible to test consistently
I don't think we should be wasting time (however small it might be) on formatting text here
New:
Old:
Benchmark: