日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

常见性能计数器及分析

發(fā)布時間:2024/5/24 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 常见性能计数器及分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、常見計數(shù)器

1、windows系統(tǒng)計數(shù)器

類別 計數(shù)器名稱 計數(shù)器描述
Memory Available Mbytes 可用物理內(nèi)存數(shù)
Pages/sec 表明由于硬件頁面錯誤而從磁盤取出的頁面數(shù),或由于頁面錯誤而寫入磁盤以釋放工作集空間的面數(shù)
Pages Read/sec 頁的硬故障,Pages/sec的子集,為了解析對內(nèi)存的引用,必須讀取頁文件的次數(shù)。其閾值為5,數(shù)值越低越好,大樹枝表示磁盤讀而不是緩存讀
Page Faults/sec 此值為處理器中的頁面錯誤的計數(shù)。當(dāng)進(jìn)程引用特定的虛擬內(nèi)存頁,該頁不在其主內(nèi)存的工作集中,將出現(xiàn)頁面錯誤。如果某頁已經(jīng)位于主內(nèi)存中,或者它正在被共享該頁的其他進(jìn)程所使用,則頁面錯誤不會導(dǎo)致該頁從磁盤中讀取
Cache Bytes 文件系統(tǒng)緩存,默認(rèn)情況下為50%的可用物理內(nèi)存
Process %Processor Time 被處理器消耗的處理器時間數(shù)量。如果專用于某種特定應(yīng)用,則可用應(yīng)用相關(guān)進(jìn)程的%Processor Time進(jìn)行衡量,此時可接受的上限一般不超過85%
Page Faults/sec 將進(jìn)程產(chǎn)生的頁故障與系統(tǒng)產(chǎn)生的相比較,以判斷該進(jìn)程對系統(tǒng)頁故障產(chǎn)生的影響
Work Set 處理線程最近使用的內(nèi)存頁,反映每一個進(jìn)程使用的內(nèi)存頁的數(shù)量。如果服務(wù)器有足夠的空閑內(nèi)存,頁就會被留在工作集中,當(dāng)自由內(nèi)存少于一個特定的閾值,頁就會被清除出工作集
Private Bytes 此進(jìn)程所分配的無法與其他進(jìn)程共享的當(dāng)前字節(jié)數(shù)量。如果系統(tǒng)性能隨著時間而降低,則此計數(shù)器可以是內(nèi)存泄露的最佳指示器
Processor %Processor Time 如果該值持續(xù)超過95%,表明瓶頸是CPU,可以考慮增加一個處理器或換一個更快的處理器
%User Time 非內(nèi)核操作耗費的CPU時間。一般來說,如果系統(tǒng)中使用了大量的算法或復(fù)雜的計算操作,該值會比較大
%Pricileged Time CPU內(nèi)核時間是在特權(quán)模式下處理線程執(zhí)行代碼所花時間的百分比
%DPC Time CPU消耗在網(wǎng)絡(luò)處理上的時間,此值越低越好
Physical Disk %Disk Time 所選磁盤驅(qū)動器忙于為讀或?qū)懭胝埱筇峁┓?wù)所用時間的百分比
Average Disk Queue Length 讀取和寫入請求(所選磁盤在實例間隔中列隊)的平均數(shù)。該全值應(yīng)不超過磁盤數(shù)的1.5~2倍,要提高性能,可增加磁盤。(一個Raid Disk實際有多個磁盤)
DiskReads(Writes)/sec 物理磁盤上每秒磁盤讀、寫的次數(shù),兩者相加應(yīng)小于磁盤設(shè)備的最大容量
Average Disk sec/Read 以秒計算的在磁盤上讀取數(shù)據(jù)所需的平均時間
Average Disk sec/Transfer 以秒計算的在磁盤上寫入數(shù)據(jù)所需的平均時間
Network Interface Bytes Total/sec 為發(fā)送和接受字節(jié)的速率,包括幀字符在內(nèi)。判斷網(wǎng)絡(luò)連接速度是否是瓶頸,可以用該計數(shù)器的值和目前的寬帶比較
System %Total Processor Time 系統(tǒng)上所有處理器都忙于執(zhí)行非空閑線程的平均時間百分比,反映了用于有用作業(yè)的時間比率。對單處理器系統(tǒng)來說,該值很容易理解;對于多服務(wù)器系統(tǒng)來說,該值體現(xiàn)了所有處理器的平均繁忙程度
File Data Operations/sec 計算機對文件系統(tǒng)設(shè)備執(zhí)行讀取和寫入操作的速率。本計數(shù)器的計數(shù)不包括文件控制操作
Processor Queue Length 線程單元中的處理隊列的即時長度。所有處理器都是用單一隊列(線程在該隊列中等待處理器進(jìn)行循環(huán))。此長度不包括當(dāng)前正在執(zhí)行的線程,一般情況下,如果處理器隊列的長度一直超過服務(wù)器上可用處理器的總數(shù)量+1,則表示處理器可能堵塞

2、IIS應(yīng)用服務(wù)器計數(shù)器

類別 計數(shù)器名稱 計數(shù)器描述
Processor %Total Processor Time 被處理器消耗的處理器時間數(shù)量,對于IIS應(yīng)用服務(wù)器來說,該值一般不應(yīng)超過85%
Physical Disk %Disk Time 顯示磁盤進(jìn)行讀/寫活動所花費的時間百分比
Memory Available Bytes 可用的剩余物理內(nèi)存量。IIS基本占用2.5MB,每個附加連接將在此基礎(chǔ)上占用10KB左右
Pool Paged Bytes and Pool Nonpaged Bytes 緩沖池,由應(yīng)用程序和操作系統(tǒng)創(chuàng)建并使用的對象。如果池被填滿,可能發(fā)生內(nèi)存泄露
Pages/sec 如果服務(wù)器沒有足夠的內(nèi)存處理其工作負(fù)荷,此數(shù)值將一直很高
Object Threads 線程是執(zhí)行處理器指令的基本可執(zhí)行實體,如果該值一直持續(xù)上升,請打開Process:Threads Count計數(shù)器并查看所有線程是由哪個實例創(chuàng)建的
Process Private Bytes Total 顯示所有實例已經(jīng)分配但無法與其他進(jìn)程共享的當(dāng)前字節(jié)數(shù)

1)Active Server Page計數(shù)器

  重點需要關(guān)注超時的請求數(shù)、腳本運行時期的錯誤、隊列中的請求數(shù)、請求等待時間、請求總數(shù)、失敗的請求總數(shù)和送出的總字節(jié)數(shù)。

  隊列中的請求數(shù)和請求等待時間直接反映應(yīng)用服務(wù)器的處理能力,如果隊列中的請求數(shù)數(shù)值處于一個比較高的水平,同時請求等待時間是一個比較大的值,則應(yīng)用服務(wù)器本身是瓶頸,需要解決。腳本運行時期的錯誤、請求總數(shù)、失敗的請求總數(shù)和送出的總字節(jié)數(shù)都可以與測試工具在測試過程中獲得的吞吐量、請求數(shù)等進(jìn)行對比,從而確定數(shù)據(jù)的可信度。

2)Web Service計數(shù)器

①Bytes Total/Sec:顯示W(wǎng)eb服務(wù)器發(fā)送和接收的總字節(jié)數(shù)。低數(shù)值表明該IIS正在以較低的速度進(jìn)行數(shù)據(jù)傳輸;

②Connection Refused:數(shù)值越低越好,高數(shù)值表明網(wǎng)絡(luò)適配器或處理器存在瓶頸;

③Not Found Errors:顯示由于被請求文件無法找到而無法由服務(wù)器滿足的請求數(shù)(http status=404)

3)dotNET計數(shù)器(略,查看官方文檔)

3、J2EE應(yīng)用服務(wù)器計數(shù)器

類別 計數(shù)器名稱 計數(shù)器描述
JVM Heap Size JVM堆大小,該計數(shù)器的值是一個實時值
Heap Free JVM可用堆大小,該計數(shù)器的值是一個實時值
JDBC Connection Pool Waiting For Connection Current Count 等待的連接數(shù)量,如果該值持續(xù)較大,可能需要考慮增加應(yīng)用服務(wù)器的JDBC連接池大小
Connections Total Count 總的JDBC連接數(shù)
Max Capacity JDBC連接池的總?cè)萘俊?梢酝ㄟ^該計數(shù)器和上兩個計數(shù)器值的比較,獲得連接池設(shè)置是否合理的結(jié)論
Active ConnectionsCurrent Count 當(dāng)前活躍的JDBC連接數(shù),分析該值可以知道JDBC連接的利用率是否合理
Execute Queue Execute Thread Current Idle Count 空閑的線程數(shù)量
Pending Request Oldest Time 隊列請求的最久時間。該值可以看到隊列有無明顯的擁塞情況
Serviced RequestTotal Count 已處理的請求總數(shù)。該值可以用來和性能測試工具測試后得到的單擊數(shù)進(jìn)行對比
Pending Request Current Count 掛起請求的數(shù)量

4、數(shù)據(jù)庫服務(wù)器計數(shù)器

類別 計數(shù)器名稱 計數(shù)器描述
System Total Processor Time 數(shù)據(jù)庫進(jìn)程占用的CPU時間。不同的數(shù)據(jù)庫有不同的名稱,例在Oracle中被稱為cpu used by thisession
User Connections 當(dāng)前用戶連接數(shù)。數(shù)據(jù)庫服務(wù)器一般都有用戶數(shù)連擊數(shù)的限制,應(yīng)用不合理時,有可能出現(xiàn)連接數(shù)超過限制的情況,導(dǎo)致一些異常的發(fā)生
Memory Cache Hit Ratio 緩存命中率。當(dāng)該值比較小,而數(shù)據(jù)庫比較繁忙時,可能需要調(diào)整緩存的大小
Total Server Memory(僅適用于SQL Server) 進(jìn)程當(dāng)前使用的內(nèi)存量。結(jié)合其他計數(shù)器(ConnectionMemory、Lock Memory等)可以很清楚知道Memory的使用情況
PGA Memory/UGA Memory(僅適用于Oracle) Oracle數(shù)據(jù)庫進(jìn)程的內(nèi)存使用情況
Lock Average Wait Time 鎖平均等待時間
Lock Requesets/sec 每秒的鎖請求數(shù)
Number of Deadlocks/sec 每秒產(chǎn)生的死鎖數(shù)量,當(dāng)該值比較大時,需要查詢產(chǎn)生死鎖的原因
I/O Outstanding Reads(Writes) 被掛起的物理讀(寫),當(dāng)該值比較大時,可能是CPU、磁盤I/O產(chǎn)生了瓶頸,可以通過服務(wù)器的CPU和I/O進(jìn)一步分析原因
Page Read/sec 每秒頁面讀寫的次數(shù)
Transactions/sec 每秒產(chǎn)生的事務(wù)數(shù)量

二、分析方法(針對操作系統(tǒng))

1、內(nèi)存分析方法

1)查看MemoryAvailable Mbytes指標(biāo)

  該值是描述系統(tǒng)可用內(nèi)存的直接指標(biāo),在對系統(tǒng)進(jìn)行操作系統(tǒng)級別的內(nèi)存分析時,首先通過該指標(biāo)建立一個初步的印象,了解系統(tǒng)是否有足夠的內(nèi)存可用。如果值比較小,系統(tǒng)可能出現(xiàn)內(nèi)存方面的問題,需要進(jìn)一步分析。

  PS:在Unix/Linux系統(tǒng)中,對應(yīng)的指標(biāo)是Free(KB)。

2)注意Pages/sec、Pages Read/sec和Page Faults/sec的值

  操作系統(tǒng)經(jīng)常會利用磁盤交換的方式提高系統(tǒng)可用的內(nèi)存量或內(nèi)存的使用效率,這三個指標(biāo)直接反映了操作系統(tǒng)進(jìn)行磁盤交換的頻度。如果Pages/sec的計數(shù)持續(xù)高于幾百?很可能會有內(nèi)存方面的問題產(chǎn)生,但值很大不一定表明內(nèi)存有問題,可能是運行使用內(nèi)存映射文件的程序所致。Pages Faults/sec值表示每秒發(fā)生頁面失效的次數(shù),頁面失效次數(shù)越多,說明操作系統(tǒng)向內(nèi)存中讀取的次數(shù)越多。此時還需要查看Pages Read/sec,此值閾值為5,如果計數(shù)值超過5,則可以判斷存在內(nèi)存方面的問題。

  PS:在Unix/Linux系統(tǒng)中,對應(yīng)的指標(biāo)是(page)si和(page)so。

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

  如果Pages Read/sec很低,同時%Disk Time和Average Disk Queue Length的值很高,則可能有磁盤瓶頸。但是如果隊列長度增加的同時Pages Read/sec并未降低,則是由于內(nèi)存不足。

  PS:在Unix/Linux系統(tǒng)中,對應(yīng)的指標(biāo)是Read(Writes)per sec、Percent of time the disk is busy和Average number of transactions waiting for service。

2、處理器分析方法

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

  此值體現(xiàn)服務(wù)器整體的處理器利用率。對多處理系統(tǒng)而言,體現(xiàn)的是所有CPU的平均利用率。如果該值持續(xù)超過90%,則說明整個系統(tǒng)面臨著處理器方面的瓶頸,可以增加處理器來提高性能。在某些多CPU系統(tǒng)中,該數(shù)據(jù)本身并不大,但是CPU之間的負(fù)載狀態(tài)很不均衡,也可以視為系統(tǒng)產(chǎn)生了處理器方面的瓶頸。

2)查看每個CPU的Processor\%Processor Time、Processor\%User Time和Processor\%Privileged Time

  如果Processor\%User Time值較大,可以考慮是否能通過算法優(yōu)化等方法優(yōu)化該值,如果服務(wù)器是數(shù)據(jù)庫,Processor\%User Time值打的原因很可能是數(shù)據(jù)庫的排序或是函數(shù)操作消耗了過多的CPU時間,此時可以考慮對數(shù)據(jù)庫系統(tǒng)進(jìn)行優(yōu)化。

3)研究系統(tǒng)處理器瓶頸

  查看SystemProcessor Queue Length計數(shù)器的值,當(dāng)大于CPU總量+1時,說明產(chǎn)生了處理器堵塞,在處理器的%Process Time值很高時一般都伴隨著處理器堵塞。反之則不然,此時必須查找處理器堵塞的原因。

  %DPC Time是另一個需要關(guān)注的,該計數(shù)值越低越好。在多處理器系統(tǒng)中,如果該值大于50%且Processor\%Processor Time值比較高,則考慮加一個網(wǎng)卡來提高性能。

3、磁盤I/O分析方法

1)計算每磁盤的I/O數(shù)

  每磁盤的I/O數(shù)可用來與磁盤的I/O能力進(jìn)行對比,如果經(jīng)過計算得到的每磁盤的I/O數(shù)超過了磁盤標(biāo)稱的I/O能力,則說明確定存在磁盤的性能瓶頸。

每磁盤的I/O的計算方法
Raid類型 計算方法
Raid0 (Reads+Writes)/Number of Disks
Raid1 (Read+2*Writes)/2
Raid5 (Read+4*Writes)/Number of Disks
Raid10 (Read+2*Writes)/Number of Disks

2)與ProcessorPrivileged Time組合進(jìn)行分析

  如果在Physical Disk計數(shù)器中,只有%Disk Time值較大,其他值適中,則硬盤可能會是瓶頸。若幾個值都比較大,且數(shù)值持續(xù)超過80%,則可能是內(nèi)存泄露。

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

  一般來說,定義Transfer數(shù)值小于15ms為優(yōu)秀,15~30ms之間為良好,30~60ms之間可以接受,超過60ms則需要考慮更換硬盤或者硬盤的Raid方式了。

4、進(jìn)程分析方法

1)查看進(jìn)程的%Processor Time值

  該值反映進(jìn)程消耗的處理器時間。不同進(jìn)程進(jìn)行對比,可以輕易看出具體哪個進(jìn)程在測試過程中消耗了最多的處理器時間,從而據(jù)此針對應(yīng)用進(jìn)行優(yōu)化。

2)查看每個進(jìn)程產(chǎn)生的頁面失效

  ProcessPage Failures/sec與MemoryPage Failures/sec的比值,判斷哪個進(jìn)程產(chǎn)生了最多的頁面失效,該進(jìn)程要么是需要大量內(nèi)存的進(jìn)程,要么是非常活躍的進(jìn)程,可以對其進(jìn)行重點分析。

3)了解進(jìn)程的ProcessPrivate Bytes

  該值指進(jìn)程所分配的無法與其他進(jìn)程共享的當(dāng)前字節(jié)數(shù)量,主要用來判斷進(jìn)程在性能測試過程中有無內(nèi)存泄露。例如一個在IIS上的Web應(yīng)用,如果測試過程中,進(jìn)程的Private Bytes計數(shù)值不斷增加或是測試停止一段時間后,該值仍然持續(xù)在高水平,則說明應(yīng)用存在內(nèi)存泄露。

  PS:在Unix/Linux系統(tǒng)中,對應(yīng)的指標(biāo)是Resident Size。

5、網(wǎng)絡(luò)分析方法

  一般的公司都有專門的網(wǎng)絡(luò)管理人員,網(wǎng)絡(luò)分析是門技術(shù)活,此處僅描述Network InterfaceBytes Total/sec的值。Network InterfaceBytes Total/sec為發(fā)送和接收字節(jié)的速率(包括幀字符),可以通過該計數(shù)器的值和目前網(wǎng)絡(luò)的帶寬進(jìn)行比較來判斷網(wǎng)絡(luò)連接速度是否是瓶頸。

  PS:在Unix/Linux系統(tǒng)中,可以參照Unix/Linux系統(tǒng)提供的snmp服務(wù)接口進(jìn)行網(wǎng)絡(luò)分析。

總結(jié)

以上是生活随笔為你收集整理的常见性能计数器及分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。