Linux
如何將單執行緒伺服器調整到驚人的速度?
我們有一個在單個主機上執行的許可證管理器伺服器。它接受 TCP 連接,執行某種交換(我沒有對其進行反向工程),並在客戶端被授權執行程序期間保持 TCP 連接打開。我們購買了大量 (>500) 許可證。所以這個伺服器有數百個打開的 TCP 連接。
我們有一個不合作的供應商,他們不會提供對其許可證伺服器原始碼的訪問權限,也不會為我們提供調整 Unix 伺服器的幫助。
我想調整伺服器,使其能夠在幾毫秒內響應數百個連接。我們沒有伺服器的原始碼,但我們可以調整它執行的 Linux 作業系統。
我的問題:我們應該調整哪些參數?
我已經將客戶端修改為隨機退避,如果無法連接到伺服器,請重試。
在這裡提供一個可調整參數的清單對於使您的伺服器進入更好的狀態幾乎沒有什麼作用。性能調整是一個過程,而不是一項任務。測量、調整、再測量。一次將您的調整限制為一個參數以隔離影響。Brendan Gregg 在性能調整方面是一個聰明的傢伙(他寫了這本書),所以請查看他關於該主題的頁面…… http://www.brendangregg.com/linuxperf.html