qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          能測(cè)試知多少--系統(tǒng)計(jì)數(shù)器與硬件分析

            性能計(jì)數(shù)器(Performance Counter),也叫性能監(jiān)視器。一個(gè)人健康狀況如何,我們通過(guò)對(duì)其做各項(xiàng)體檢獲得相關(guān)的狀況指標(biāo),如血壓、心跳,肺活量等。那么在做性能測(cè)試過(guò)程中,整個(gè)系統(tǒng)的軟硬件進(jìn)行監(jiān)控也必不可少,監(jiān)控所獲得的數(shù)據(jù)也是我們分析系統(tǒng)性能的主要依據(jù)。

            在整個(gè)系統(tǒng)中,對(duì)于不同的軟件和硬件,我們對(duì)其監(jiān)控的指標(biāo)也不一樣,就像一個(gè)公司中的所有人員,其每個(gè)人的職責(zé)不同,評(píng)判和考核的標(biāo)準(zhǔn)也是不一樣的。下面將從系統(tǒng)的各個(gè)方面進(jìn)行分析。

            操作系統(tǒng)性能計(jì)數(shù)器

            操作系統(tǒng)監(jiān)控器,主要監(jiān)控操作系統(tǒng)級(jí)別上的系統(tǒng)性能表現(xiàn),這里分析最常見(jiàn)的windows操作系統(tǒng)與Linux操作系統(tǒng)。

            window 操作系統(tǒng)的主要性能計(jì)數(shù)器

            Windows操作系統(tǒng)的性能監(jiān)控:

            Window系統(tǒng)下的計(jì)數(shù)器比較多,主要技術(shù)器如下:


          字體:        | 上一篇 下一篇 | 打印  | 我要投稿 

            Linux/UNIX 操作系統(tǒng)的主要性能計(jì)數(shù)器

            Linux系統(tǒng)的命令和UXIN的有些差別,在UNIX系統(tǒng)下的主要計(jì)數(shù)器監(jiān)控命令是vmstat、iostat、top、sar、sag(圖形方式,需要XServer 支持);而在linux中,沒(méi)有isostat命令。另外他們的輸出結(jié)果也稍有差別。

            上面羅列了windows與linux系統(tǒng)下的性能計(jì)數(shù)器,分析一個(gè)操作系統(tǒng)的性能,應(yīng)該查看哪些指標(biāo)。那么操作系統(tǒng)的載體是系統(tǒng)硬件。那么硬件的性能直接影響著操作系統(tǒng)的性能。下面就簡(jiǎn)單分析一下系統(tǒng)的硬件。CPU、內(nèi)存、磁盤(pán)。

            CPU分析

            CPU的性能對(duì)于計(jì)算機(jī)整體的性能起著主導(dǎo)作用。對(duì)于早期對(duì)計(jì)算機(jī)甚至直呼其CPU的型號(hào),如 386 、486、奔三,奔四。

            那么我們CPU性能最直接的評(píng)估就是查看其CPU工作頻率,就是CPU的時(shí)鐘頻率,單位為是Hz。隨著CPU的發(fā)展,主頻由MHz現(xiàn)在的GHz

           ?。?GHz=1000MHz=1000000KHz=1000000000Hz)

            處理器除了主頻指標(biāo)外,還有另外兩個(gè)密切相關(guān)的概念:倍頻與外頻。外頻是cpu的基準(zhǔn)頻率,單位是MHz。外頻是 CPU與主板之間同步運(yùn)行的速度,而且目前的絕大部分計(jì)算機(jī)系統(tǒng)中外頻與是內(nèi)存與主板之間的同步運(yùn)行速度,在這種方式下,可以理解為CPU的外頻直接與內(nèi) 存相連通。實(shí)現(xiàn)兩都的同步運(yùn)行狀態(tài);倍頻即主頻與外頻之間的倍數(shù)。

            主頻 = 外頻 * 倍數(shù)

            如何真對(duì)CPU進(jìn)行分析?

            1)查看System\%Total Processor Time 性能計(jì)數(shù)器的計(jì)數(shù)值。

            該計(jì)數(shù)值用于體現(xiàn)服務(wù)器整體的處理利用率,對(duì)于多處理器來(lái)講,該數(shù)值體現(xiàn)的是所有CPU的平均利用率。如果該數(shù)值大于持續(xù)大于90% ,表示CPU有可能存在平靜。

            2)查看每個(gè)CPU的Processor\%User Time

            Processor\%User Time是指系統(tǒng)的非核心消耗的CPU時(shí)間,如果該值較大,可以考慮通過(guò)算法優(yōu)化來(lái)降低該值。如果該服務(wù)器是數(shù)據(jù)庫(kù)服務(wù) 器,Processor\%User Time值大的原因很可能是數(shù)據(jù)庫(kù)的排序或是函數(shù)操作消耗了過(guò)多的CUP時(shí)間,此時(shí)可以考慮對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化。

            3)查看Processor\%Processor Time 和 System\Processor Queue Length

            查看System\Processor Queue Length 計(jì)算器,當(dāng)該計(jì)數(shù)器的值大于CUP數(shù)量的總數(shù)加1時(shí),說(shuō)明CPU產(chǎn)生了賭塞。但產(chǎn)生賭塞時(shí),Processor\%Processor Time的值不一定很大,此時(shí)就必須查看CPU賭塞的原因。

            4)查看%DPC Time

            %DPC Time 是另一個(gè)需要關(guān)注的內(nèi)容,該計(jì)數(shù)值越低越好。在多CPU系統(tǒng)中,如果該值大于50% 并且Processor\%Processor Time值非常高,則考慮加一個(gè)網(wǎng)卡來(lái)提高性能。

            磁盤(pán)I/O分析

            硬盤(pán)應(yīng)該是計(jì)算機(jī)硬件中發(fā)展最慢的設(shè)備,很多常見(jiàn)瓶頸都是由于硬盤(pán)的讀/寫(xiě)速度慢導(dǎo)致的。提高硬盤(pán)讀/寫(xiě)性能無(wú)非是 提高轉(zhuǎn)速、提高單碟容量,增加緩存和更新接口,因?yàn)閭鹘y(tǒng)的硬盤(pán)是物理旋轉(zhuǎn)讀寫(xiě)數(shù)據(jù),所以轉(zhuǎn)速的提高相當(dāng)困難;而提高單碟容量也存在一寫(xiě)的技術(shù)瓶頸,1TB 的單碟的容量想要突破還也需要時(shí)間。

            對(duì)于傳統(tǒng)的溫氏硬盤(pán)到現(xiàn)在速度也只能達(dá)到120MB/s的讀取速度,這個(gè)速度還真對(duì)大文件的讀寫(xiě),而對(duì)于服務(wù)器大量 4KB的小文件讀/寫(xiě)速度,會(huì)驚人的下跌至1MB不到,而對(duì)應(yīng)的IOPS(每秒磁盤(pán)的讀/寫(xiě)次數(shù))會(huì)低得可憐,大量的數(shù)據(jù)都在排隊(duì)從硬盤(pán)上讀取到內(nèi)存中, 再利用內(nèi)存的超大帶寬完成操作。這也是為什么內(nèi)存大的系統(tǒng)比較快的原因。但內(nèi)存的速度雖然比硬盤(pán)快得多,也有其致命的缺點(diǎn),一旦斷電,內(nèi)存中的數(shù)據(jù)將全部 丟失。

           IOPS(Input/Output Per Second)每秒磁盤(pán)的輸入/輸出量(或讀/寫(xiě)次數(shù)),是衡量磁盤(pán)性能的主要指標(biāo)之一。IOPS是指單位時(shí)間內(nèi)系統(tǒng)能處理的I/O請(qǐng)求數(shù)量,一般以每秒處理的I/O請(qǐng)求數(shù)量為單位。

            另一個(gè)重要指標(biāo)是數(shù)據(jù)吞吐量(Throughput),指單位時(shí)間內(nèi)可以成功傳輸?shù)臄?shù)據(jù)數(shù)量。對(duì)于大量順序讀/寫(xiě)應(yīng)用,則更關(guān)注吞吐量指標(biāo)。

            傳統(tǒng)的溫氏硬盤(pán)完成一個(gè)I/O請(qǐng)求所花費(fèi)的時(shí)間包括 尋道時(shí)間、旋轉(zhuǎn)延遲和數(shù)據(jù)傳輸時(shí)間三部分。

            * 尋道時(shí)間,是指將讀寫(xiě)磁頭移動(dòng)至正確的磁道上所需要的時(shí)間。目前磁盤(pán)的平均尋道時(shí)間一般在3~15ms

            * 旋轉(zhuǎn)延遲,是指盤(pán)片旋轉(zhuǎn)將請(qǐng)求數(shù)據(jù)所在扇區(qū)移至讀/寫(xiě)磁頭下方所需要的時(shí)間。7200轉(zhuǎn)速的磁盤(pán),平均旋轉(zhuǎn)言辭大于為60 * 1000/7200/2=4.17ms

            * 數(shù)據(jù)傳輸時(shí)間,是指完成傳輸所請(qǐng)求的數(shù)據(jù)所需要的時(shí)間。目前SATA II 可達(dá)到300MB/s的接口數(shù)據(jù)傳輸速率。數(shù)據(jù)傳輸時(shí)間通常遠(yuǎn)小于前兩部分時(shí)間。

            如何分析磁盤(pán)I/O

            1)與 Processor/Privileged Time 合并進(jìn)行分析。

            如果在Physical Disk 計(jì)算器,只有%Disk Time 值較大,其它值都比較適中,則硬盤(pán)可能會(huì)是瓶頸。若幾個(gè)值都比較大,且數(shù)值持續(xù)超過(guò)80% ,內(nèi)里可能是內(nèi)存泄漏。

            2)根據(jù)Disk sec/Transfer 進(jìn)行分析

            一般來(lái)說(shuō),定義Transfer 數(shù)值小于15毫秒為優(yōu)秀,介于15~20毫秒之間為良好,30~60毫秒之間為可以接受,超過(guò)60毫秒則需要考慮更換硬盤(pán)或硬盤(pán)的RAID方式。(注意:各種不同的RAID其計(jì)算方式也不完全相同)

            固態(tài)硬盤(pán)SSD是一種電子裝置,避免了傳統(tǒng)硬盤(pán)在尋道和旋轉(zhuǎn)上的時(shí)間花費(fèi),存儲(chǔ)單元尋址開(kāi)銷(xiāo)大大降低,因些IOPS可以非常高。

            內(nèi)存分析

            為什么固態(tài)硬盤(pán)的無(wú)法做到內(nèi)存的存取速度呢?這是因?yàn)镽OM固態(tài)硬盤(pán)和RAM內(nèi)存的實(shí)現(xiàn)原理不同導(dǎo)致的。

            內(nèi)存的發(fā)展速度已經(jīng)達(dá)到了第五代DDR內(nèi)存(一般用于顯卡上),而我們通常主板上的使用的都是第三代DDR內(nèi)存,內(nèi)存的主要性指標(biāo)是在讀寫(xiě)/帶寬上,而影響帶寬上的指標(biāo)主要是內(nèi)存通道及內(nèi)存頻率。

            現(xiàn)在常見(jiàn)的內(nèi)存一般型號(hào)為DDR3 1333MHz ,我們可以通過(guò)更換更高頻率或更低時(shí)序的方式來(lái)提升內(nèi)存的帶寬。(內(nèi)存時(shí)序是描述內(nèi)存條性能的一種參數(shù))

            內(nèi)存頻率比較好理解,現(xiàn)在“發(fā)燒”級(jí)別的內(nèi)存頻率可以做到2400MHz,相對(duì)于1333MHz的默認(rèn)頻率幾乎有了一倍的提升,這種頻率的提升,可以換來(lái)帶寬從16GB到24GB的提升,如果再能降低時(shí)序,那么結(jié)果會(huì)進(jìn)一步提升。(關(guān)于內(nèi)存時(shí)序概念請(qǐng)參考其它文獻(xiàn))。

           另外一個(gè)提升策略就是通道,簡(jiǎn)單來(lái)說(shuō)就是讓多根內(nèi)存并行和內(nèi)存控制器進(jìn)行交互,從而成倍地提升吞吐能力。對(duì)于內(nèi)存比較了解的朋友,雙通道、三通道甚至四通道這些名詞應(yīng)該不會(huì)陌生。

            內(nèi)存分析指標(biāo)

            1)查看Memory\Available Mbytes指標(biāo)。

            這個(gè)計(jì)數(shù)器是描述系統(tǒng)可用內(nèi)存的直接指標(biāo),在對(duì)系統(tǒng)進(jìn)行操作系統(tǒng)級(jí)別的內(nèi)存分析時(shí),首先通過(guò)這個(gè)指標(biāo)建立一個(gè)初步的印象,了解性能測(cè)試過(guò)程中系統(tǒng)是否仍然有足夠的內(nèi)存可用。

            如果這個(gè)指標(biāo)的數(shù)據(jù)比較小,系統(tǒng)可能出現(xiàn)了內(nèi)存方面的問(wèn)題。

            2)Pages/sec、Pages Read/sec 和Page Faults/sec指標(biāo)

            操作系統(tǒng)經(jīng)常會(huì)利用磁盤(pán)交換的方式提高系統(tǒng)可用的內(nèi)存量或內(nèi)存的使用效率。這三個(gè)指標(biāo)直接反映了操作系統(tǒng)進(jìn)行磁盤(pán)交換的頻度。

            如果Pages/sec 的計(jì)數(shù)器持續(xù)高于幾百,很可能會(huì)有內(nèi)存方面的問(wèn)題產(chǎn)生,但Pages/sec的值很大不一定表明內(nèi)存有問(wèn)題,而可能是運(yùn)行使用內(nèi)存映射文件的程序所導(dǎo)致。 Page Faults/sec 值表示每秒發(fā)生頁(yè)面失效的次數(shù),頁(yè)面失效次數(shù)越多,說(shuō)明操作系統(tǒng)向內(nèi)存讀取的次數(shù)越多。些時(shí)還需要查看Pages Read/sec 的計(jì)數(shù)值,該計(jì)數(shù)器的閥值為5,如果計(jì)數(shù)值超過(guò)5,則可以判斷內(nèi)存存在問(wèn)題。

            3)根據(jù)Physical Disk計(jì)數(shù)器的值分析性能瓶頸

            Physical Disk 計(jì)數(shù)器的分析包括對(duì)Pages Read/sec和 %Disk Time及Average Disk Queue Length 的分析。如果Pages Read/sec 很低,同時(shí)%Disk Time和Average Disk Queue Length 的值很高,則可能有磁盤(pán)瓶頸。但是,如果隊(duì)列長(zhǎng)度增加的同時(shí) Page Read/sec 并未降低,則是由于內(nèi)存不足。

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

            由于篇幅問(wèn)題,進(jìn)程分析,網(wǎng)絡(luò)分析被遺漏,后面有必要的話(huà)會(huì)進(jìn)行補(bǔ)充。



          posted on 2012-11-16 10:05 順其自然EVO 閱讀(280) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 性能測(cè)試

          <2012年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 娱乐| 栾川县| 兰坪| 泗水县| 南乐县| 会昌县| 张家口市| 定西市| 虎林市| 汉阴县| 桦南县| 固镇县| 邹平县| 炉霍县| 林周县| 安国市| 甘谷县| 大兴区| 青海省| 罗山县| 麻城市| 光泽县| 乌拉特后旗| 灵璧县| 扎赉特旗| 汪清县| 新源县| 吴堡县| 义马市| 沁源县| 六枝特区| 深圳市| 乌海市| 西乡县| 南通市| 连州市| 宜兰市| 安溪县| 龙山县| 石渠县| 浦北县|