Nginx
將 nginx worker 設置得太高的負面影響
我看過很多建議如何設置 nginx 的文章
worker_processes
,但很少詳細說明當設置太高時會發生什麼。我即將執行一些基準測試,但我會很感激關於我應該期待什麼的建議。如果我有一個可用於 nginx 的核心(兩個硬體執行緒),如果我worker_processes
從 2 更改為 24,哪些指標會受到影響?在我的腦海中,我預計 CPU 爭用會導致吞吐量降低和延遲增加。它是否正確?任何其他指標是否會受到明顯影響——我還應該進行哪些基準測試?
該
worker_processes
指令確定 nginx 將從您的主程序產生多少子程序/分叉。僅當您有 24 個 CPU 核心(或者在超執行緒 (HT) 技術的情況下,至少有 24 個虛擬 CPU 核心,但仍然是 12 個核心)時,24 個程序才有意義。CPU 爭用
當然,是的,這將是你最大的問題。
任何其他指標是否會受到明顯影響——我還應該進行哪些基準測試?
您的作業系統也必須管理這些程序。您的整體性能將受到影響,並且它應該在記憶體使用中明顯可見(儘管不多)。
如果您進行基準測試,請增加每個程序允許處理的連接數量。這將增加您的吞吐量,但不會通過簡單地向硬體拋出越來越多的程序來增加硬體的負載。