node服务器性能测试,nodejs 性能测试报告

日 期:2014-11-12

测试目的

测试页面的负载量

测试范围

express +ejs

helloworld 界面

测试环境

0be1f79d719f

服务器端

0be1f79d719f

客户端

0be1f79d719f

网络环境

测试准备

数据准备

无参数化或需要特殊处理字段。

脚本准备

LR编写测试脚本。

Node 安装

npm install pm2 -g --unsafe-perm (安装)

cd /data/node/resources/node-serve

npm install express

npm install ejs

npm kill

pm2 start start.js -i 8 (启动8个线程)

测试结果如下:

0be1f79d719f

Snip20141113_31.png

总结:

Node启单线程tps平均610笔/s,启8线程跑tps可达3891笔/s。

建议Node服务启动线程数与服务器核数一致。

主要瓶颈在node消耗cpu较大上,无论node迁移到单独虚拟机,还是和Jetty同台虚拟机,cpu都基本耗尽,cpu负载在8+。

测试详情

数据展示页-100vu-Node单线程

Node启单个线程(jetty+nginx+Node在一台虚拟机),模拟100用户压测TPS平均638笔/s,Cpu负载较小,node进程cpu用尽,其他资源使用较小,详细见下图:

0be1f79d719f

Snip20141113_38.png

数据展示页-200vu-Node8线程

Node启8个线程(jetty+nginx+Node在一台虚拟机),模拟200用户压测TPS平均3891笔/s,Cpu负载9,cpu使用充分(无idle)主要是Node进程消耗cpu,其他资源使用较小,详细见下图:

0be1f79d719f

Snip20141113_34.png

数据展示页-200vu-8线程-单Node

Node单台虚拟机测试200用户,TPS平均4016笔/s,平均响应时间0.049s,服务器182负载较小,cpu_usr 12%,网络流量recv左右;node服务器cpu基本用光,cpu负载8。

0be1f79d719f

Snip20141113_36.png

0be1f79d719f

Snip20141113_37.png

结论

nodejs 在内存和响应速度上的表现都非常好,但是cpu占用过高了,如果pm2 只开启6个进程,cpu的占用率会在85%以下,那么问题来了,怎么降低 CPU的使用率,在大型的项目中是怎么处理的?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值