## 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` `響應時間` 這個值越小越好