1. 程式人生 > >(非常有用)loadrunner資源監控問題及調優方法

(非常有用)loadrunner資源監控問題及調優方法

監測物件

Ø System(系統)

l %Total Processor Time

系統中所有處理器都處於繁忙狀態的時間百分比,對於多處理器系統來說,該值可以反映所有處理器的平均繁忙狀態,該值為100%,如果有一半的處理器為繁忙狀態,該值為50%伺服器。器消耗的處理器時間數量.如果伺服器專用於可接受的最大上限是80% -85 %.也就是常見的CPU 使用率.

l File Data Operations/sec

計算機對檔案系統進行讀取和寫入操作的頻率,但是不包括檔案控制操作

l Process Queue Length

執行緒在等待分配CPU資源所排佇列的長度,此長度不包括正在佔有

CPU資源的執行緒。如果該佇列的長度大於處理器個數+1,就表示處理器有可能處於阻塞狀態(參考值:<=處理器個數+1

Ø Processor(處理器)

l %Processor Time

CPU利用率,該計數器最為常用,可以檢視處理器是否處於飽和狀態,如果該值持續超過 95%,就表示當前系統的瓶頸為CPU,可以考慮增加一個處理器或更換一個性能更好的處理器。(參考值:<80%

l %Priviliaged Time

CPU在特權模式下處理執行緒所花的時間百分比。一般的系統服務,進城管理,記憶體管理等一些由作業系統自行啟動的程序屬於這類

l %User Time

%Privileged Time計數器正好相反,指的是在使用者狀態模式下(即非特權模式)的操作所花的時間百分比。如果該值較大,可以考慮是否通過演算法優化等方法降低這個值。如果該伺服器是資料庫伺服器,導致此值較大的原因很可能是資料庫的排序或是函式操作消耗了過多的CPU時間,此時可以考慮對資料庫系統進行優化。表示耗費CPU資料庫操作,如排序,執行aggregate functions等。如果該值很高,可考慮增加索引,儘量使用簡單的表聯接,水平分割大表格等方法來降低該值。

l %DPC Time

處理器在網路處理上消耗的時間,該值越低越好。越低越好。在多處理器系統中,如果這個值大於50%並且

Processor:% Processor Time非常高,加入一個網絡卡可能會提高效能,提供的網路已經不飽和。

Ø Memory(記憶體)

l Page Faults/sec

當處理器在記憶體中讀取某一頁出現錯誤時,就會產生缺頁中斷,也就是 page Fault。如果這個頁位於記憶體的其他位置,這種錯誤稱為軟錯誤,用Transition Fault/sec 來衡量;如果這個頁位於硬碟上,必須從硬碟重新讀取,這個錯誤成為硬錯誤。硬錯誤會使系統的執行效率很快將下來。Page Faults/sec個計數器就表示每秒鐘處理的錯誤頁數,包括硬錯誤和軟錯誤。

l Page Input/sec

表示為了解決硬錯誤而寫入硬碟的頁數(參考值:>=Page Reads/sec)

l Page Reads/sec

表示為了解決硬錯誤而從硬碟上讀取的頁數。

l Page/sec

表示為了解決硬錯誤而從硬碟上讀取或寫入硬碟的頁數(參考值:00~20

l Pages per second:

每秒鐘檢索的頁數。該數字應少於每秒一頁Working set:理執行緒最近使用的記憶體頁,反映了每一個程序使用的記憶體頁的數量。如果伺服器有足夠的空閒記憶體,頁就會被留在工作集中,當自由記憶體少於一個特定的閾值時,頁就會被清除出工作集。

l Available Mbytes

剩餘的可用實體記憶體,單位是兆位元組(參考值:>=10%用實體記憶體數. 如果Available Mbytes的值很小(4 MB 或更小),則說明計算機上總的記憶體可能不足,或某程式沒有釋放記憶體。

l Cathe Bytes

檔案系統的快取(預設為50%的可用實體記憶體)

Ø Process(程序)

l private Bytes

程序無法與其他程序共享的位元組數量。該計數器的值較大時,有可能是記憶體洩露的訊號

l Work set

最近處理執行緒使用的記憶體頁

Ø PhysicalDisk(磁碟)

l %Disk Time

表示磁碟驅動器為讀取或寫入請求提供服務所用的時間百分比,如果只有%Disk Time比較大,硬碟有可能是瓶頸。指所選磁碟驅動器忙於為讀或寫入請求提供服務所用的時間的百分比。如果三個計數器都比較大,那麼硬碟不是瓶頸。如果只有%Disk Time比較大,另外兩個都比較適中,硬碟可能會是瓶頸。在記錄該計數器之前,請在的命令列視窗中執行diskperf -yD。若數值持續超過80%,則可能是記憶體洩漏。應當總小於90%

l Average Disk Queue Length

表示磁碟讀取和寫入請求提供服務所用的時間百分比,可以通過增加磁碟構造磁碟陣列來提高效能(<=磁碟數的2倍)讀取和寫入請求(為所選磁碟在例項間隔中列隊的)的平均數。該值應不超過磁碟數的1.5~2 倍。要提高效能,可增加磁碟。注意:一個Raid Disk實際有多個磁碟。不應當超過物理磁碟數量的2,正常值<0.5

l Average Disk Read Queue Length

表示磁碟讀取請求的平均數

l Average Disk write Queue Length

表示磁碟寫入請求的平均數

l Average Disk sec/Read

磁碟中讀取資料的平均時間,單位是秒

l Average Disk sec/Transer

磁碟中寫入資料的平均時間,單位是秒,一般來說,定義該值小於15ms最為優異,介於15-30ms之間為良好,30-60ms之間為可以接受,超過60ms則需要考慮更換硬碟或硬碟的RAID方式了

l %Disk reads/sec(physicaldisk_total):

每秒讀硬碟位元組. 該指標應總小於磁碟I/O子系統的

l%Disk write/sec(physicaldisk_total):

每秒寫硬碟位元組數. 該指標應當總小於硬碟I/O子系統的容量

l Disk Bytes/sec 

指在進行寫入或讀取操作時從磁碟上傳送或傳出的位元組速率。此值取決於硬碟的速度

l Disk Transfers/sec 

指在此盤上讀取/寫入操作速率。正常值<(DiskBytes/sec)/3,此值過大表示系統要求的IO速度已接近硬碟的最大速度,要更換更快的硬碟D

Ø Network Interface(網路)

l Byte Total/sec

表示網路中接受和傳送位元組的速度,可以用該計數器來判斷網路是否存在瓶頸(參考值:該計數器和網路頻寬相除,<50%

判斷瓶頸

Ø 判斷應用程式的問題

  如果系統由於應用程式程式碼效率低下或者系統結構設計有缺陷而導致大量的上下文切換(context switches/sec顯示的上下文切換次數太高)那麼就會佔用大量的系統資源,如果系統的吞吐量降低並且CPU的使用率很高,並且此現象發生時切換水平在15000以上,那麼意味著上下文切換次數過高.

loadrunner <wbr>windows資源分析器淺析

  從圖的整體看.context switches/sec變化不大,throughout曲線的斜率較高,並且此時的contextswitches/sec已經超過了15000.程式還是需要進一步優化.

Ø 判斷CPU瓶頸

如果processor queue length顯示的佇列長度保持不變(>=2)個並且處理器的利用率%Processortime超過90%,那麼很可能存在處理器瓶頸.如果發現processor queue length顯示的佇列長度超過2,而處理器的利用率卻一直很低,或許更應該去解決處理器阻塞問題,這裡處理器一般不是瓶頸.

loadrunner <wbr>windows資源分析器淺析

%processor time平均值大於95,processor queue length大於2.可以確定CPU瓶頸.此時的CPU已經不能滿足程式需要.急需擴充套件.

CPU資源成為系統性能的瓶頸的徵兆:

很慢的響應時間(slow response time)

CPU空閒時間為零(zero percent idle CPU)

過高的使用者佔用CPU時間(%User Time)

過高的系統佔用CPU時間(%Priviliaged Time:長期大於90%或者95%)

長時間的有很長的執行程序佇列(Process Queue Lengt大於處理器個數+1)

Ø 判斷記憶體洩露問題

  記憶體問題主要檢查應用程式是否存在記憶體洩漏,如果發生了記憶體洩漏,process\private bytes計數器和process\working set 計數器的值往往會升高,同時avaiable bytes的值會降低.記憶體洩漏應該通過一個長時間的,用來研究分析所有記憶體都耗盡時,應用程式反應情況的測試來檢驗.

loadrunner <wbr>windows資源分析器淺析

圖中可以看到該程式並不存在記憶體洩露的問題.記憶體洩露問題經常出現在服務長時間運轉的時候,由於部分程式對記憶體沒有釋放,而將記憶體慢慢耗盡.也是提醒大家對系統穩定性測試的關注.

Windows資源監控中,如果Process\Private Bytes計數器和Process\Working Set計數器的值在長時間內持續升高,同時Memory\Available bytes計數器的值持續降低,則很可能存在記憶體洩漏。

Ø 判斷記憶體不足

 如果佇列長度(Avg.Disk Queue Length)增加的同時頁面讀取速率(Page Reads/sec)並未降低,則記憶體不足。

如果Available Mbytes(剩餘實體記憶體數)的值很小(4 MB 或更小),則說明計算機上總的記憶體可能不足,或某程式沒有釋放記憶體。

Ø 硬體問題

請觀察 Processor\ Interrupts/sec 計數器的值,該計數器測量來自輸入/輸出 (I/O) 裝置的服務請求的速度。如果此計數器的值明顯增加,而系統活動沒有相應增加,則表明存在硬體問題。

Ø I/O資源成為系統性能的瓶頸的徵兆

IO Data Bytes/sec(處理從I/O操作讀取/寫入位元組的速度。這個計數器為所有由本處理產生的包括檔案、網路和裝置I/O的活動計數。)

IO Data Operations/sec

IO Other Bytes/sec

IO Other Operations/sec

IO Read Bytes/sec(每秒IO讀取位元組數)

IO Read Operations/sec

IO Write Bytes/sec(每秒IO寫出位元組數)

IO Write Operations/sec

過高的磁碟利用率(high disk utilization) 

太長的磁碟等待佇列(Physical Disk\ Current Disk Queue Length,正在等待磁碟訪問的系統請求數量

等待磁碟I/O的時間所佔的百分率太高(Average Disk Queue Length

太高的物理I/O速率:large physical I/O rate(not sufficient in itself) 

過低的快取命中率(low buffer cache hit ratio(not sufficient in itself)) 

太長的執行程序佇列,但CPU卻空閒(Process Queue Length)

在方案執行中,如果出現了大於3個使用者的業務操作失敗,或出現了伺服器shutdown的情況,則說明在當前環境下,系統承受不了當前併發使用者的負載壓力,那麼最大併發使用者數就是前一個沒有出現這種現象的併發使用者數

Ø 監視磁碟的使用情況

監視磁碟活動涉及兩個主要方面:

監視磁碟 I/O 及檢測過度換頁

隔離 SQL Server 產生的磁碟活動

監視磁碟 I/O 及檢測過度換頁

可以對下面兩個計數器進行監視以確定磁碟活動:

PhysicalDisk: % Disk Time

PhysicalDisk: Avg. Disk Queue Length

在系統監視器中,PhysicalDisk:% Disk Time計數器監視磁碟忙於讀/寫活動所用時間的百分比。如果PhysicalDisk: % Disk Time計數器的值較高(大於 90%),請檢查PhysicalDisk: Current Disk Queue Length計數器瞭解等待進行磁碟訪問的系統請求數量。等待 I/O 請求的數量應該保持在不超過組成物理磁碟的軸數的 1.5  2 倍。大多數磁碟只有一個軸,但獨立磁碟冗餘陣列 (RAID) 裝置通常有多個軸。硬體 RAID 裝置在系統監視器中顯示為一個物理磁碟。通過軟體建立的多個RAID 裝置在系統監視器中顯示為多個例項。

可以使用Current Disk Queue Length% Disk Time計數器的值檢測磁碟子系統中的瓶頸。如果Current Disk Queue Length% Disk Time計數器的值一直很高,則考慮下列事項:

使用速度更快的磁碟驅動器。

將某些檔案移至其他磁碟或伺服器。

如果正在使用一個 RAID 陣列,則在該陣列中新增磁碟。

如果使用 RAID 裝置,% Disk Time計數器會指示大於 100% 的值。如果出現這種情況,則使用PhysicalDisk: Avg.Disk Queue Length計數器來確定等待進行磁碟訪問的平均系統請求數量。

I/O 依賴的應用程式或系統可能會使磁碟持續處於活動狀態。

監視Memory: Page Faults/sec計數器可以確保磁碟活動不是由分頁導致的。在 Windows 中,換頁的原因包括:

配置程序佔用了過多記憶體。

檔案系統活動。

如果在同一硬碟上有多個邏輯分割槽,請使用Logical Disk計數器而非Physical Disk計數器。檢視邏輯磁碟計數器有助於確定哪些檔案被頻繁訪問。當發現磁碟有大量讀/寫活動時,請檢視讀寫專用計數器以確定導致每個邏輯卷負荷增加的磁碟活動型別,例如,Logical Disk: Disk Write Bytes/sec

Ø 判斷磁碟瓶頸

Disk TimeAvg.Disk Queue Length的值很高,而Page Reads/sec頁面讀取操作速率很低,則可能存在磁碟瓶徑。

  Physical Disk\ Disk Reads/sec and Disk Writes/sec

相關推薦

非常有用loadrunner資源監控問題調方法

監測物件 Ø System(系統) l %Total Processor Time 系統中所有處理器都處於繁忙狀態的時間百分比,對於多處理器系統來說,該值可以反映所有處理器的平均繁忙狀態,該值為100%,如果有一半的處理器為繁忙狀態,該值為50%伺服器。器消耗的處

使用docker-maven-plugin外掛將專案編譯為docker映象到遠端linux伺服器非常有用

 在win10中使用idea開發一個模組化的maven專案,然後想要把該專案直接編譯到遠端Linux伺服器的Docker中,具體做法如下:        第一:在各模組中的pom檔案中加入以下 <plugin> <groupId>co

mysql的sql執行計劃詳解非常有用

引言: 實際專案開發中,由於我們不知道實際查詢的時候資料庫裡發生了什麼事情,資料庫軟體是怎樣掃描表、怎樣使用索引的,因此,我們能感知到的就只有 sql語句執行的時間,在資料規模不大時,查詢是瞬間的,因此,在寫sql語句的時候就很少考慮到效能的問題。但是當資料規模增大,

Socket各結構體定義以及Socket程式設計函式集非常有用

accept()用來接受引數s的socket連線。引數s的socket必需先經bind()、listen()函式處理過,當有連線進來時accept()會返回一個新的socket處理程式碼,往後的資料傳送與讀取就是經由新的socket處理,而原來引數s的socket能繼續使用accept()來接受新的連線要

Linux系統CPU的性能監控調

垃圾 線程的狀態 roo you etc 互聯網 訪問 get 配置文件 前言: 性能優化是一個老生常談的話題,典型的性能問題如頁面響應慢、接口超時,服務器負載高、並發數低,數據庫頻繁死鎖等。尤其是在“糙快猛”的互聯網開發模式大行其道的今天,

Java效能監控調工具

 1、JDK命令列工具                                                                        1.1、jps命令 jps用於列出Java的程序,jps可以增加引數,-m用於輸出傳遞給Java程序的引

Tomcat-8.5.39性能監控調

led 機器 功能 返回 新的 異步處理 conn 大量 進行 一、下載地址 https://tomcat.apache.org/download-80.cgi 二、安裝步驟 將安裝包 apache-tomcat-8.5.39.tar.gz 上傳至服務器 /usr/l

CPU負載觀察調方法

cpu負載觀察及調優方法紅帽6實現無滴答 tick lessinterrupt-driven由軟中斷進行驅動在SMP多CPU架構中,傳統上多CPU對於內存的訪問是總線方式。是總線就會存在資源爭用和一致性問題,而且如果不斷的增加CPU數量,總線的爭用會愈演愈烈,這就體現在4核CPU的跑分性能達不到2核CPU的2

zabbix監控模板修改調不完整版

之前 evel proc 表達式 至少 dir 手動 最新 slave 簡介監控一直在不同的層面為我們的運維工作發揮著重要的作用:網絡層監控,及時發現網絡間的訪問質量(如我們之前介紹的全國maps網絡監控);服務器監控,了解服務器各項性能參數(如常見的zabbix、cact

Java 多執行緒面試題答案非常全面

這篇文章主要是對多執行緒的問題進行總結的,因此羅列了40個多執行緒的問題。 這些多執行緒的問題,有些來源於各大網站、有些來源於自己的思考。可能有些問題網上有、可能有些問題對應的答案也有、也可能有些各位網友也都看過,但是本文寫作的重心就是所有的問題都會按照自己的理解回答一遍,不會去看網上的

docker 實踐docker 資源隔離限制

一、docker 底層實現 docker 通過namespace實現資源隔離;通過cgroup實現資源限額 二、namespace說明 2.1.概述 namespace使得容器像一臺獨立的計算機,namespace實現容器間資源隔離。linux六中namespace mnt namespac

【Java面試11】常問問題答案非常詳細

Java面試常問問題及答案(非常詳細) 一:java基礎 1.簡述string物件,StringBuffer、StringBuilder區分 string是final的,內部用一個final型別的char陣列儲存資料,它的拼接效率比較低,實際上是通過建立一個StringBuffer,讓後臺呼叫a

pragma pack非常有用的位元組對齊用法說明

強調一點: #pragma pack(4) typedef struct {     char buf[3];     word a; }kk; #pragma pack() 對齊的原則是min(sizeof(word ),4)=2,因此是2位元組對齊,而

#pragma pack非常有用的位元組對齊用法說明

#pragma pack(4)   //按4位元組對齊,但實際上由於結構體中單個成員的最大佔用位元組數為2位元組,因此實際還是按2位元組對齊 typedef struct {     char buf[3];//buf[1]按1位元組對齊,buf[2]按1位元組對齊

solr facet查詢solrj 讀取facet資料相當有用

Facet 是 solr 的高階搜尋功能之一 , 可以給使用者提供更友好的搜尋體驗 . 在搜尋關鍵字的同時 , 能夠按照 Facet 的欄位進行分組並統計 . 一般代表了實體的某種公共屬性 , 如商品的分類 , 商品的製造廠家 , 書籍的出版商等等 . Face

用Python玩微信非常詳細

tree dir colors 位置 echarts 拼接 spl 表示 開源項目 代碼放在這裏:wzyonggege/python-wechat-itchat 詞雲那裏可以換成小黃人圖片 -----------------------------------------

Spring Bean的生命周期非常詳細(轉載)

res 包含 初始 ini 文件 roc arc strac www Spring作為當前Java最流行、最強大的輕量級框架,受到了程序員的熱烈歡迎。準確的了解Spring Bean的生命周期是非常必要的。我們通常使用ApplicationContext作為Spring容

Hadoop作業性能指標參數調實例 Hadoop作業性能調7個建議

optimize 自帶 管理 導致 10g avg merge map 設置 作者:Shu, Alison Hadoop作業性能調優的兩種場景: 一、用戶觀察到作業性能差,主動尋求幫助。 (一)eBayEagle作業性能分析器 1. Hadoop作業性能異常指標 2.

Spring MVC-視圖解析器View Resolverr-內部資源查看解析器Internal Resource View Resolver示例轉載實踐

ast mes 技術 子文件夾 schema html cati href tree 以下內容翻譯自:https://www.tutorialspoint.com/springmvc/springmvc_internalresourceviewresolver.htm 說

Linux學習總結十六系統用戶用戶組管理

useradd groupadd usermod passwd mkpasswd 先來認識兩個文件/etc/passwd/etc/shadow我們打印出首尾三行,來了解下:每行由:分割為7段,每段含義為:第一段:用戶名,比如root 用戶,普通用戶test,lv,test1第二段:早期存放