## centos下安装ab
```
yum -y install httpd-tools
```
## 启用nginx status和php-fpm status 性能监控
> nginx status:可查看Nginx的一些状态信息
> php-fpm status:可查看php-fpm的一些状态信息
> 宝塔配置文件在这里:
> `vim /www/server/php/71/etc/php-fpm.conf`
> `vim /www/server/panel/vhost/nginx/phpfpm_status.conf`
```
wget -O "nginx_status" http://127.0.0.1/nginx_status|cat nginx_status
wget -O "phpfpm_71_status" http://127.0.0.1/phpfpm_71_status|cat phpfpm_71_status
```
> ``
> * **nginx status** 参数说明
> active connections – 活跃的连接数量
> server accepts handled requests — 总共处理了4个连接 , 成功创建4次握手, 总共处理了4个请求
> reading — 读取客户端的连接数.
> writing — 响应数据到客户端的数量
> waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
> * **php-fpm status** 参数说明
> pool – fpm池子名称,大多数为www
> process manager – 进程管理方式,值:static, dynamic or ondemand. dynamic
> start time – 启动日期,如果reload了php-fpm,时间会更新
> start since – 运行时长
> accepted conn – 当前池子接受的请求数
> listen queue – 请求等待队列,如果这个值不为0,那么要增加FPM的进程数量
> max listen queue – 请求等待队列最高的数量
> listen queue len – socket等待队列长度
> idle processes – 空闲进程数量
> active processes – 活跃进程数量
> total processes – 总进程数量
> max active processes – 最大的活跃进程数量(FPM启动开始算)
> max children reached - 大道进程最大数量限制的次数,如果这个数量不为0,那说明你的最大进程数量太小了,请改大一点。
> slow requests – 启用了php-fpm slow-log,缓慢请求的数量
## 压力测试
> 适合进行内网压力测试,以此排出带宽受到的影响
> -c 并发数
> -n 总请求数
> -k 启动HTTP KeepAlive
```
ab -c 20000 -n 100000 -k http://172.16.1.114/test.php
```
> 主要关注几个指标
> `QPS` `吞吐量` 这个值在并发数相等的情况下越大越好
> `TPR` `响应时间` 这个值越小越好