1. 程式人生 > >NGINX壓力測試

NGINX壓力測試

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壓力測試