apache ab(Apache Bench)性能测试工具,这是[apache]免费自带的性能测试工具,就在apache的bin目录下,它能模拟多个并发请求,也就是说它主要是用来测试你的apache每秒能处理多少请求的。
命令文档
1 | Usage: ab [options] [http[s]://]hostname[:port]/path |
命令-结果
第一组测试数据,替换对应域名(FPM 子进程上限 200)
1 | [xxx@server ~]# ab -n4000 -c100 https://www.baidu.com/index |
第二组测试数据,替换对应域名(FPM 子进程上限 200)
1 | [xxx@server ~]# ab -n4000 -c200 https://www.baidu.com/index |
第三组测试数据,替换对应域名(FPM 子进程上限 200)
1 | [xxx@server ~]# ab -n4000 -c250 https://www.baidu.com/index |
第四组测试数据,替换对应域名(FPM 子进程上限 200)
1 | [xxx@server ~]# ab -n4000 -c300 https://www.baidu.com/index |
第五组测试数据,替换对应域名(FPM 子进程上限 400)
1 | [xxx@server ~]# ab -n4000 -c300 https://www.baidu.com/index |
结果分析
服务器每秒能处理的请求上限为 20 个,平均单个请求的响应速度在 48ms,带宽流量 3.6MB/秒(服务器上限25MB),内存总占用在60%-90%区间,CPU一直处于90%以上(双核 只要超过2个并发CPU负载都会高于80%),每秒并发超过 200 以上的情况下,开始出现部分请求异常无法处理。
方案
加大CUP个数,设置 PHP-FPM 静态方式开启进程数量 200 个最为合适。或购置更多服务器。