Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。
Siege是一个多线程http负载测试和基准测试工具。
Siege:这是Linux系统下的一个测试工具,完全使用C语言实现,可以对HTTP和FTP服务器进行负载和性能测试。通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。最后,利用Siege提供的测试结果来分析性能指标或者分析他们提供的服务在不同负载条件下的性能情况,分析测试结果,找出影响系统性能的瓶颈。
本次环境基于Ubuntu系统root用户
使用 apt-get siege 下载安装siege。
使用 siege -h 检测是否安装成功(出现如图界面则安装成功)
-R: 指定用特定的siege配置文件来运行
-c: 模拟有N个用户在并发访问(ps:如果WEB服务器为apache的话,请不要将并发连接数设置超过200)
-r: 重复测试运行N次
-i: 随机访问-f指定的url.txt中的url列表项,以此模拟真实的访问情况(随机性)
-b: 进行压力测试,不进行延时
-A: 指定访问的user-agent
-f: 任务的URL列表
...
实战:
目标url:http://192.168.1.126/ecshop/
50个用户在并发访问
重复运行2次
结果分析:
Transactions: 完成了总的点击数
Availability: 事物的成功率
Elapsed time: 测试使用时间
Data transferred: 每个用户的传输数据量
Response time: 平均响应时间
Transaction rate: 服务器每秒处理事务的平均数
Throughput: 吞吐量
Concurrency: 实际最高并发连接数
Successful transactions: 成功事物数
Failed transactions: 失败事物数
Longest transaction: 最长的事务处理时间
Shortest transaction: 最短的事务处理时间