NGINX並發量優化
一、壓力測試
命令:ab -c 2000 -n 2000 web服務器的地址
ab:壓力測試工具
-c:client縮寫,客戶端的數量
-n:總的訪問量,所有客戶端總共的訪問量。
地址:域名或者IP地址,但是注意不管是域名還是IP地址,后面必須加上“/”。如:http://192.168.0.6/
二、並發量優化
2.1、修改nginx配置文件
修改nginx運行時打開的進程數,這個值和cpu的核數有關,保持和CPU的核數一致。
如上述可見,cpu的核數不同,nginx並發量優化時,work_processes值和CPU的核數保持一致。
客戶端最大連接數優化,這個值默認為1024,這也是ab -c 2000 -n 2000 http://192.168.0.201/報錯的原因。修改為65535,一個不可能達到的值。
2.2、修改系統限制(內核參數)
這兩個值的修改命令
臨時修改,立即生效,無需重啟。
ulimit -Hn 50000 #臨時有效,重啟后恢復默認值1024
ulimit -Sn 50000 #臨時有效,重啟后恢復默認值1024
-H:硬修改,修改后打開文件數不能超過這個數
-S:軟修改,修改后打開文件數可以超過這個數
-n:這個上圖中50000數值錢那個括號里面的-n
永久修改,重啟生效,需重啟服務器。
修改配置文件,/etc/security/limits.conf
三、優化后的測試。
未優化前,並發量超過2000,就會報錯。提示打開過多的文件。