最近在读朴大神的 深入浅出 Nodejs
, 其中不乏性能相关话题.
这里选一个出来做个测试
准备
在 Buffer 一章中, 有这么一个测试.
在 Web 服务中, 使用 Buffer 进行数据传输, 效率要比直接使用字符串快.
光看结果还是不太信服, 于是来做个验证.
先上源码:
server1 和 server2 的差别就只有那一句 helloworld = new Buffer(helloworld)
.
现在分别启动 server1 和 server2
并用 ab 测试, 同时将结果分别保存到 res1.txt 和 res2.txt
测试结果
比较一下测试结果
可以看到, 使用 Buffer 后 QPS 和传输率确实有一定提升.
CPU 利用率
监控两次测试的 CPU 使用情况并统计: (统计时, 取 CPU 平稳的 6 次结果并计算用户态 CPU 平均值)
两次测试中, CPU 利用率均达到了 100%, 但不使用 Buffer 时, 用户态的 CPU 更高一些.
高出来这一部分, 应该就是进行额外的 Buffer/String 转换消耗掉的.
—————
2014-04-12 更新
awk 脚本中 sum/6
应该改为 sum/NR
这样更通用