NGINX壓力測試
阿新 • • 發佈:2018-10-26
centos ref n2n ets entos 代理 href 系統參數 系統
Nginx可以作為HTTP服務器和反向代理服務器。反向代理服務器取決於後端服務器的性能,這次只針對HTTP服務器做性能測試。Nginx作為服務器對於網絡的性能必然是非常依賴的,尤其是PPS轉發能力,那麽網絡增強型實例必然是首選。
在 10G 網絡帶寬下,推薦獨享實例規格族如下:規格族 ecs.sn1ne(Nginx 對內存要求不高,不需要規格族ecs.sn2ne); 在 25G 網絡帶寬下,推薦實例規格族: 規格族 C5。
測試驗證
測試方法
- 操作系統:Centos 7.3 (默認打開irqbalance)
- 測試軟件: Nginx 1.12.1
- 壓測工具:ApacheBench 2.3
測試對象
- ecs.sn1ne.4xlarge 16C/32GB
- ecs.sn1ne.8xlarge 32C/64GB
測試架構
壓測命令
32個並發命令: ab -n 100000000 -c 10 -k http://${server_ip}/
參數調整
系統參數調整
打開多隊列。
開啟 RPS。
經過測試發現,16 核的時候,不需要開啟RPS特性,就可以把所有 CPU 打滿,網絡達到極限;但是測試 32 核的時候,需要開啟 RPS。
修改文件打開數。
Nginx 參數調整。
打開多進程。Nginx默認是單work進程。
在 nginx.conf 文件中可以配置如下:
worker_processes 32;
worker_cpu_affinity auto;
增大連接數:配置 worker_connections 102400。
測試結論
sn1ne.4xlarge 的 pps 最高是 150w,此次壓測 QPS 達到了 140w。此時所有的 CPU 利用率都接近 100%。(此處的QPS是通過tsar統計的。)
sn2ne.8xlarge 的 PPS 最高是 250w,此次壓測 QPS 達到了 210w。此時所有的 CPU 利用率都接近 100% 了。
NGINX壓力測試