美文网首页
Node.js中使用siege性能测试(Windows中以Exp

Node.js中使用siege性能测试(Windows中以Exp

作者: danieldai | 来源:发表于2018-12-15 11:25 被阅读105次

一、node.js性能测试
express的restful接口测试代码:https://github.com/dpc761218914/express_restapi
使用siege.js性能测试,代码如下:

代码.jpg
1、先安装siege模块:

npm install siege
2、在项目根目录下新建一个benchmark.js文件,写具体代码如下(以Express为例):
var siege = require('siege')
siege('node bin/www')// node bin/www为服务启动脚本
.wait(3000)//延迟时间
.on(3000)//被压测的服务端口
.concurrent(100)//并发数
.for(100).times //或者.seconds
.get('http://127.0.0.1:3000/users')//需要压测的页面
.attack()//执行压测
3、在项目根目录启动benchmark.js文件
node benchmark.js

解释:

.wait 中的值为ms,表示执行服务启动脚本后多长时间进行压测,大小取决于服务完全启动的时间;
.on 表示siege要压测的端口,值和服务启动的端口号保持一致;
.concurrent 表示压测的并发数;
.for 定义压测的次数或时间,次数使用times,时间使用seconds;
.get 表示使用get的方式访问赋给它的url,也可为post方式(.post(‘/login’, {user: username, passwd:pwd})),另外还可以同时压测多个页面;
.attack() 开始执行压测。
当需要压测的页面需要cookie时,siege.js还支持:.withCookie。

3、启动node benchmark.js文件

node benchmark.js

4、项目运行效果,这里访问一个获取用户信息的请求


siege.jpg

5、测试对比如下:(本地运行,我的笔记本性能如下:intel i7,内存8G,测试的接口从MongoDB中读取数据)

数据接口在Postman中的情况.jpg

5.1,并发数不同,请求次数相同,下图分别设置如下:

(1)并发数100,请求次数1000
(2)并发数10,请求次数1000
结果对比:响应时间2比1有将近10倍的差距。


测试对比.jpg

(3)并发数1000,请求次数1000,(执行花费了10S,且响应时间明显上升,平均为4S)


并发数1000.jpg
(4)并发数10000,请求次数1000,(执行花费了26S,且平均响应时间超过20S)
并发1万.jpg
从结果看的结论:在请求次数一致的情况下,并发数对系统性能影响特别大。

5.2,并发数相同,请求次数不同,下图分别设置如下:

(1)并发数10,请求次数100
(2)并发数10,请求次数1000
结果对比:并发数相同的情况下,请求1000的请求次数比100的性能更好。(很奇怪)


测试对比.jpg

那再进行第三组实验:
(3)并发数10,请求次数10000
一万条请求次数,20秒左右可以跑完。
结果显示:一万条测试条数性能更好。


测试3.jpg
(4)并发数10,请求次数100000(结合上面的表现,就不得不进行第四组实验了)
一万条请求次数,8分钟秒左右可以跑完,没有出错。
结果显示:一万条测试条数性能更好。
QQ截图20181215132822.jpg
从结果看的结论:并发数较小的情况下,请求次数对系统性能影响不大。

参考CSDN博客:https://blog.csdn.net/lshemail/article/details/79298357

相关文章

  • Node.js中使用siege性能测试(Windows中以Exp

    一、node.js性能测试express的restful接口测试代码:https://github.com/dpc...

  • 分析性能

    我们可以使用基准测试工具,例如Apache Bench和Siege找出性能问题.从中可以看出性能问题.如果性能问题...

  • Siege性能测试

    “Siege”意为围攻、包围。是一款使用纯C语言编写的开源WEB压测工具,适合在GNU/Linux上运行,具有较强...

  • 性能测试工具Siege 简介

    大家好,我是阿萨。 今天给大家介绍一款简单方便且易用的性能测试工具Siege. Siege 是什么? Siege是...

  • Siege高性能压测工具

    前言 Siege是一款高性能的Http压力测试工具。Siege支持身份验证、cookies、http、https和...

  • Siege---Linux性能压测工具及结果分析

    @[性能测试,yoyoyang] 安装 下载siege从http://download.joedog.org/官网...

  • 性能测试之siege

    一、siege介绍 Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配...

  • 12、Linux中使用Jmeter

    Jmeter进行性能压测时,最好是在linux系统中进行测试。因为在windows系统中,使用的是GUI模式。而G...

  • create-react-app搭建react项目

    我的电脑是Windows10系统,在使用react之前需安装node.js,在node.js中自带npm,另外还需...

  • ab和siege

    ab和siege ab 简介 Apache Benchmark(简称ab) 是Apache安装包中自带的压力测试工...

网友评论

      本文标题:Node.js中使用siege性能测试(Windows中以Exp

      本文链接:https://www.haomeiwen.com/subject/rboohqtx.html