ab压力测试
Apache Bench安装与使用
Apache Bench简介
ApacheBench 是 Apache 服务器自带的一个web压力测试工具,简称ab。ab又是一个命令行工具,对发起负载的本机要求很低,根据ab命令可以创建很多的并发访问线程,模拟多个访问者同时对某一URL地址进行访问,因此可以用来测试目标服务器的负载压力。总的来说ab工具小巧简单,上手学习较快,可以提供需要的基本性能指标,但是没有图形化结果,不能监控。安装
windows下安装
下载地址:https://www.apachelounge.com/...
以管理员身份运行cmd,命令行进入到Apache的bin目录,输入 httpd -k install 完成安装。在apache的bin目录下测试。
#### 修改Apache 端口
如果是windows部署,多数情况下80端口已经被iis占用了,这时候需要修改conf/httpd.conf 找到listen 80 改为你要设置的端口,如: 8090
Ubuntu下安装
sudo apt-get install apache2-utils
Apache Bench使用
格式:ab [options] [http://]hostname[:port]/path 参数很多,一般我们用 -c 和 -n 参数就可以了 ab -n 1000 -c 100 https://www.baidu.com/ #注意这里最后的斜杠一定要加 -n 表示测试请求数目 -c 表示并发度 -t timelimit 测试时间限制,单位秒 -s timeout 每个请求时间限制,单位秒 -v verbosity 日志输出级别,可以选择1, 2等,调试使用 -T content-type POST/PUT接口的content-type -p postfile POST请求发送的数据文件
结果分析
Concurrency Level: 1000 | 并发度 |
---|---|
Time taken for tests: 1.190 seconds | 总时间, 处理1000个并发请求总共花了1.19秒, |
Complete requests: 1000 | 完成的请求数量 |
Failed requests: 0 | 失败次数 |
Write errors: 0 Non-2xx | |
responses: 1000 | 响应了1000次 |
Total transferred: 164000 bytes | 总共传输了多少流量 HTML |
transferred: 0 bytes | 传递了多少字节 |
Requests per second: 840.58 [#/sec] (mean) | QPS, 每秒完成的请求数目 , 是系统最重要的指标 |
Time per request: 1189.651 [ms] (mean) | 每组请求用时 |
Time per request: 1.190 [ms] (mean, across all concurrent requests) | 每个请求实际运行时间的平均值 ms是毫秒 |
Transfer rate: 134.62 [Kbytes/sec] received | 传输速率 可以帮助排除是否存在网络流量过大导致响应时间延长的问题 |
测试POST请求
以x-www-form-urlencoded形式发送
ab -n 1000 -c 100 -p post.txt -T 'application/x-www-form-urlencoded' http://www.test.com/test/api
注: post.txt文件内容: name=hello,world
以multipart/form-data形式发送
ab -n 1000 -c 100 -p post.txt -T 'multipart/form-data; boundary=--WebKitFormBoundaryE19zNvXGzXaLvS5C' http://www.test.com/test/api
总结
吞吐率(Requests per second),缩写RPS,是服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大的请求数,称之为最大吞吐率。
性能测试得到的最重要的指标就是QPS(Query per second),每秒查询率,qps相当于最大吞吐率。反映了接口的并发承受能力,也就是系统的峰值性能。如果对接口的调用超过了这一限制,就要考虑提升硬件或者做一些优化了。
相关推荐
拼命工作好好玩 2020-08-03
swiftwwj 2020-07-21
云中舞步 2020-11-12
杨德龙 2020-11-11
JohnYork 2020-10-16
wangzhaotongalex 2020-09-22
xiaoseyihe 2020-11-16
不要皱眉 2020-10-14
Crazyshark 2020-11-13
K先生 2020-11-10
momode 2020-09-11
思君夜未眠 2020-09-04
点滴技术生活 2020-08-21
MaggieRose 2020-08-19
kevinweijc 2020-08-18
wintershii 2020-08-17
vapaad 2020-08-17
wera00 2020-08-17
移动开发与培训 2020-08-16