提高 Linux 伺服器效能
阿新 • • 發佈:2021-08-31
提高 Linux 效能的具體方法
- 確保系統擁有足夠的記憶體
- 使用 SSD 更換 HDD
- 使用負載均衡器將網路流量分散到多個應用伺服器
- 配置系統和應用:將資料分散在多塊磁碟,不動態執行 DNS 查詢,執行多個伺服器例項
- 檢查實際工作:刪除不需要的守護程序,不要執行過多的服務,改變批處理和大型作業的優先順序和執行時機
- 組織硬碟和檔案系統,使負載均衡,最大化 I/O 吞吐量:如對資料庫應用 RAID 磁碟
- 監控網路,確保頻寬未飽和,錯誤率保持在低位
- 找出系統根本無法滿足不了的需求
盤點裝置
- CPU 型別和描述 lscpu more /proc/cpuinfo
- 記憶體大小和使用情況 more /proc/meminfo
- 磁碟裝置和使用統計 cat /proc/diskstats
分析 CPU 使用情況
vmstat 10 10
- us 使用者時間,數值大表明計算量大
- sy 系統時間,數值大表明大量的系統呼叫或 I/O 操作
- id 空閒時間;wa I/O 等待時間; st 從虛擬機器竊取時間
- cs 上下文切換;in 中斷次數。這 2 者大說明硬體裝置工作不當或配置錯誤。
mpstat -P ALL 檢視多個 CPU 效率
uptime 檢視系統平均負載
輸出的 3 個值分別對應於 1 分鐘,5 分鐘,15 分鐘內的平均負載。
ps -aux top 檢視程序佔用 CPU
小心 top 本身佔用大量的 CPU
分析記憶體使用情況
vmstat 10 10
- swpd 虛存空間
- free 空閒空間
- buff 緩衝空間
- cache 快取空間
- si 記憶體<--磁碟
- so 記憶體-->磁碟
如果 si 和 so 數值大,說明系統持續不斷地換出頁面,增加更多的實體記憶體有助於提高效能。
free 檢視記憶體大小
分析磁碟 I/O
iostat
- tps 每秒傳輸次數
- kB_read/s 每秒讀取數量
- kB_wrtn/s 每秒寫入數量
- kB_read 總共讀取數量
- kB_wrtn 總共寫入數量