亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP.NET性能監視參數詳解

2019-11-17 01:55:07
字體:
來源:轉載
供稿:網友

asp.net性能監視參數詳解

性能監視器- Performance Monitor

性能監視器是Windows自帶的系統資源和性能監視工具. 性能監視器能夠量化地提供CPU使用率, 內存分配狀況, 異常派發情況, 線程調度頻率等信息. ASP.NET能夠提供每秒鐘的請求數目, 請求響應時間等等. 性能監視器能夠監視一段時間內上述資源的利用情況, 提供平均值和峰值。

性能監視器有助于獲取關于性能的具體指標, 監視問題出現時系統資源的變化情況. 通過檢查性能監視器中一些重要計數器的變化情況, 往往能夠找到一些比較有用的線索. 比如比較ASP.NET每秒請求數目, 請求響應時間和CPU利用率是否有相同的變化曲線就能看出性能是否跟負載相關。

解決性能問題的時候, 往往會讓客戶添加下面一些計數器進行性能收集。

  • PRocess object下的所有計數器
  • Processor object下的所有計數器
  • System object下的所有計數器
  • Memory object下的所有計數器
  • 如果客戶的程序時.NET程序, 還會添加以.NET開頭的object下的所有計數器.
  • 如果客戶使用ASP.NET, 還會添加以ASP.NET開頭的object下的所有計數器.

分析性能日志的時候, 重點觀察下面這些計數器.

Process object

=============

Process object中的計數器可以根據目標進程分析內存, CPU, 線程數目和handle數目. 選出問題的目標進程, 然后分析目標進程的下面一些計數器.

%Processor Time

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

該計數器是該進程占用CPU資源的指標. 即便進程繁忙的時候, CPU平均占用率應該在80%以內. 如果超過該數值, 可以認為程序發生了高CPU的問題. 另外一種問題是CPU波動幅度大. 雖然平均占用率不高, 但是上下跳動頻繁. 在某一個短時間段里面, 會有連續高CPU的情況出現.

Handle Count

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

該計數器記錄了當前進程使用的kernel object handle數量. Kernel object是重要的系統資源. 當程序進入穩定運行狀態的時候, Handle Count數量也應該維持在一個穩定的區間. 如果發現Handle Count在整個程序周期內總體趨勢連續向上, 應該考慮程序是否有Handle Leak.

ID Process

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

該計數器記錄了目標進程的進程ID. 你可能覺得奇怪, ID有什么好觀察的? 進程ID是用來觀察程序是否有重啟發生. 比如ASP.NET工作進程可能會自動回收. 由于進程名都相同, 所以只有通過進程ID來判斷是否有重新啟動現象. 如果ID有變化, 那么而看看程序是否發生崩潰或者Recycle.

Private Bytes

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

該計數器記錄了當前通過VirtualAlloc API進行的, Commit了的Memory數量. 無論是直接調用API申請的內存, Heap Manager申請的內存, 還是CLR的managed heap, 都算在里面. 跟Handle Count一樣, 如果在整個程序周期內總體趨勢連續向上, 說明有Memory Leak.

Virtual Bytes

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

該計數器記錄了當前進程申請成功的用戶態總內存地址, 包括DLL/EXE占用的地址和通過VirtualAlloc API進行的, Reserve了的內存地址數量, 所以該計數器應該總大于Private Bytes. 一般說來, Virtual Bytes與Private Bytes的變化大致一致. 由于內存分片的存在, Virtual Bytes與Private Bytes一般保持一個相對穩定的比例關系. 當Virtual Bytes與Private Bytes的比例大于2的時候, 程序往往有比較嚴重的內存地址分片.

Processor object

==============

Processor object記錄系統中芯片的負載情況. 由于普通程序并不可以綁定到某個具體的CPU上執行, 所以在多CPU機器上觀察Total Instance也就足夠了.

%Processor Time

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

該計數器跟Process下的%Processor Time的意義一樣, 不過這里記錄的不是針對具體的某一個進程, 而是整個系統. 通過把該計數器跟Process下的同名計數器一起比較, 就能看出系統的高CPU問題是否是由于單一的某個進程導致的.

System object

==============

System object記錄系統中一個整體的統計信息. 所以不區分instance. 通過比較System object下的counter和其他counter的變化趨勢, 往往能看出一些線索.

Context Switch/ sec

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

Context Switch標示了系統中整體線程的調度, 切換頻率. 線程切換是開銷比較大的操作. 頻繁的線程切換回導致大量CPU周期被浪費. 所以當看到高CPU的時候, 一定要與Context Switch一起比較. 如果兩者有相同的變化趨勢, 高CPU往往是由于contention(線路爭奪)導致的, 而不是死循環.

Exception Dispatches/ sec

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

Exception Dispatches表示了系統中異常派發, 處理的頻繁程度. 跟線程切換一樣, 異常處理也需要大量的CPU開銷. 分析方法跟Context Swith雷同.

File Data Operations/ sec

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

File Data Operations記錄了當前系統中磁盤文件讀寫的頻繁程度. 通過觀察該計數器跟其他性能指針的變化趨勢, 能夠判斷磁盤文件操作是否是性能瓶頸. 類似的計數器還有Network Interface, Bytes Total/ sec

Memory Object

=============

Memory object記錄了當前系統中整體內存的統計信息.

Avaiable Mbytes 和 Committed Bytes

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

Available Mbytes記錄了當前剩余的物理內存數量. Committed Bytes記錄了所有進程commit的內存數量. 結合兩個計數器可以觀察到:

  1. 兩者相加可以粗略估計系統總體可用內存的多少, 便于估計物理配置.
  2. 當Available Mbytes少于100MB的時候, 說明系統總體內存緊張, 會影響到系統所有進程的性能. 應該考慮增加物理內存或檢查內存泄露.
  3. 通過比較Process object中的Private Bytes和Virtual Bytes, 便于進一步確認是否有內存泄露, 判斷內存泄露是否是由某一單個進程導致的.

Free System Page Table Entries, Pool Paged Bytes 和 Pool Nonpaged Bytes

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

這三個計數器可以衡量核心態空閑內存的數量. 特別是當使用/3GB開關后, 核心態內存地址被壓縮, 容易導致核心態內存不足, 繼而引發一些非常奇怪的問題.

.NET CLR Memory object

=============

.NET CLR Memory object記錄了CLR進程中跟CLR相關的內存信息. 該類別下的所有計數器都很有趣, 意思也非常直接. 建議用一個例子程序進行測試和研究. 下面是兩個最常用的計數器.

Bytes in all heaps

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

Bytes in all heaps 記錄了上次GC發生時所統計到的, 進程中不能被回收的所有CLR object占用的內存空間. 該計數器不是實時的, 每次GC發生的時候, 該計數器才更新. 與同一進程的Process下的Private Bytes比較, 可以區分出managed heap和native memory的變化情況. 對于memory leak, 便于區分是managed heap的leak, 還是native memory 的leak.

%Time in GC

%Time in GC記錄了GC發生的頻繁程度. 一般來說15%以內算比較正常. 當超過20%時, 說明GC發生過于頻繁. 由于GC不僅帶來很高的CPU開銷, 而且還需要掛起目標進程的CLR線程, 所以高頻率GC是非常危險的. 通過跟CPU利用率和其他性能指標的比較, 往往能夠看出GC對性能的影響. 高頻率的GC往往因為:

  1. 負載過高.
  2. 不合理的架構, 對內存使用率不高.
  3. 內存泄露, 內存碎片導致內存壓力.

性能監視參數詳解

ASP.NET 支持兩組性能計數器:系統和應用程序。前者在 ASP.NET 性能計數器對象中的 PerfMon 中公開;后者在 ASP.NET applications 性能對象中公開。ASP.NET 性能對象中的 State Server sessions 計數器(僅適用于在其中運行狀態服務器的服務器計算機)和 ASP.NET Applications 性能對象中的 Sessions 計數器(僅適用于進程中發生的用戶會話)之間存在很大的差異。

在監視 ASP.NET Web 應用程序的性能時,應該始終跟蹤下表中列出的性能計數器。

性能對象

性能計數器

ASP.NET

Application Restarts

ASP.NET

Requests Queued

ASP.NET

Worker Process Restarts

ASP.NET Applications

Errors Total

ASP.NET Applications

Requests/Sec

Processor

% CPU Utilization

ASP.NET 系統性能計數器

ASP.NET 支持以下 ASP.NET 系統性能計數器。它們匯集 Web 服務器計算機上所有 ASP.NET 應用程序的信息,或者它們通常應用于運行相同應用程序的 ASP.NET 服務器的系統。它們可能包含 Web 場和 Web 園。

性能對象

計數器

實例

描述

Processor(處理器)

% Processor Time(處理器時間百分比)

__Total

"% Processor Time"監視運行 Web 服務器的計算機的 CPU 利用率。低 CPU 利用率或者無法最大化 CPU 利用率(無論客戶端負載為多少)都表明 Web 應用程序中存在對資源的爭用或鎖定。

Process(進程)

% Process

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩视频免费中文字幕| 国模私拍视频一区| 亚洲最大的成人网| 91精品国产色综合久久不卡98口| 91av在线视频观看| 亚洲奶大毛多的老太婆| 2020国产精品视频| 国产成人亚洲综合91精品| 欧美日韩美女视频| 成人网址在线观看| 亚洲国产精品人久久电影| 日韩av在线高清| 国产综合视频在线观看| 国产精品电影观看| 亚洲999一在线观看www| 久久亚洲电影天堂| 欧美激情a在线| 亚洲第一av网| 亚洲精品久久久久中文字幕欢迎你| 久久久精品久久久久| 久久久久久久久久国产精品| 欧美夫妻性生活视频| 一区二区日韩精品| 国产成人欧美在线观看| 高清日韩电视剧大全免费播放在线观看| 视频在线观看一区二区| 青青草99啪国产免费| 乱亲女秽乱长久久久| 久久香蕉频线观| 久青草国产97香蕉在线视频| 日本高清不卡在线| 国产精品99久久久久久久久久久久| 亚洲精品一区二区三区不| 欧美在线视频免费| 中文字幕亚洲激情| 亚洲欧美国产精品va在线观看| 韩国福利视频一区| 色吧影院999| 亚洲色图第三页| 在线一区二区日韩| 亚洲欧美在线磁力| 91精品在线看| 色综合久久88色综合天天看泰| 久久久精品一区二区| 国产欧美久久一区二区| 亚洲第一页中文字幕| 亚洲激情视频在线播放| 国产一区私人高清影院| 欧美福利视频在线观看| 亚洲一二三在线| 中文字幕亚洲综合久久筱田步美| 91久久精品日日躁夜夜躁国产| 91av视频在线免费观看| 91美女片黄在线观看游戏| 亚洲国产精品大全| 美女啪啪无遮挡免费久久网站| 久久成年人免费电影| 欧美性猛交xxxx乱大交极品| 最近2019中文字幕大全第二页| 国产亚洲美女精品久久久| 免费97视频在线精品国自产拍| 国产精品香蕉国产| 国产欧美精品日韩精品| 欧美洲成人男女午夜视频| 欧美激情啊啊啊| 最新中文字幕亚洲| 日韩欧美中文免费| 久久偷看各类女兵18女厕嘘嘘| 欧美成人三级视频网站| 国产xxx69麻豆国语对白| 亚洲欧美一区二区精品久久久| 最近2019年日本中文免费字幕| 亚洲精品久久久久国产| 国产视频久久久久| 国产免费一区二区三区在线能观看| 亚洲免费视频观看| 91精品国产91久久| 国产精品久久久久久久久久久久久久| 久久精品视频网站| 成人做爽爽免费视频| 欧美成人免费在线视频| 亚洲激情成人网| 成人美女av在线直播| 亚洲色图在线观看| 国产在线精品播放| 亚洲一区二区三区四区在线播放| 91成品人片a无限观看| 亚洲国内高清视频| 欧美激情videos| 日韩一区二区久久久| 97精品伊人久久久大香线蕉| 日韩美女毛茸茸| 亚洲香蕉在线观看| 亚洲国产成人精品一区二区| 欧美精品在线看| 亚洲第一天堂av| 不卡伊人av在线播放| 日韩在线视频中文字幕| 欧美日韩中文字幕日韩欧美| 欧美精品久久久久久久久久| 亚洲加勒比久久88色综合| 美女性感视频久久久| 国产精品69精品一区二区三区| 日韩精品高清在线观看| 另类专区欧美制服同性| 在线视频一区二区| 在线看片第一页欧美| 国产经典一区二区| 国产成人亚洲综合| 亚洲第一区中文99精品| 国产午夜精品麻豆| 奇米成人av国产一区二区三区| 国产精品美女在线| 国产精品福利网| 成人中心免费视频| 欧美激情在线狂野欧美精品| 亚洲偷熟乱区亚洲香蕉av| 成人福利在线观看| 亚洲图片欧美午夜| 久久视频在线观看免费| 51久久精品夜色国产麻豆| 欧美亚洲午夜视频在线观看| 亚洲少妇中文在线| 国产一区二区三区毛片| 成人日韩av在线| 成人写真福利网| 国产精品自在线| 日韩免费看的电影电视剧大全| 久久久亚洲影院你懂的| 在线色欧美三级视频| 欧美日韩美女在线观看| 亚洲成人黄色在线观看| 中文字幕在线精品| 91av在线免费观看视频| 91精品国产自产在线| 亚洲欧洲日本专区| 91精品国产自产91精品| 日产精品久久久一区二区福利| 欧美日韩不卡合集视频| 中文字幕一区二区精品| 亚洲男人av在线| 欧美国产亚洲精品久久久8v| 亚洲国产精品网站| 精品久久久久久国产91| 亚洲欧美综合区自拍另类| 91在线网站视频| 成人国产精品久久久久久亚洲| 欧美性xxxx极品hd欧美风情| 日韩精品免费在线观看| 成人免费网视频| 精品呦交小u女在线| 国产免费一区二区三区在线观看| 国产精品久久久久久网站| 国产精品日韩专区| 国产日韩欧美在线看| 日韩电影网在线| 成人观看高清在线观看免费| 日本久久91av| 亚洲bt欧美bt日本bt| 欧洲亚洲女同hd| 在线观看日韩www视频免费| 成人国产精品色哟哟| 国产美女久久精品香蕉69| 91探花福利精品国产自产在线|