大家好,我是阿萨。 今天给大家介绍一款简单方便且易用的性能测试工具Siege.
Siege 是什么?
Siege是一个开源回归测试和基准测试工具。它可以使用用户定义的模拟用户数量对单个URL进行压力测试,也可以将许多URL读入内存并同时对它们进行压力测试。它的报告中记录总命中数、传输的字节数、响应时间、并发性和返回状态。Siege支持HTTP/1.0和1.1协议、GET和POST指令、cookie、事务日志和基本身份验证。它的功能可以根据每个用户进行配置。
内容介绍:
https://github.com/JoeDog/siege
下载地址:
http://download.joedog.org/siege/siege-latest.tar.gz
安装方法:Mac 为例
解压zip 包之后, 打开Terminal, 执行如下命令即可
$ ./configure
$ make
如果有老版本先卸载老版本,然后再安装新版本。
$ make uninstall
$ make install
https://github.com/JoeDog/siege/blob/master/INSTALL
其他情况,请参考官网安装方法进行安装.
Siege 常用命令:
# 200个并发对百度发送请求100次
siege -c 200 -r 100 http://www.baidu.com
# 对urls.txt中列出所有的网址进行压测
siege -c 200 -r 100 -f urls.txt
# 随机选取urls.txt中列出的网址,按照100*100的并发度进行测试
siege -c 100 -r 100 -f urls.txt -i
# 指定http请求头 文档类型
siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b
# 发送post请求,在网址后添加POST说明,并且紧跟参数在其后
siege -c 100 -r 100 http://www.baidu.com/ POST k1=v1&k2=v2
注意事项:先决条件
要启用HTTPS支持,您必须在系统上同时安装openssl和openssl-devel。
要启用gzip传输编码,你需要在你的系统上同时安装zlib和zlib-devel。
所有先决条件必须在编译时安装。如果你在编译完siege之后添加了库,你必须重新运行./configure、make和install。
Siege的先决条件不是依赖性。如果这些库不存在,应用程序仍将编译并运行。它只是不包含这些功能。
参数:
-V,——version 版本号。
-h,——help 帮助
-C,——config 显示当前配置。
-v,——verbose 将通知打印到屏幕。
-q,——quiet 关闭verbose并抑制输出。
-g,——get 下拉HTTP头并显示事务。非常适合应用程序调试。
-c,——concurrent=NUM 并发用户,默认为10
-r,——reps=NUM 运行测试的次数。
-t,——time=NUMm 定时测试,其中“m”是修饰符 S, m或H时间=1H, 1小时测试。
-d,——delay=NUM 时间延迟,每次请求前的随机延迟
-b,——benchmark 请求之间没有延迟。
-i,——internet 用户模拟,随机命中url。
-f,——file= file 选择指定的url文件。
-R,——rc=FILE 指定一个siegerc文件
-l,——log[=FILE] 日志到文件。如果未指定FILE,则使用default: PREFIX/var/siege.log
-m,——mark="text" 用字符串标记日志文件。在0.001到NUM之间(未计入统计数字)
-H,——header="text" 添加一个请求头(可以是多个)
-A,——user-agent="text" 设置请求中的user-agent
-T,——content-type="text" 设置请求中的内容类型
END