压力测试有很多工具,但ab是最简单的。
ab是apache自带的压测工具。
命令:
ab -n 100 -c 50 http://192.168.99.100/test.php
解释一下,ab命令最主要就上面两个参数,平时基本就够用了。
-n 总共发出多少个请求。
-c 一次同时会发送多少个。
比如上面的命令,一次同时发送50个,总共发送100个请求。实际上很简单,就是总共发送2次。
主要输出是如下
Concurrency Level: 50 每次并发数
Time taken for tests: 1.872 seconds 总共时间
Complete requests: 100 总共正常完成的请求
Failed requests: 0 总共未完成的请求,当增加每次并发,必然发生
Total transferred: 15400 bytes
HTML transferred: 100 bytes
Requests per second: 53.42 [#/sec] (mean) 每秒完成的请求数,
Time per request: 936.000 [ms] (mean) 单次请求完成时间,
Time per request: 18.720 [ms] (mean, across all concurrent requests)
Transfer rate: 8.03 [Kbytes/sec] received 每秒网络流量。
解释上面的输出,
最重要的是第一个 Time per request,这是程序员比较关心的。服务器完成单个请求花费的时间,936毫秒。
第2个Time per request 意义不大,不用管。
其次,通过增加每次并发数(即增大压力),逐渐的会发现有失败请求出现。在没有失败的最大并发数,也就是你的服务器的并发处理能力了,
我在本机电脑实测docker,并发大约在200左右,可粗略理解为200人同时在线。
一般来说,我测试时,会选择总共请求数正好是每次并发数的两倍,这样测试效果比较好。
ab压力测试学习
猜你喜欢
转载自xieye.iteye.com/blog/2430855
今日推荐
周排行