压测工具siege的安装和使用

安装

首先安装openssl模块

yum install openssl openssl-devel


1、下载: wget http://download.joedog.org/siege/siege-4.0.8.tar.gz (具体版本到官网上面看)

2、安装解压:tar zxvf siege-3.0.8.tar.gz

3、进入到解压后的目录:siege-3.0.8,运行命令:./configure –with-ssl=ssl安装位置

我的是–with-ssl=/usr/include/openssl,不确定的可以执行查找命令find / -name ssl.h,ssl.h所在的文件夹就是

4、执行命令:make

5、执行命令:make install

siege -help 出现很多信息说明就安装成功了

介绍
-V, –version 打印版本信息
-h, –help 打印帮助信息
-C, –config 显示配置信息
-v, –verbose 打印冗余配置信息。
-g, –get 显示HTTP交易。
-c, –concurrent=NUM 设置并发用户数
-u, –url=”URL” 设置被测Web的URL
-i, –internet 用户模拟、随机访问URL
-b, –benchmark . 基准测试。
-t, –time=NUM 设置测试时间。
-r, –reps=NUM 设置测试次数
-f, –file=FILE 更改配置文件存档
-R, –rc=FILE 更改siegerc文件和环境变量
-l, –log 测试日志
-m, –mark=”text” 标记测试日志
-d, –delay=NUM 设置时间延迟
-H, –header=”text” 增加测试头文件
-A, –user-agent=”text” 设置代理测试请求
输出参数说明:

输出名称 解释说明
Transactions: 访问次数
Availability: 成功次数
Elapsed time: 测试用时
Data transferred: 测试传输数据量
Response time: 平均响应时间
Transaction rate: 每秒事务处理量
Throughput: 吞吐率
Concurrency: 并发用户数
Successful transactions: 成功传输次数
Failed transactions: 失败传输次数
Longest transaction: 最长响应时间
Shortest transaction: 最短响应时间
使用
-c:并发数,默认为10;

-t:压力测试时间;如-t10表示持续时间是10分钟;

-r:每个连接发出的请求数量,与t类似,所以设置了-r的值就不需要再设置t了,反之亦然;

说明:siege -c1 -r2 http://www.baidu.com -c1表示一个并发数,-r2表示URL请求2次。

-f:对应一个文件,这个文件里每一行为一个URL链接,

格式如下:

http://www.baidu.com/123

http://www.baidu.com/1234

http://www.baidu.com/123/abc

这些参数我用的比较多,就介绍这么多。

siege的使用:

A、200个用户并发访问一个网站页面www.baidu.com/aaa,持续时间为5分钟;

Siege -c200 -t5 http://www.baidu.com/aaa

Siege -c200 -r5 http://www.baidu.com/aaa 表示200用户循并发访问该网站,重复环5次;

对多个页面进行并发访问:

新建一个文件(如urls),里面的内容为:

http://www.baidu.com/aaa

http://www.baidu.com/bbb

http://www.baidu.com/ccc/abc

Siege -c200 -t5 -f urls

表示200个用户并发访问urls文件里面的URL地址,持续时间为5分钟;

siege -c 300 -r 2 -f /work/siege/siege.txt;

表示300用户并发访问文件siege.txt里面的URL地址,重复循环2次;

并发测试结果:

Transactions: 4 hits 完成4次处理
Availability: 100.00 % 成功率
Elapsed time: 1.19 secs 总共用时
Data transferred: 0.03MB 共数据传输:0.03MB

Response time: 0.13 secs 相应用时0.13秒,显示网络连接的速度
Transaction rate: 3.36 trans/sec平均每秒完成3.36次处理,表示服务器后台处理的速度
Throughput: 0.03MB/sec 平均每秒传送数据:0.03MB
Concurrency: 0.45 最高并发数 0.45
Successful transactions: 4成功处理次数
Failed transactions: 0 失败处理次数

Longest transaction:0.25请求最长响应时间/每次传输所花最长时间

Shortest transaction:0.09请求最短响应时间/每次传输所花最短时间
注意:由于速度很快,可能会达不到并发速度很高就已经完成。Response time显示的是测试机器和被测试服务器之间网络链接状况。Transaction rate则表示服务器端任务处理的完成速度。

增量压力测试

Siege包含的辅助工具:bombardment(1);

使用样例:

Bombardment siege.txt 5 3 4 1

表示:初始化URL列表siege.txt,初始化为5个用户,每次增加3个用户,运行4次,每个客户端之间的延迟为1秒或每次循环之间的延迟为1秒;

结果为csv格式:

输出成CSV格式:
siege2csv.pl (1)
siege2csv.pl将bombardment的输出变成CSV格式:
Time Data Transferred Response Time Transaction Rate Throughput Concurrency Code 200 (note that this is horribly broken.)
242 60.22 603064 0.02 4.02 10014.35 0.08
605 59.98 1507660 0.01 10.09 25136.05 0.12
938 59.98 2337496 0.02 15.64 38971.26 0.26
1157 60 2883244 0.04 19.28 48054.07 0.78

在压力测试时可以使用命令top查看系统CPU、内存使用情况;也可以使用工具nmon、sar监控服务器性能;


当并发数目设置很大时候

WARNING: The number of users is capped at 255. To increase this
limit, search your .siegerc file for ‘limit’ and change
its value. Make sure you read the instructions there…
修改配置文件一定要找对配置文件

/usr/local/etc
文件夹下面有一个 siegerc 文件, vim 修改这个255

原文链接:https://blog.csdn.net/yangxiaodong88/article/details/79850687

发表回复

您的电子邮箱地址不会被公开。