<Linux性能調優指南>主要思路流程
阿新 • • 發佈:2017-06-13
task 級別 出現 路由器 共享內存 link 影響 響應 社區
網上IBM很早放出的一本免費電子書,
十來年了,參考意義還是很大。
國內有翻譯成中文在線閱讀的版本。
見如下兩個URL
Linux Performance and Tuning Guidelines
<Linux性能調優指南>
https://www.gitbook.com/book/lihz1990/transoflptg/details
=========================================
服務器優化思路
管理變更流程
管理變更和性能優化並不直接相關,但可能是成功性能調優最重要的因素。如下可能是第二位考慮的,但是作為提醒,我們強調一下:
- 在調優之前,實施合理的管理流程變更
- 永遠不要在生產系統上調優
- 在調優過程中,每次只修改一個變量
- 反復測試提升性能的參數,有時候,統計來的結果更加可靠
- 把成功的參數調整整理成文檔,和社區分享,即使你覺得它們微不足道。生產環境中獲得的任何結果對Linux性能都有很大用處。
CPU性能優化選項
第一步是要確保,系統性能問題是由CPU引起的,而不是其它子系統。如果處理器是服務器瓶頸,可以采取如下的辦法來增強性能:
- 使用ps -ef來確保沒有不必要的進程程序在後臺運行,如果找到了這樣的程序,關掉它,或者使用cron讓它在非高峰的時候運行。
- 通過top找到非關鍵的、CPU密集型進程,然後用renice修改它的優先級。
- 在基於SMP的機器上,嘗試使用taskset命令綁定進程到CPU上,避免進程在多個處理器之間切換,引起cache刷新。
- 基於運行的應用,確認你的應用是否能高效的利用多處理器。來決定是否應該使用更強勁的CPU而不是更多的CPU。例如,單線程應用,會從更快的CPU中受益,增加值CPU個數也沒用。
- 還有其它辦法,比如,確保你使用的是最新的驅動和固件,這能影響到他們在系統上的負載。
內存性能調優選項
如果確定是內存瓶頸,可以執行下面的操作:
- 使用bigpages、hugetlb和共享內存調優swap空間。
- 增加或者減少頁大小。
- 改善活動和非活動的內存處理
- 調整page-out率
- 限制服務器上每個用戶可使用的資源
- 關掉用不到的服務
- 增加內存
磁盤IO性能調優選項
在確定磁盤子系統瓶頸之後,有如下可能的解決方法:
- 如果負載是順序的,壓力在控制器帶寬上,辦法就是添加更快的磁盤控制器。然而,如果負載是隨機的,瓶頸可能在磁盤上,增加更多多的磁盤可以幫助增加性能。
- 在RAID中添加更多的磁盤,把數據分散到多塊物理磁盤,可以同時增強讀和寫的性能。增加磁盤會提升每秒的讀寫I/O數。另外,請使用硬件RAID而不是Linux提供的RAID軟件。如果是硬件RAID,RAID級別對操作系統是不可見的。
- 考慮使用Linux邏輯卷分區,而不是沒有分區的單塊大磁盤或者邏輯卷。
- 把處理負載轉移到網絡中的其它系統(用戶,應用程序或者服務)。
- 添加RAM。添加內存會提升系統磁盤緩沖,增強磁盤響應速度。
網絡性能調優
當網絡瓶頸出現時,你應該試試如下的辦法:
- 確保網卡配置和路由器交換機配置相匹配。
- 修改子網的組織方式
- 使用更快的網卡
- 適當調整IPv4的TCP內核參數。有些安全相關的參數調整會提升性能,詳見下一章。
- 如果可能的話,更換網卡,然後重新檢測性能。
- 如果可能的話,增加網卡,綁定成一個網卡組。
<Linux性能調優指南>主要思路流程