qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          性能測試之操作系統計數器分析方法

            內存分析方法:
            內存分析用于判斷系統有無遇到內存瓶頸,是否需要通過增加內存等手段提高系統性能表現。內存分析需要使用計數器:Memory & Physical Disk類別的計數器,以下是內存分析的主要方法和步驟
            1>.查看Memory\Available Mbytes指標,該計數器是描述系統可用內存的直接指標,在對系統進行操作系統級別的內存分析時,首先通過該指標建立一個初步的印象,了解性能測試過程中系統是否仍然有足夠的內存可用,如果該指標的數據比較小,系統可能出現了內存方面的問題,這時需要繼續依據以下步驟進行進一步的分析
            2>.注意Pages/sec、Pages Read/sec 和 Page Faults/sec的值。操作系統經常會利用磁盤交換的方式提高系統可用的內存量或內存的使用效率。Windows和Unix操作系統都提供了類似的方法來支持磁盤交換計數,而這三個指標直接反應了操作系統進行磁盤交換的頻度
            Pages/sec的計數持續高于幾百?很可能會有內存方面的問題產生,但Pages/sec的值很大不一定表明內存有問題,而可能是運行使用內存映射文件的程序所致
            Page Faults/sec值表示每秒發生頁面失效的次數,頁面失效次數越多,說明操作系統向內存中讀取的次數越多,此時還需要查看Pages Read/sec的計數值,該閥值為5,如果超過5,則可判斷存在內存方面的問題。
            3>.根據Physical Disk計數器的值分析性能瓶頸,對Physical Disk計數器的分析包括對Page Reads/sec 和%DiskTime 及Average Disk Queue Length的分析。如果Pages Read/sec很低,同時%Disk Time 和Average Disk Queue Length的值很高,則可能有磁盤瓶頸。但是,如果隊列長度增加的同時Pages Read/sec并未降低,則是由于內存不足。
            處理器分析方法
            1>.查看System\%Total Processor Time性能計數器的計數值。該計數值用于體現服務器整體的處理器利用率,對多處理器系統而言,該計數值體現的是所有CPU的平均利用率。如果該值的數值持續超過90%,則可以說明整個系統面臨處理器方面的瓶頸,需要通過增加處理器來提高性能
            2>.查看每個CPU的Processer\%Processor Time和Processor\%User Time 和 Processor\%Privileged Time
            Processor\%User Time 是指系統的非核心操作消耗的CPU的時間,如果該值較大,可以考慮是否能通過算法優化等方法降低該值。如果服務器是數據庫,Processor\%User Time 值大的原因很可能是數據庫的排序或是函數操作消耗了過多的CPU時間,此時可以考慮對數據庫系統進行優化。
            3>.研究系統處理器瓶頸,查看System\Processor Queue Length計數器的值,當該計數器的值大于CPU數量的總數1時,說明產生了處理器阻塞。在處理器的%Process Time值很高時一般都伴隨著處理器阻塞,但產生處理器阻塞時,Processor\%Process Time計數器的值并不一定很大,此時就是必須查看處理阻塞的原因。
            %DPC Time是另一個需要關注的內容,該計數值越低越好。在多處理器系統中,如果該值大于50%并且Processor\%Processor Time值非常高,則考慮加入一個網卡來提高性能。
            磁盤I/O分析方法
            1>.計算每磁盤的I/O數。每磁盤的I/O數可用來與磁盤的I/O能力進行對比,如果經過計算得到的每磁盤I/O數超過了磁盤標稱的I/O能力,則說明確實存在磁盤的性能瓶頸。
            2>.與Processor\Privileged Time合并進行分析。如果在Physical Disk計數器中,只有%Disk Time值較大,其他值都比較適中,則硬盤可能會是瓶頸。若幾個值都比較大,且數值持續超過80%,則可能是內存泄露。
            3>.根據Disk sec/Transfer進行分析。一般來說,定義Transfer數值小于15毫秒為優秀,介于15~30毫秒之間為良好,30~60毫秒之間為可接受,超過60毫秒則需要考慮更換硬盤貨硬盤的RAID方式
            進程分析方法
            1>.查看進程的%Processor Time值,每個進程%Processor Time值反映出進程所消耗的處理時間。將不同進程所消耗的處理器時間進行對比,可以容易地看出具體哪個進程在性能測試過程中消耗了最多的處理器時間,從而可以據此針對應用進行優化
            2>.查看每個進程產生的頁面失效
            3>.了解進程的Process\Private Bytes
            網絡分析方法
            Network Interface\Bytes Total/sec為發送和接收字節的速率,可以通過該計數器的值判斷網絡連接速度是否是瓶頸,具體操作方式是用該計數器的值和目前網絡的帶寬進行比較。

          posted on 2014-03-04 10:26 順其自然EVO 閱讀(306) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 治县。| 鄂尔多斯市| 兖州市| 沾益县| 永济市| 石楼县| 临澧县| 塔河县| 长顺县| 丽江市| 安阳县| 屯留县| 罗源县| 石首市| 宣化县| 民和| 云林县| 海宁市| 西安市| 安溪县| 班戈县| 永平县| 策勒县| 沿河| 葵青区| 凉山| 东光县| 镇沅| 湖南省| 嵊州市| 韩城市| 喜德县| 祁门县| 芜湖市| 香格里拉县| 阿拉善左旗| 太仓市| 蒙自县| 宝应县| 克东县| 临城县|