Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行 性能基准调校测试,这方面ab就准确很多。
Siege siege对服务器的访问次数。如果页面发生了redirect,那么siege会将跳转过的请求算成是另一个transactionAvailability: socket连接的成功率。算法是,如果页面发生了timeout,4xx,5xx,那么该请求算是失败请求,成功率就等于(所有请求-失败请求)/总请求数Elapsedtime: 所有请求耗费的时间Datatransferred:所有请求传输的数据量,包括请求的headers和content。所以这个数值可能比server端统计的数值要大一点Responsetime:平均响应时间Transactionrate:Transactions/ElapsedtimeThroughput:每秒平均传输的数据量Concurrency:平均并发的请求数Successfultransactions:所有statuscode的transactions数量Failedtransactions:所有statuscode=的transactions数量Longesttransaction:最耗时的请求时间Shortesttransaction:最短单个请求时间6、测试结果解释
Transactions:hits#完成次处理Availability:.00%#成功率Elapsedtime:68.59secs#总共使用时间Datatransferred:.76MB#共数据传输.76MBResponsetime:0.04secs#响应时间,显示网络连接的速度Transactionrate:.38trans/sec#平均每秒完成.38次处理Throughput:11.92MB/sec#平均每秒传送数据Concurrency:17.53#实际 并发连接数Successfultransactions:#成功处理次数Failedtransactions:0#失败处理次数Longesttransaction:3.12#每次传输所花最长时间Shortesttransaction:0.00#每次传输所花最短时间7、测试报告样例
测试参数测试结果模拟客户端数持续时间请求次数成功率平均响应时间平均速率实际并发s10875.00%1.09secs91.36trans/sec99.22s10963.00%2.14secs92.06trans/sec.67300s10827.00%2.68secs90.56trans/sec.58s10904.00%2.71secs91.53trans/sec.19500s10848.00%2.67secs90.82trans/sec.25
如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。关于运维学习、分享、交流,笔者开通了