siege是一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
环境:centos 6.4 私有服务器 官网地址:http://download.joedog.org/siege/
1.下载:wget http://download.joedog.org/siege/siege-4.0.4.tar.gz
2.解压、配置安装
tar xzvf siege-4.0.4.tar.gz
编译、安装
cd siege-4.0.4
./configure
make && make install
注意:如果没有安装编译工具,请先安装 sudo apt-get install build-essential
3.创建配置文件(也可以不创建)
siege.config
修改配置文件
打开~/.sige/sige.conf文件,修改logfile选项
logfile=$(HOME)/sige.log
4.配置环境变量 正常的话都是默认加入环境变量的,但是我的可能是私有服务器的原因需要配置环境, 配置过程如下: 首先:执行siege -v 发现报错,bash:siege:command not found
接着:查看下siege的执行文件位置: whereis siege
找到了之后就添加把: 执行命令:
vi /etc/profile
添加如下:
修改完成之后保存退出,运行 source /etc/profile
让其立即生效!
再次运行成功了。
-h帮助
-c 指定并发数(是真并发)
-r 指定重复次数
-d 指定请求的延迟时间,注意每个请求间的随机延迟(模拟用户的思考时间,最多延迟一分钟,其他都是随机默认在一分钟之内)
-f 指定url列表,可以一次给多个地址加压(多用于翻页的Url测试)
-t 指定用例执行时间,比如,-t 10s,-t 1M(H)之类(主要用于稳定性性测试,长时间进行加压,最容易发现内存泄露的问题)
-g 获取请求的headers信息并打印出来,debug专用
-H指定请求的headers信息
-l或者–log=[File]指定测试结果的路径
用法示例
siege -c 50 -r 100 -u http://192.168.91.100
5、结果说明
** SIEGE 2.72 ** Preparing 300 concurrent users for battle. The server is now under siege… done. Transactions: 30000 hits //完成30000次处理 Availability: 100.00 % //100.00 % 成功率 Elapsed time: 68.59 secs //总共使用时间 Data transferred: 817.76 MB //总数据传输(不包含头数据)***** Response time: 0.04 secs //平均响应时间 Transaction rate: 437.38 trans/sec //平均每秒完成 437.38 次处理****** Throughput: 11.92 MB/sec //平均每秒传送数据 Concurrency: 17.53 //实际最高并发连接数 Successful transactions: 30000 //成功处理次数 Failed transactions: 0 //失败处理次数 Longest transaction: 3.12 //满足一个请求所需最长时间***** Shortest transaction: 0.00 //满足一个请求所需最短时间 ****** Data transferred部分包含每个请求收到的响应的总大小(MB)。
Transaction rate帮助我们了解当Web服务器在我们命令指定的负载下运行时可以满足的并发事务数(同时发生的请求)。
hhtps参考文献:https://www.jianshu.com/p/74c465ff136f