压力测试工具Siege详解

简介

Siege是一个多线程http负载测试和基准测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过

程的相应时间,并在一定数量的并发访问下重复进行。


安装

直接到官网(http://www.joedog.org)下载最新安装包。

wget -c http://download.joedog.org/siege/siege-latest.tar.gz
tar xvf siege-latest.tar.gz
# 我下载的是4.0.4版本的
cd siege-4.0.4
# 指定安装目录/usr/local/siege/
./configure --prefix=/usr/local/siege/
make && make install

使用

Siege可以快读地读取web请求的HTTP头。如果想查看这些HTTP头,请使用siege –g URL命令。

下面再看看用Siege做压力测试的示例:

#模拟50个用户,web请求间隔时间10秒
siege -d10 -c50 https://www.baidu.com

需要注意的是-d参数中指定10秒代表请求的间隔时间在0到10秒之间。

返回结果:

Transactions:                    785 hits            // 一共执行785次请求
Availability:                 100.00 %               // 成功率100%
Elapsed time:                   8.48 secs            // 总共花费8.48秒
Data transferred:               7.20 MB              // 总共传输数据量7.20M
Response time:                  0.09 secs            // 请求响应时间0.09秒
Transaction rate:              92.57 trans/sec       // 每秒完成92.57次请求
Throughput:                     0.85 MB/sec          // 每秒传输数据0.85M
Concurrency:                    8.21                 // 实际并发数
Successful transactions:         785                 // 成功的请求数
Failed transactions:               0                 // 失败的请求数
Longest transaction:            5.20                 // 最长响应时间
Shortest transaction:           0.01                 // 最短响应时间
在实际的测试中,需要测试的页面不止一个。只要把这些网址放在家目录指定的文本文件中,每行一个网址(~/etc/urls.txt)或者通过-f 参数指定文本位置。在测试的时候调用这个文本,使用-i参数随机抽取urls列表中的网址。

siege -d10 -c50 -i -f test.txt

更多的参数解析,执行以下命令查看具体用法:

/usr/local/siege/bin/siege -h




你可能感兴趣的:(其他)