Daruk 压力测试报告
其实 Daruk 只是在 Koa 的基础上进行了一定启动时封装,但运行时仍旧是 Koa,因此 Daruk 的运行时性能和 Koa 基本持平,从下面的压测数据也可以看到。
测试项目:某内部项目
测试一:并发 500,测试 5 分钟
结果:
数据 | daruk 版本 | 纯 koa 版本 |
---|---|---|
内存稳定值 | 130M 左右 | 120M左右 |
cpu 稳定值 | 115% 左右 | 115% 左右 |
请求成功数 | 1202K | 1324K |
请求失败数 | 20 | 15 |
测试二:并发 500,压测 1 分钟
注:下面的数据皆为压测过程中的均值
结果:
数据 | daruk 版本 | 纯 koa 版本 |
---|---|---|
eventLoop | 最大值 63ms,均值较低 | 最大值 66ms,均值较低 |
进程物理内存占用 | 180M | 150M |
v8 申请的堆内存 | 90M | 65M |
v8 实际使用堆内存 | 50M | 25M |
活跃 handler 数 | 500 | 500 |
测试三:上线到 docker
结果:
内存占用和cpu均无明显变化
内存:
cpu:
← 性能