性能测试初学_windows 计数器
參考如下文章:
http://www.cnblogs.com/dreamer-fish/p/3417134.html
《性能測試從0開始》204頁起
?
1.排除內(nèi)存問題
Memory/ Available MBytes? 可用物理內(nèi)存(參考值:>=10%)(若<4 MB 或更小,總的內(nèi)存可能不足,或某程序沒有釋放內(nèi)存)
Memory/ Pages/sec 表示為了解決硬錯誤而從硬盤上讀取或?qū)懭胗脖P的頁數(shù)(參考值:00~20)(若>20,需研究頁交換活動,若>80,則表示有問題)
Memory/ Page Faults/sec? 表示每秒鐘處理的錯誤頁數(shù),包括硬錯誤和軟錯誤
Memory/ Page Input/sec 表示為了解決硬錯誤而寫入硬盤的頁數(shù)(參考值:>=Page Reads/sec),衡量硬錯誤頁發(fā)生的速率
Memory/ Page Reads/sec 表示為了解決硬錯誤而從硬盤上讀取的頁數(shù)。(參考值: <5)(若持續(xù)>=5,表可能內(nèi)存不足)
頁交換活動主要關(guān)注硬錯誤,即Page Faults/sec —Transition Fault/sec(軟錯誤)、Page Input/sec、Page Reads/sec。硬錯誤會使系統(tǒng)的運行效率很快將下來。
Memory/ cache bytes 文件系統(tǒng)緩存,默認為50%可用物理內(nèi)存。 若內(nèi)存不夠時,會自動整理緩存,需關(guān)注其趨勢變化。
file cache hits% 文件緩存命中全部緩存需求的比例,反映了iis文件緩存設(shè)置的工作情況。(對于一個大部分靜態(tài)網(wǎng)頁組成的網(wǎng)站,在80%左右為好)
Memory/ Committed Bytes 以字節(jié)表示的確認虛擬內(nèi)存(參考值: <=物理內(nèi)存*75%)
?
?
2.懷疑內(nèi)存泄漏
Process/ Private Bytes、Process/ Working Set 值會升高
Memory/Available Bytes 值降低
private Bytes :進程無法與其他進程共享的字節(jié)數(shù)量。該計數(shù)器的值較大時,有可能是內(nèi)存泄露的信號
?
3.檢查過于頻繁的頁交換
?
由于過多的頁交換要使用大量的硬盤空間,因此有可能將導(dǎo)致將頁交換內(nèi)存不足,這容易與導(dǎo)致頁交換的磁盤瓶頸混淆。因此,在研究內(nèi)存不足不太明顯的頁交換的原因時,您必須跟蹤如下的磁盤使用情況計數(shù)器和內(nèi)存計數(shù)器:
?
·?Physical Disk/ % Disk Time
?
·?Physical Disk/ Avg.Disk Queue Length
?
例如如果 Page Reads/sec很低,同時 % Disk Time 和 Avg.Disk Queue Length的值很高,則可能有磁盤瓶徑。
但是,如果隊列長度Avg.Disk Queue Length增加的同時頁面讀取速率Page Reads/sec并未降低,則內(nèi)存不足。
?
4.處理器
4.1 System/ Processor Queue Length 用于瓶頸檢測。處理隊列中的線程數(shù)(如果該隊列的長度大于處理器個數(shù)+1,就表示處理器有可能處于阻塞狀態(tài)(參考值:<=處理器個數(shù)+1)
4.2 Processor/ % Processor Time : CPU使用率,顯示所有CPU線程處理時間(參考值:<75%. 若一個或多個處理器的該值持續(xù)超過90%,則表示此時負載 對于目前硬件過于沉重。)(排除內(nèi)存原因,若該值大,網(wǎng)卡和硬盤值低,則為CPU瓶頸)
?
若Processor Queue Length>處理器個數(shù)+1,% Processor Time>90%,則可能處理器瓶頸。
若Processor Queue Length>處理器個數(shù)+1,% Processor Time很低,則只是處理器阻塞問題。
?
4.3 System/ context switches/sec 指所有處理器全都從一個線程轉(zhuǎn)換到另一個線程的綜合速率。 如果切換次數(shù)到5000*CPU個數(shù)-10000*CPU個數(shù)時,說明他忙于切換線程而不是處理ASP腳本
?
?
4.4 Processor/ %DPC Time
處理器在網(wǎng)絡(luò)處理上消耗的時間,該值越低越好。在多處理器系統(tǒng)中,如果這個值大于50%并且%Processor Time非常高,加入一個網(wǎng)卡可能會提高性能。
4.5 Processor/ interrupts/sec 處理器每秒接收并維護的硬件中斷的平均值。(如果 % Processor Time >90%,且% interrupts time >15%,則處理器負荷過重,并發(fā)生中斷)
4.6 Processor/ % User Time是指系統(tǒng)的非核心操作消耗的CPU時間,如果該值較大,可以考慮是否通過優(yōu)化算法等方法降低這個值。如果該服務(wù)器是數(shù)據(jù)庫服務(wù) 器,Processor/ % User Time大的原因很可能是數(shù)據(jù)庫的排序或是函數(shù)操作消耗了過多的CPU時間,此時可以考慮對數(shù)據(jù)庫系統(tǒng)進行優(yōu)化
?
5 磁盤
如果分析的計數(shù)器指標(biāo)來自于數(shù)據(jù)庫服務(wù)器、文件服務(wù)器或是流媒體服務(wù)器,磁盤I/O對這些系統(tǒng)來說更容易成為瓶頸。
每磁盤的I/O數(shù)可用來與磁盤的I/O能力進行對比,如果經(jīng)過計算得到的每磁盤I/O數(shù)超過了磁盤標(biāo)稱的I/O能力,則說明確實存在磁盤的性能瓶頸。
?
下表給出了每磁盤I/O的計算公式:(如何得到磁盤標(biāo)稱的I/O能力如何查看? 在bios里查看嗎?)
?
| RAID類型 | 計算方法 |
| RAID0 | (Reads+Writes)/Number of Disks |
| RAID1 | (Reads+2*Writes)/2 |
| RAID5 | [Reads+(4*Writes)]/Number of Disks |
| RAID10 | [Reads+(2*Writes)]/Number of Disks |
?
%Disk Time
表示磁盤驅(qū)動器為讀取或?qū)懭胝埱筇峁┓?wù)所用的時間百分比,如果只有%Disk Time比較大,硬盤有可能是瓶頸
Average Disk Queue Length
表示磁盤讀取和寫入請求提供服務(wù)所用的時間百分比,可以通過增加磁盤構(gòu)造磁盤陣列來提高性能(<=磁盤數(shù)的2倍)
?
要平衡網(wǎng)絡(luò)服務(wù)器上的負載,需要了解服務(wù)器磁盤驅(qū)動 器的繁忙程度。使用 Physical Disk/ % Disk Time 計數(shù)器,該計數(shù)器顯示驅(qū)動器活動時間的百分比。如果 % Disk Time 較高(超過 90%),請檢查 Physical Disk/ Current Disk Queue Length 計數(shù)器以查看正在等待磁盤訪問的系統(tǒng)請求數(shù)量。等待 I/O 請求的數(shù)量應(yīng)當(dāng)保持在不大于組成物理磁盤的主軸數(shù)的 1.5 到 2 倍。
?
Average Disk sec/Transfer
磁盤中寫入數(shù)據(jù)的平均時間,單位是s
計數(shù)器反映磁盤完 成請求所用的時間。較高的值表明磁盤控制器由于失敗而不斷重試該磁盤。這些故障會增加平均磁盤傳送時間。一般來說,定義該值小于15ms最為優(yōu)異,介于 15-30ms之間為良好,30-60ms之間為可以接受,超過60ms則需要考慮更換硬盤或硬盤的RAID方式了
?
?
?
Average Disk Bytes/Transfer
值大于 20 KB 表示該磁盤驅(qū)動器通常運行良好;如果應(yīng)用程序正在訪問磁盤,則會產(chǎn)生較低的值。例如,隨機訪問磁盤的應(yīng)用程序會增加平均 Disk sec/Transfer 時間,因為隨機傳送需要增加搜索時間。
?
?
?========================
計算磁盤IOPS的三個因素:
1、RAID類型的讀寫比 不同RAID類型的IOPS計算公式:| RAID類型 | 公式 |
| RAID5、RAID3 | Drive IOPS=Read IOPS + 4*Write IOPS |
| RAID6 | Drive IOPS=Read IOPS + ?6*Write IOPS |
| RAID1、RAID10 | Drive IOPS=Read IOPS + 2*Write IOPS |
2、硬盤類型的IOPS值 不同磁盤類型的IOPS:
| 硬盤類型 | IOPS |
| FC 15K RPM | 180 |
| FC 10K RPM | 140 |
| SAS 15K RPM | 180 |
| SAS 10K RPM | 150 |
| SATA 10K RPM | 290 |
| SATA 7.2K RPM | 80 |
| SATA 5.4K RPM | 40 |
| Flash drive | 2500 |
3、具體業(yè)務(wù)系統(tǒng)的讀寫比 二、案例
1) 業(yè)務(wù)需求: 10TB 的FC 15K RPM存儲空間,滿足6000 IOPS,計算RAID5,RAID10分別需要多少塊硬盤?
首先需要知道I/O中讀操作與寫操作所占的百分比。?假定6000?IOPS中讀/寫比是2:1
不同的RAID類型Drive?硬盤實際IOPS負載分別如下:RAID10:(2/3)*6000+2*(1/3)*6000= 8000 IOPS
RAID5:(2/3)*6000+4*(1/3)*6000=12000 IOPS
參照不同硬盤類型的IOPS值,換算出需要多少塊盤:
RAID10:8000?/180 = 45塊
RAID5:12000/180 =67塊
====================== 6 網(wǎng)絡(luò)監(jiān)測對象:Network Interface
網(wǎng)絡(luò)分析是一件技術(shù)含量很高的工作,在一般的組織中都有專門的網(wǎng)絡(luò)管理人員進行網(wǎng)絡(luò)分析,對測試工程師來說,如果懷疑網(wǎng)絡(luò)是系統(tǒng)的瓶頸,可以要求網(wǎng)絡(luò)仍有來寫真進行網(wǎng)絡(luò)方面的檢測。
Network Interface/Bytes Total/sec為發(fā)送和接收字節(jié)的速率(包括幀字符在內(nèi))。可以通過該計數(shù)器的值判斷網(wǎng)絡(luò)連接速度是否是瓶頸,具體操作方法是用該計數(shù)器的值與目前的網(wǎng)絡(luò)帶寬進行比較。
?
Byte Total/sec
表示網(wǎng)絡(luò)中接受和發(fā)送字節(jié)的速度,可以用該計數(shù)器來判斷網(wǎng)絡(luò)是否存在瓶頸(參考值:該計數(shù)器和網(wǎng)絡(luò)帶寬相除,<50%)
?
?7?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/jilu1219/p/6644633.html
總結(jié)
以上是生活随笔為你收集整理的性能测试初学_windows 计数器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用AutoMapper 处理DTO数据
- 下一篇: 第十单元 系统日志