ab压力测试学习

压力测试有很多工具,但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人同时在线。

一般来说,我测试时,会选择总共请求数正好是每次并发数的两倍,这样测试效果比较好。


猜你喜欢

转载自xieye.iteye.com/blog/2430855