Github - yunsonbai/ysab
ysab 是一个可以帮助获取http服务器压力测试性能指标的工具,有点像Apache的ab。不同的是,它可以发送不同参数的请求,可以便捷地重放线上的真实请求,这样可以完全模拟线上请求,并重现性能问题,方便进一步排查
ysab 支持功能:
- 发送单条url
- 发送多条url
- 支持可变body体
- 支持GET、POST、PUT、DELETE、HEAD
ysab 安装
#linux
https://github.com/yunsonbai/ysab/releases/download/v1.0.1/ysab-linux-1.0.1.tgz
#Mac
https://github.com/yunsonbai/ysab/releases/download/v1.0.1/ysab-mac-1.0.1.tgz
下载安装:
#Mac
wget https://github.com/yunsonbai/ysab/releases/download/install-tool/install_mac -O install_mac && sh install_mac && rm -rf install_mac
#如果报权限问题请执行:
wget https://github.com/yunsonbai/ysab/releases/download/install-tool/install_mac -O install_mac && sudo sh install_mac && rm -rf install_mac
#如果安装完后不能输入 ysab 命令,可以重启终端或者执行 source /etc/profile
#linux
wget https://github.com/yunsonbai/ysab/releases/download/install-tool/install_linux -O install_linux && sh install_linux && rm -rf install_linux
#如果报权限问题请执行:
wget https://github.com/yunsonbai/ysab/releases/download/install-tool/install_linux -O install_linux && sudo sh install_linux && rm -rf install_linux
ysab 参数
查看 ysab 支持的参数:
ysab -h
如:
Options:
-r 压测轮数,总的请求量是 r * n
-n 并发数,最大900,最小1
-m HTTP method, 可选值 GET,POST,PUT,DELETE,Head,默认GET
-u Url of request, 使用 "" 括起来
例如: -u "https://yunsonbai.top/?name=yunson"
-H 添加请求头
例如:
-H "Accept: text/html" 设置 Accept
-H "Host: yunsonbai.top" 设置 Host
-H "Uid: yunson" -H "Content-Type: application/json" 设置Uid和Content-Type
-t 每个请求的超时时间,单位为秒,默认10
-d 请求体
例如: '{"a": "a"}'
-h 帮助
-v 显示版本号
-urlsfile 包含所有请求信息的文件,如果设置了该参数, -u,-d,-r 将会失效
例如:
-urlfile /tmp/urls.txt
注:-urlsfile
是实现发送携带不同参数请求的关键参数,内容如:
#get_urls.txt
-u http://127.0.0.1:8080/test?a=1&b=2
-u http://127.0.0.1:8080/test?a=3&b=4
#post_urls.txt
-u http://127.0.0.1:8080/add -d {"name":"other", "blog": "https://other.top"}
-u http://127.0.0.1:8080/add -d {"name":"yunson", "blog": "https://yunsonbai.top"}
ysab 示例
#GET
ysab -n 900 -r 2 -u http://10.10.10.10:8080/test
ysab -n 900 -urlsfile test_get_urls.txt
#POST
ysab -n 900 -r 2 -m POST -u http://10.10.10.10:8080/add -d '{"name": "yunson"}'
ysab -n 900 -m POST -urlsfile test_post_urls.txt