天天看點

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

網上IBM很早放出的一本免費電子書,

十來年了,參考意義還是很大。

國内有翻譯成中文線上閱讀的版本。

見如下兩個URL

<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率

限制伺服器上每個使用者可使用的資源

關掉用不到的服務

增加記憶體

在确定磁盤子系統瓶頸之後,有如下可能的解決方法:

如果負載是順序的,壓力在控制器帶寬上,辦法就是添加更快的磁盤控制器。然而,如果負載是随機的,瓶頸可能在磁盤上,增加更多多的磁盤可以幫助增加性能。

在RAID中添加更多的磁盤,把資料分散到多塊實體磁盤,可以同時增強讀和寫的性能。增加磁盤會提升每秒的讀寫I/O數。另外,請使用硬體RAID而不是Linux提供的RAID軟體。如果是硬體RAID,RAID級别對作業系統是不可見的。

考慮使用Linux邏輯卷分區,而不是沒有分區的單塊大磁盤或者邏輯卷。

把處理負載轉移到網絡中的其它系統(使用者,應用程式或者服務)。

添加RAM。添加記憶體會提升系統磁盤緩沖,增強磁盤響應速度。

網絡性能調優

當網絡瓶頸出現時,你應該試試如下的辦法:

確定網卡配置和路由器交換機配置相比對。

修改子網的組織方式

使用更快的網卡

适當調整IPv4的TCP核心參數。有些安全相關的參數調整會提升性能,詳見下一章。

如果可能的話,更換網卡,然後重新檢測性能。

如果可能的話,增加網卡,綁定成一個網卡組。

繼續閱讀