讀書筆記--- linux 效能調優指南 (首先建議對核心又足夠的了解,尤其記憶體管理,不然很多概念很難理解)
1.理解linux 作業系統
2.監控和檢測工具
3.分析效能瓶頸
4.優化作業系統
linux效能監控工具
工具常用功能
top所有程序情況
vmstat
系統活動,硬體和系統資訊
uptime, w
系統平均負載
ps, pstree
顯示程序
free
記憶體使用情況
iostat
cpu負載和磁碟活動
sar收集和報告系統狀態
mpstat
多處理器使用情況
numastat
numa相關統計
pmap
程序記憶體情況
netstat
網路統計
iptraf
實時網路統計
tcpdump,ethereal
詳細網路流量分析
nmon
收集和報告系統活動
strace
系統呼叫
proc檔案系統
各種核心統計資訊
kde system guard
實時的系統圖形報告
gnome system monitor
實時的系統圖形報告
壓測工具
工具常用功能
lmbench
微型系統功能評測工具
iozone
檔案系統壓測
netperf
網路效能測試
bonnie
磁碟io和檔案系統測試
bonnie++
磁碟io和檔案系統測試
netbench
檔案伺服器測試,執行在windows上
dbench
檔案系統測試,通常用來檔案伺服器壓測
iometer
磁碟i/o和網路壓測
ttcp
簡單的網路測試
iperf
網路測試
ab ( apache
bench)
簡單的web伺服器測試,包含在apache伺服器中
webstone
web伺服器測試
apache
jmeter
主要用來web伺服器效能測試。也支援其它協議,例如smtp,ldap,
jdbc等,有很好的報告功能
fsstone,
smtpstone
郵件伺服器測試,包含在postfix中
nhfsstone
網路檔案系統測試,包含在nfs-utils包中
directorymark
ldap測試
效能優化選項
第一步是要確保,系統效能問題是由cpu引起的,而不是其它子系統。如果處理器是伺服器
瓶頸,可以採取如下的辦法來增強效能:
使用ps -ef來確保沒有不必要的程序程式在後台執行,如果找到了這樣的程式,關掉它,
或者使用cron讓它在非高峰的時候執行。
通過top找到非關鍵的、cpu密集型程序,然後用renice修改它的優先順序。
在基於smp的機器上,嘗試使用taskset命令繫結程序到cpu上,避免程序在多個處理器
之間切換,引起cache重新整理。
基於執行的應用,確認你的應用是否能高效的利用多處理器。來決定是否應該使用更強
勁的cpu而不是更多的cpu。例如,單執行緒應用,會從更快的cpu中受益,增加值cpu
個數也沒用。
還有其它辦法,比如,確保你使用的是最新的驅動和韌體,這能影響到他們在系統上的
負載如果確定是記憶體瓶頸,可以執行下面的操作:
使用bigpages、hugetlb和共享記憶體調優swap空間。
增加或者減少頁大小。
改善活動和非活動的記憶體處理
調整page-out率
限**務器上每個使用者可使用的資源
關掉用不到的服務
增加記憶體
網路效能調優
當網路瓶頸出現時,你應該試試如下的辦法:
確保網絡卡配置和路由器交換機配置相匹配。
修改子網的組織方式
使用更快的網絡卡
適當調整ipv4的tcp核心引數。有些安全相關的引數調整會提公升效能,詳見下一章。
如果可能的話,更換網絡卡,然後重新檢測效能。
如果可能的話,增加網絡卡,繫結成乙個網絡卡組。
3.5.網路瓶頸
100linux發行版和核心提供了各種引數和選項給linux使用者優化系統效能,將軟硬體效能發揮到最
大。正如前文所說,沒有適用於所有應用的提公升系統效能的優化魔法。下文中所討論的提公升
效能的辦法只適用於特定的硬體和應用。某些配置會提公升web伺服器效能,但是配置在資料庫
系統上可能適得其反。
這節中的步驟可以用來優化基於核心2.6的linux發行版。由於在本書寫作時,基於2.6核心的
發行版從2.6.9到2.6.19的版本都有,有些優化選項可能只適用於特定的核心版本。本章內容
如下。linux核心管理
系統清理
使用sysctl優化效能
網路優化
章節如下:
4.1 優化原則
4.2 安裝考量
4.3 修改核心引數
4.4 優化處理器子系統
4.5 優化虛擬記憶體子系統
4.6 優化磁碟子系統
4.7 優化網路子系統
優化原則
優化原則
管理變更
優化任何系統都應該基於一些簡單的原則,最重要的是變更管理。大體上,系統調整的第一
步是分析和評估當前系統配置。確保所有系統裝置執行在硬體廠家所宣稱的最佳狀態,有助
於為接下來的調整提供堅實基礎。還有,優良的業務系統上應該沒有任何不必要的服務和子
系統在執行。最後,落實到具體的系統優化,需要注意的是,調優通常是針對特定應用負載
而進行的。所以,根據系統負載行為的調優使得系統更高效,但是對其它負載模式可能是不
利的。例如,對系統低延時的調整,通常來說會降低系統的吞吐量。
管理變更
管理變更和效能優化並不直接相關,但可能是成功效能調優最重要的因素。如下可能是第二
位考慮的,但是作為提醒,我們強調一下:
在調優之前,實施合理的管理流程變更
永遠不要在生產系統上調優
在調優過程中,每次只修改乙個變數
反覆測試提公升效能的引數,有時候,統計來的結果更加可靠
把成功的引數調整整理成文件,和社群分享,即使你覺得它們微不足道。生產環境中獲
得的任何結果對linux效能都有很大用處。
hibernate效能調優1
a 完成同樣一件事,hibernate提供了可供選擇的一些方式,但具體使用什麼方式,可能用效能 都會有影響。顯示,一次返回十萬條記錄 list set bag map等 進行處理,很可能導致記憶體不夠的問題,而如果用基於游標 scrollableresults 或 iterator的結果集,則不存在...
zabbix效能調優(1)
概述 在我們生產環境使用zabbix監控會遇到卡頓效能緩慢等問題。這種情況下正確的調整zabbix系統,使之保持高效能就是非常重要的。效能緩慢的表現 01 nvps引數值 每秒寫入的新值數量 簡稱nvps 確認問題 雖然我們在前端看到zabbix的效能緩慢,但是我們還需要根據zabbix的後台資訊來...
Linux記憶體 效能調優
記憶體是影響linux效能的主要因素之一,記憶體資源的充足與否直接影響應用系統的使用效能。free命令 監控linux記憶體使用狀況。由上圖可知,空閒記憶體是free buffers cached 155mb 一般來說如果空閒記憶體 物理記憶體 70 記憶體效能優 如果小於20 則效能差,需要新增記...