siege web测试工具

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a916123063/article/details/59536427

siege简介

siege工具和ab一样,siege可以模拟web托管文档的用户流量,但是与ab不同的是,siege可以对文本文件中指定的url列表运行负载测试.它还可以在执行其他请求之前让某个请求休眠,从而让你感觉某个用户在转移到web应用程序的下一个文档之前正在读取该文档.

安装siege

yum install -y siege

运行siege

模拟一个负载测试,5个用户在10秒内访问网站www.example.com.需要说明一下,使用siege时的并发被称为事务.因此我们要模拟的测试是使用siege命令让web服务器在10秒的时间内一次满足5个同时发生的事务:

//t参数以秒(S),分钟(M)或小时(H)为单位,并且数字和字母之间没有空格
siege -c 5 -t 10S http://www.example.com/ 

运行结果

Lifting the server siege...      done.

Transactions:                104 hits //已完成的事务总数
Availability:             100.00 %  //能够请求web文档的时间
Elapsed time:               9.57 secs   //完成测试所需要的总时间
Data transferred:           2.03 MB //响应中数据的总大小(不包括标头数据)(MB为单位)
Response time:              0.45 secs   //整个测试过程中的平均响应时间
Transaction rate:          10.87 trans/sec  //每秒要满足的事务总数
Throughput:             0.21 MB/sec //处理数据和响应所需的总时间
Concurrency:                4.85    //同时连接的平均数,该数字升高时服务器性能降低
Successful transactions:         104    //整个测试过程中所执行的成功事务总数
Failed transactions:               0    //整个测试过程中遇到的失败的事务总数
Longest transaction:            0.91    //满足一个请求所需要的最长时间
Shortest transaction:           0.08    //满足一个请求所需要的最短时间

分析结果

与ab结果一样,siege工具的记过也分为几个部分,具体来说,结果集的两个部分需要分析

单个请求详细信息

HTTP/1.1 200 0.17 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.10 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.15 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.20 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.21 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.08 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.17 secs: 20440 bytes ==> GET /
HTTP/1.1 200 0.17 secs: 20440 bytes ==> GET /

测试指标即运行的结果部分.

命令详解

-C  --config        显示当前配置
-q  --quiet         禁止输出过程
-g  --get           获取get请求头信息
-c  --concurrent-NUM 并发用户数  默认为10
-i  --internet      从某个文本文件中随机选择url并请求
-f  --file=FILE     url文本文件
-b  --benchmark     请求之间没有延迟
-t  --time-NUM      请求时间
-r --reps=NUM       运行的次数
-R  --rc-FILE       在siegerc指定文件
-l --log[=FILE]     记录到文件
-m --mark="text"    用字符串标记日志文件
-d --delay=NUM      时间延迟,随机延迟在每个请求
-H --header="text"  添加请求头
-A --user-agent="text" 设置请求ua表示
-T --content-type="text" 设置请求的Content-Type
展开阅读全文

没有更多推荐了,返回首页