工作中正好需要对网站进行相应并发测试,使用siege工具进行测试。siege可以对单个的页面进行测试,也可以动态随机的对存储在csv中的url进行测试,随机测试好处是可以避免网站缓存,测试结果更精确。
安装
$ sudo apt install siege
Siege命令常用参数
-c 200 指定并发数200
-r 5 指定测试的次数5
-f urls.txt 制定url的文件
-i internet系统,随机发送url
-b 请求无需等待 delay=0
-t 5 持续测试5分钟
# -r和-t一般不同时使用
几个常用的列子
# 模拟10秒内每秒访问20次
$ sudo siege http://web.meilapp.com/products -c20 -t10s
# 200个并发对http://www.google.com发送请求100次
$ siege -c 200 -r 100 http://www.google.com
# 在urls.txt中列出所有的网址
$ siege -c 200 -r 100 -f urls.txt
# 随机选取urls.txt中列出所有的网址
$ siege -c 200 -r 100 -f urls.txt -i
# delay=0,更准确的压力测试,而不是功能测试
$ siege -c 200 -r 100 -f urls.txt -i -b
# 指定http请求头 文档类型
siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b
Siege输出结果说明
这里使用了多个url存储在csv文件中,并随机发送url,并发200,测试1次和50次的输出结果见截图。