1. 程式人生 > ><Linux性能調優指南>主要思路流程

<Linux性能調優指南>主要思路流程

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性能調優指南>主要思路流程