<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

            Linux 系統的性能評估和調優(yōu)指南

            發(fā)表于:2013-02-27來(lái)源:百度空間作者:imlidapeng點(diǎn)擊數: 標簽:調優(yōu)
            對服務(wù)器來(lái)說(shuō)主要的角色就是應用服務(wù)器或數據庫服務(wù)器,CPU作為關(guān)鍵資源經(jīng)常成為性能瓶頸的根源。CPU使用率高并不總是意味著(zhù)CPU工作繁忙,它有可能是正在等待其他子系統。在進(jìn)行性能分析時(shí),將所有子系統當做一個(gè)整體來(lái)看是非常重要的,因為在子系統中可能會(huì )

              對服務(wù)器來(lái)說(shuō)主要的角色就是應用服務(wù)器數據庫服務(wù)器,CPU作為關(guān)鍵資源經(jīng)常成為性能瓶頸的根源。CPU使用率高并不總是意味著(zhù)CPU工作繁忙,它有可能是正在等待其他子系統。在進(jìn)行性能分析時(shí),將所有子系統當做一個(gè)整體來(lái)看是非常重要的,因為在子系統中可能會(huì )出現瀑布效應。

              注釋?zhuān)河蟹N常見(jiàn)的錯誤觀(guān)念認為CPU是服務(wù)器中最重要的。情況不總是這樣,服務(wù)器經(jīng)常是CPU的配置高,硬盤(pán)、內存和網(wǎng)絡(luò )子系統是低配置。只有一些特定對CPU要求高的應用程序才能真正充分利用當今的高端處理器。

              3.2.1 發(fā)現CPU瓶頸

              有多種方法可以來(lái)確認CPU瓶頸。在第二章“監控和基準工具”中介紹到,Linux有很多工具幫助我們確認瓶頸,問(wèn)題是使用哪一個(gè)。

              其中一個(gè)工具是uptime。通過(guò)分析uptime輸出,我能對在過(guò)去15分鐘所發(fā)生的事情有個(gè)粗略的了解。關(guān)于此工具的更多說(shuō)明,參見(jiàn)2.3.3“uptime”。

              例子3-1:一個(gè)系統CPU資源緊張的uptime輸出結果

              ----------------------------------------------------------------------------------------

              18:03:16 up 1 day, 2:46, 6 users, load average: 182.53, 92.02, 37.95

              ----------------------------------------------------------------------------------------

              使用KDE System Guard和CPU傳感器可以讓你了解當前CPU的工作負載。

              提示:小心不要因為同時(shí)運行過(guò)多的工具而導致CPU問(wèn)題。你可能發(fā)現當同時(shí)使用多個(gè)不同監控工具時(shí)會(huì )使CPU負載過(guò)高。

              使用top,你可以看到CPU使用率及主要是哪些進(jìn)程引起問(wèn)題(例子2-1)。如果你已安裝sar,搜集了包括CPU使用率的信息。但分析這些信息是很困難的,所以要使用isag,它可以將sar的輸出轉換成圖形。否則你可以通過(guò)腳本解析這些信息并使用電子表格繪制CPU使用率的趨勢圖。你也可以在命令行中輸入sar -u或者sar -U processornumber。要獲得比單單CPU子系統更多關(guān)于系統及當前使用率的信息,一個(gè)不錯的工具就是vmstat(參見(jiàn)2.3.2,“vmstat”)

              3.2.2 SMP

              基于SMP的系統會(huì )出現其特有且難于檢測的問(wèn)題。在SMP環(huán)境中,有個(gè)叫CPU親和力【affinity】的概念,它允許你將一個(gè)進(jìn)程綁定到指定的CPU。

              主要用途是這有利于CPU cache的優(yōu)化,它通過(guò)讓進(jìn)程在同一CPU運行代替在處理器間移動(dòng)來(lái)實(shí)現。當進(jìn)程在CPU間移動(dòng)時(shí),新CPU的cache會(huì )被清空。因此一個(gè)進(jìn)程在處理器間移動(dòng)會(huì )發(fā)生多次cache清空,這意味著(zhù)一個(gè)單獨的進(jìn)程會(huì )花費更多的時(shí)間才能完成。這種情況非常難于發(fā)現,因為在監控時(shí)CPU負載可能非常均衡,不一定會(huì )出現某個(gè)CPU達到峰值的情況。親和力在基于NUMA的系統中也很有用如IBM System x 3950,where it is important to keep memory, cache, and CPU access local to one another.

              3.2.3 性能調校選項

              首先要確認系統性能問(wèn)題是由CPU導致的而不是其他子系統。如果處理器為服務(wù)器瓶頸,可以通過(guò)相應調整來(lái)改善性能,這包括:

              ▶ 使用ps -ef命令確保沒(méi)有不必要的程序在后臺運行。如果發(fā)現有不必要的程序,將其停止并使用cron將其安排在非高峰期運行。

              ▶ 通過(guò)使用top命令找出非關(guān)鍵性且消耗CPU較多的進(jìn)程,并使用renice命令修改它們的優(yōu)先級。

              ▶ 在基于SMP的機器中,嘗試使用taskset將進(jìn)程綁定到指定的CPU,確保進(jìn)程不需要在處理器間忙碌,從而導致多次cache清空。

              ▶ 對于正在運行的應用程序,最好的辦法是縱向升級(提升CPU頻率)而不是橫向升級(增加CPU數量)。這取決于你的應用程序是否能使用到多個(gè)處理器。例如一個(gè)單線(xiàn)程應用程序的升級方式最好是更換成更快的CPU而不是增加為多個(gè)CPU。

              ▶ 通常的做法還包括確認你所使用的是最新的驅動(dòng)程序和韌體,因為這會(huì )影響CPU的負載。

              下面的步驟可用來(lái)作為快速調優(yōu)的策略:

              1. 了解你的系統。

              2. 備份系統。

              3. 監控和分析系統性能。

              4. 縮小瓶頸范圍,找出原因。

              5. 修復導致瓶頸的原因,每次只做一個(gè)變更。

              6. 回到第3步,直到系統性能達到滿(mǎn)意。

              提示:你應該將每一個(gè)步驟記錄在文件中,特別是你針對性能所做的變更和及其影響。

              3.1.1 搜集信息

              大多數情況下,你所能得到的第一手信息就是“服務(wù)器出現了問(wèn)題”。所以利用一些探索性問(wèn)題來(lái)弄清和記錄下問(wèn)題是非常重要的。這里列出一些問(wèn)題用來(lái)幫助你更好的了解系統。

              ▶ 你能給我關(guān)于所涉及服務(wù)器的完整信息嗎?

              - 型號

              - 使用年限

              - 配置

              - 外圍設備

              - 操作系統版本和更新等級

              ▶ 你能告訴我究竟出現了什么問(wèn)題?

              - 都有哪些癥狀?

              - 描述一下錯誤信息。

              對于有些人回答這個(gè)問(wèn)題有些困難,但用戶(hù)提供的任何額外信息都有可能幫助你找到問(wèn)題。例如,用戶(hù)可能說(shuō)“當我拷貝文件到服務(wù)器時(shí)速度真的很慢。”。這就暗示網(wǎng)絡(luò )有問(wèn)題或硬盤(pán)子系統有問(wèn)題。

              ▶ 誰(shuí)受到這個(gè)問(wèn)題的影響?

              一個(gè)人、某些人還是整個(gè)組織受這個(gè)問(wèn)題的影響?這可以幫助你判斷問(wèn)題是否出現在某段特定的網(wǎng)絡(luò )中還是與應用相關(guān)等等。如果只有一個(gè)用戶(hù)受此問(wèn)題影響,很可能是用戶(hù)的PC出了問(wèn)題(或者是他們想象出來(lái)的)。

              The perception clients have of the server is usually a key factor.從這個(gè)觀(guān)點(diǎn)來(lái)說(shuō),性能問(wèn)題并不一定與涉及服務(wù)器直接有關(guān):位于服務(wù)器和客戶(hù)端的網(wǎng)絡(luò )極易成為導致問(wèn)題的原因,這包括網(wǎng)絡(luò )設備和其他提供服務(wù)的服務(wù)器,例如域控制器。

              ▶ 問(wèn)題是否可以重現?

              所有可以重現的問(wèn)題都能被解決。如果你在系統方面經(jīng)驗豐富,你應該能找出問(wèn)題根源并采取相應的措施。

              問(wèn)題的重現可以讓你更好的了解和明白此問(wèn)題。記錄重現問(wèn)題的相關(guān)步驟是十分必要的:

            原文轉自:http://www.redbooks.ibm.com/abstracts/redp4285.html

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>