用「Web压测」关键词检索,能找到好多进行压测的工具,比如ab、Http_load、Webbench、Siege这些,不过今天并不是要对这些工具做对比,毕竟我们只是想得到一个结果。本文主要介绍Siege,因为Siege是上面四者中,在Mac上安装和使用最便利的,所以果断就是它了!
准备工作
在压测开始前,你需要确保你的open files
足够大,否则会报TOO MANY FILES OPEN
错误,可以通过ulimit -a
查看,如下图:
使用ulimit -n 10000
可以修改该值。不过这种修改并不是永久的,关闭终端会话,又会恢复回来。
安装
brew install siege
使用
siege -c 1000 -t 5s URL
siege -c 1000 -t 5s -f URL_File_Name
上面是siege
的两种使用方法,第一种是对指定站点进行压测,第二种是对文件中包含的若干URL进行批量测试。
-c
并发数-t
压力测试时间,可以在时间后加单位,具体查帮助,上面表示的是压测时间持续5秒-r
重复次数,与-t
表达方式不同,但含义相同,设一个即可-f
包含URL的文本名字-b
BENCHMARK模式,请求之间无需延迟
输出结果
- Transactions 总测试数
- Availability 成功率
- Elapsed time 总用时
- Data transferred 总共传输数据
- Response time 响应耗时
- Transaction rate 每秒处理请求数
- Throughput 平均每秒传输数据量
- Concurrency 实际最高并发
- Successful transactions 成功处理次数
- Failed transactions 失败处理请求数
- Longest transaction 传输所花最长时间
- Shortest transaction 传输所花最短时间
最后说明下 Siege 能支持GET/POST两种请求,不过格式略有区别,并且上面罗列的只是Siege的部分参数,Siege还有很多其它参数,请一并参考手册。
时间: 2024-12-08 18:53:36