一 nginx統計模組stub_status安裝與使用
1 編譯安裝 nginx的http_stub_status_module監控其執行狀態
2 檢視是否安裝好
3 修改 nginx 配置檔案
#開啟stub_status統計模組
location/nginx-status
4 訪問結果
引數說明
active connections: 對後端發起的活動連線數.
server accepts handled requests: nginx總共處理了38810620個連線,成功建立38810620次握手(證明中間沒有失敗的),總共處理了298655730個請求.
reading: nginx 讀取到客戶端的header資訊數.
writing: nginx 返回給客戶端的header資訊數.
waiting: 開啟keep-alive的情況下,這個值等於 active – (reading + writing),意思就是nginx已經處理完成,正在等候下一次請求指令的駐留連線.
所以,在訪問效率高,請求很快被處理完畢的情況下,waiting數比較多是正常的.如果reading +writing數較多,則說明併發訪問量非常大,正在處理過程中.
二 ab測試工具進行測試
訪問nginx首頁,請求50000次,併發數5000
ab -n 50000 -c 5000
訪問結果
請求結果 80%在1秒內響應, 5%需要 3-7秒 , 3%需要7秒, 2%需要10秒,效果不是很好.
三 nginx優化
優化思路
1 http連線快速關閉 keep_alivetime:0(高併發情況下,連線不需要保持一段時間,不用了馬上關閉) ,在nginx.conf新增keepalive_timeout 0;如圖
2 子程序允許開啟的連線( worker_connections 和 worker_limit_no_files )
在nginx.conf配置如下
3 最大連線數 somaxconn,
加快tcp連線的**recycle
空的tcp是否允許**利用 reuse
洪水攻擊 不做洪水抵禦
分別執行執行下面命令
4 設定系統可以開啟的檔案數
ulimit -n 10240
5做完這些優化後,重新用ab工具進行測試,結果如下
請求 98%在1.5秒以內響應, 2%在3.5 秒以內響應.
四 nginx優化參考
10 Nginx負載均衡
請求分發詳解 配置負載均衡伺服器集群 upstream backend對特定請求進行分發 server nginx負載均衡在分發請求的時候,缺省會採用輪詢的方式。即 請求順序 請求分發 第一次訪問 x.x.x.x 1023 第二次訪問 x.x.x.x 1024 第三次訪問 x.x.x.x 1025 ...
10 Nginx 後面有無 的區別
寫在前面的話 在 nginx 中,我們很多時候都有乙個疑問,在 proxy pass 或者 root 或者 location 後面需不需要加上 加和不加有啥區別。root alias 後面的 root 和 alias 都是指向目錄,所以後面是否存在 沒有影響 server location alia...
《一起學》系列10 Nginx入門
nginx採用了高度模組化的設計,這些模組的介面非常簡單靈活,具有良好的擴充套件性和可重用性。官方nginx共有五大型別的模組 核心模組 配置模組 事件模組 http模組 mail模組。nginx採用完全的事件驅動架構來處理業務,這與傳統的web伺服器 如apache 是不同的。傳統web伺服器中,...