假設我有一個在高負載下提供 html 頁面的 Web 伺服器。讓我們假設由於某種原因,瓶頸不是 cpu、ram 和磁碟,而是網路本身。我該如何判斷 Linux 伺服器只是發送或接收過多流量而無法跟上?比如說,我如何知道網路頻寬是否超過其容量的 60%?如果超出容量,如何擴充?
答案1
一般來說,分析整個系統的限制在哪裡。例如,使用方法檢查每個資源的使用率、飽和度和錯誤。
所有環境都可以收集基本的易於測量的效能指標,例如 CPU 使用率和介面頻寬利用率。在 Linux 上,類似的工具網路數據或 perf 可以詳細顯示大量指標。
深入了解您的環境有助於找到瓶頸所在。頻寬最大為 95 Mbit/s 可能是由於路徑中存在舊的 100 Mbit 交換機,或 Internet 服務為 100 Mbit/s。或者儲存系統相當慢。或網卡報告溢出,因為資料包緩衝區沒有足夠快地清空。
在可能的情況下,請嘗試將 Web 伺服器擴展到不同硬體上的更多主機。多個虛擬機器的總資源可能會有所幫助。可以使用控制項一次在一台主機上嘗試。作為獎勵,負載平衡可以被視為高可用性功能。