mac siege测压

瘦欲@ 提交于 2019-12-26 19:11:38

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

mac下有很多的测压工具,不过我个人比较倾向于小巧的siege,在mac上,安装和使用都是很方便的。需要注意的是,必须保证open file足够大,不然会报too many file open错误。

查看和修改open file值

open file

使用 ulimit -n 10000 可以修改该值。不过这种修改并不是永久的,关闭终端会话,又会恢复回来。

安装

mac 安装siege很简单,brew install siege 即可。

使用

siege -h 查看siege的使用帮助

siege -h

常用使用方式为

siege -c 1000 -t 5s URL
siege -c 1000 -t 5s -f  URL_File_Name

第一种是对指定站点进行压测,第二种是对文件中包含的若干URL进行批量测试。

-c 并发数
-t 压力测试时间,可以在时间后加单位,秒(10S),分钟(10M),小时(10H)
-r 重复次数,与-t表达方式不同,但含义相同,不能与-t同时存在
-f 包含URL的文本名字
-b BENCHMARK模式,请求之间无需延迟
全部参数详解
-C,或–config 在屏幕上打印显示出当前的配置,配置是包括在他的配置文件$HOME/.siegerc中,可以编辑里面的参数,这样每次siege 都会按照它运行.
-v 运行时能看到详细的运行信息
-c n,或–concurrent=n 模拟有n个用户在同时访问,n不要设得太大,因为越大,siege 消耗本地机器的资源越多
-i,–internet 随机访问urls.txt中的url列表项,以此模拟真实的访问情况(随机性),当urls.txt存在是有效
-d n,–delay=n hit每个url之间的延迟,在0-n之间
-r n,–reps=n 重复运行测试n次,不能与 -t同时存在
-t n,–time=n 持续运行siege的时间,可带单位,秒(S),分(M),时(H),不带则默认为M
-l 运行结束,将统计数据保存到日志文件中siege .log,一般位于/usr/local/var/siege .log中,也可在.siegerc中自定义
-R SIEGERC,–rc=SIEGERC 指定用特定的siege 配置文件来运行,默认的为$HOME/.siegerc
-f FILE, –file=FILE 指定用特定的urls文件运行siege ,默认为urls.txt,位于siege 安装目录下的etc/urls.txt
-u URL,–url=URL 测试指定的一个URL,对它进行”siege “,此选项会忽略有关urls文件的设定

urls.txt文件:是很多行待测试URL的列表以换行符断开,格式为:
[protocol://]host.domain.com[:port][path/to/file]
用法举例

(以下内容为转载)

siege -c 300 -r 100 -f url.txt

说明:-c是并发量,-r是重复次数。url.txt就是一个文本文件,每行都是一个url,它会从里面随机访问的。

url.txt内容:

http://192.168.80.166/01.jpg
http://192.168.80.166/02.jpg
http://192.168.80.166/03.jpg
http://192.168.80.166/04.jpg
http://192.168.80.166/05.jpg
http://192.168.80.166/06.jpg

结果如图: 结果

结果说明
Transactions: 30000 hits //完成30000次处理
Availability: 100.00 % //100.00 % 成功率
Elapsed time: 68.59 secs //总共使用时间
Data transferred: 817.76 MB //共数据传输 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 //每次传输所花最短时间
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!