Nginx

將 nginx worker 設置得太高的負面影響

  • October 30, 2014

我看過很多建議如何設置 nginx 的文章worker_processes,但很少詳細說明當設置太高時會發生什麼。我即將執行一些基準測試,但我會很感激關於我應該期待什麼的建議。如果我有一個可用於 nginx 的核心(兩個硬體執行緒),如果我worker_processes從 2 更改為 24,哪些指標會受到影響?

在我的腦海中,我預計 CPU 爭用會導致吞吐量降低和延遲增加。它是否正確?任何其他指標是否會受到明顯影響——我還應該進行哪些基準測試?

worker_processes指令確定 nginx 將從您的主程序產生多少子程序/分叉。僅當您有 24 個 CPU 核心(或者在超執行緒 (HT) 技術的情況下,至少有 24 個虛擬 CPU 核心,但仍然是 12 個核心)時,24 個程序才有意義。

CPU 爭用

當然,是的,這將是你最大的問題。

任何其他指標是否會受到明顯影響——我還應該進行哪些基準測試?

您的作業系統也必須管理這些程序。您的整體性能將受到影響,並且它應該在記憶體使用中明顯可見(儘管不多)。

如果您進行基準測試,請增加每個程序允許處理的連接數量。這將增加您的吞吐量,但不會通過簡單地向硬體拋出越來越多的程序來增加硬體的負載。

引用自:https://serverfault.com/questions/640698