这是Linux系统下的一个测试工具,完全使用C语言实现,可以对HTTP和FTP服务器进行负载和性能测试。通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。最后,利用Siege提供的测试结果来分析性能指标或者分析他们提供的服务在不同负载条件下的性能情况,分析测试结果,找出影响系统性能的瓶颈。
一、安装下载
在linux服务器上操作
1、下载最新版本的siege
wget http://download.joedog.org/siege/siege-latest.tar.gz
2、解压并进入siege路径
tar -zxvf siege-latest.tar.gz cd siege-*/
3、编译安装
./configure make sudo make install
4、验证安装是否成功
siege -h
二、输入输出参数说明
1、输入参数:
2、输出参数:
siege示例,使用siege对ur.tencent.com进行加压(模拟20个用户同时访问,一共跑3个循环)
siege -c 20 -r 3 http://ur.tencent.com
测试结果:
输出参数解释说明:
-
- Transactions: siege对服务器的访问次数。如果页面发生了redirect,那么siege会将跳转过的请求算成是另一个transaction
- Availability: socket连接的成功率。算法是,如果页面发生了timeout,4xx,5xx,那么该请求算是失败请求,成功率就等于
(所有请求-失败请求) / 总请求数 - Elapsed time: 所有请求耗费的时间
- Data transferred: 所有请求传输的数据量,包括请求的headers和content。所以这个数值可能比server端统计的数值要大一点
- Response time: 平均响应时间
- Transaction rate:
Transactions / Elapsed time - Throughput: 每秒平均传输的数据量
- Concurrency: 平均并发的请求数
- Successful transactions: 所有status code < 400的transactions数量
- Failed transactions: 所有status code >= 400的transactions数量
- Longest transaction: 最耗时的请求时间
- Shortest transaction: 最短单个请求时间
三、siege示例:
http://ur.tencent.com/categories/7
http://ur.tencent.com/categories/7/?page=2
http://ur.tencent.com/categories/7/?page=3