命令行压测工具ab及wrk

 

 

虽然 jmeter 提供 UI 界面,但是其压测脚本也依赖 UI 界面,导致其无法在 Linux 服务器上直接编辑写脚本,只有编写好脚本后再传到 Linux 服务器。
关于对于压测工具的选择:

如果你想做场景的压测,而不是单个接口的压测
可使用 jmeter 或 locust,支持接口串联,接口 body 参数化,思考时间等复杂场景
如果你压测要求的并发比较高,需要使用分布式压测
可使用 jmeter 或 locust
如果你关注接口的返回,多维度压测报告统计
jmeter,jmeter,jmeter
如果想尽快编写接口,只关注接口的发送,造成的 QPS 和错误率
可使用 wrk 或 ab

ab常用案例:

1.post请求带Header

ab -n 10 -c 5  -p  /usr/local/codes/ab/request.txt  -T  application/json  -H "authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzeXN0ZW1GbGFnIjoic2Fhcy1jbGllbnQiLCJ1c2VySW5mbyI6eyJ1c2VyRnJvbSI6IlNBQVMiLCJwaG9uZU51bWJlciI6IjE1OTE2Njk3OTczIiwib3BlbklkIjoiMDBwdGJuZDEzNTM4NDgwMDUxNzAxNzYxMzY0MzUwMTciLCJ1c2VyTmFtZSI6IumDkeWfueeDgSJ9LCJjbGllbnRJZCI6IjhhZjMzYjkyMGYyZjQyMmI4ZjhlMzNkMDlhMjg4ZWM3IiwiY2xpZW50SXAiOiIxMjUuODguOC4xNjUiLCJleHBpcmUiOjg2NDAwLCJjaGFubmVsIjoicGMtd2ViIiwiY2xpZW50QWRkcmVzcyI6IuW5v-S4nOecgSDlub_lt57luIIiLCJ2ZXJzaW9uIjoiMi4wIiwianRpIjoiMjUxMDNjMjMtNTM0Ny00ZWFkLTllNWYtZjllOTRjNTgzYjFlIiwidXNlcktleSI6IjE1OTE2Njk3OTczI3BjLXdlYiNzYWFzLWNsaWVudCJ9._606WZF-2Dc5DuH10C322396CARTSEGIhn2B5y7JtxM" -H "content-type:application/json" -H "Tenantid: 2951baabc1c442cf901402bd0a34d682"  "https://pet-saas-aigc.bndxqc.com/thinker/api/v1/knowledge-center/page"

备注:/usr/local/codes/ab/request.txt为请求参数, -n测试会话中所执行的请求个数, -c一次产生的请求个数(即并发个数) ,-T指定请求的内容类型(post数据所使用的Content-Type头信息) ,   -H请求的Header

 

2.get请求

ab -c 10 -n 10 http://www.test.api.com/?gid=2

生成html报告:   ab -c 10 -n 10 http://www.test.api.com/?gid=2 >> ./test.html

 

 

 

 

 

 

 

相关链接:

https://blog.csdn.net/qq_45037155/article/details/130722032 ..........................ab安装及参数说明 ,常见压测工具对比

https://blog.csdn.net/hanjihun88/article/details/105635073..............................ab介绍,ab教程2, ab教程3

posted on 2024-02-01 19:19  chen_2987  阅读(27)  评论(0编辑  收藏  举报

导航