1 测试环境
1.1 服务器硬件
待测试主机采用的是AWS 云服务器选择了两款测试
1.1.1 t2.micro
t2.micro 性能突进性EC2,也就是AWS global免费套餐那款服务器,配置如下:
t2.micro 性能突进性EC2,也就是AWS global免费套餐那款服务器,配置如下:
型号 |
vCPU |
ECU |
内存 |
存储 |
网络性能 |
价格(小时) |
t2.micro |
1 |
变量 |
1 |
仅限 EBS |
低到中等 |
0.0945 |
单核1G,CPU性能为0.45ECU,性能突进时可以达到2ECU。网络性能据说20Mbps~100Mbps
PS:EC2 计算单位 (ECU) – 一个 EC2 计算单位 (ECU) 相当于一个 1.0-1.2 GHz 2007 Opteron 或 2007 Xeon CPU 的计算能力。
1.1.2 c5.large
然后选了一台c5.large进行评估
型号 |
vCPU |
ECU |
内存 |
存储 |
网络性能 |
价格 |
c5.large |
2 |
9 |
4 |
仅限 EBS |
高达 10Gb |
0.493 |
双核4G,性能可以达到9ECU
1.1.3 压力机
压力机为同一可用区的内的另一台c5.large。
1.2 测试工具
1.2.1 测试端
主要采用ab工具进行测试。ab工具可以跑到20000万的并发,对于单机测试已经够用了。
关于ab工具使用可参考另一篇博客:https://www.jb51.net/article/231502.htm
1.2.2 服务器监控
服务器端监控主要采用AWS后台cloudwatch服务,在自己top 工具查看cpu 内存的使用情况。
关于top命令使用可以参考另一篇博客:
1.3 测试方法
在express 框架 app.js 直接添加一个test路由并直接返回res.end()。
2 测试数据
2.1 c5.large
我们可以看从图中看出并发量在2000时,平均响应时间在874.725ms,QPS在2286.43左右,在一台300多/月左右2核4G服务器上,express框架本身性能表现还不错。
2.2 t2.micro
我们可以看从图中看出并发量在300时,平均响应时间在189.191ms,QPS在1585.7左右,70块/月T2在性能突进的情况数据数据挺好,但也可以从图中看出并发量在1000以后,整体性能表现就不是很稳定了。
3 相关文档
估计物联网设备并发量整理的blog:
https://www.jb51.net/article/231516.htm
压力测试工具ab:
https://www.jb51.net/article/231502.htm
压力测试的指标及方法:
https://www.jb51.net/article/231518.htm
以上所述是小编给大家介绍的使用node+Express测试服务器性能,希望对大家有所帮助。在此也非常感谢大家对w3xue网站的支持!