LoadRunner負載測試之Windows常見效能計數器,分析伺服器效能瓶頸(二)

來源:互聯網
上載者:User
文章目錄
  • 判斷瓶頸
判斷瓶頸Ø 判斷應用程式的問題

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

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

Ø 判斷CPU瓶頸

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

%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的值會降低.記憶體流失應該通過一個長時間的,用來研究分析所有記憶體都耗盡時,應用程式反應情況的測試來檢驗.

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

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 Time和Avg.Disk Queue Length的值很高,而Page Reads/sec頁面讀取操作速率很低,則可能存在磁碟瓶徑。

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

Physical Disk\ Current Disk Queue Length

Physical Disk\ % Disk Time

LogicalDisk\ % Free Space

  測試磁碟效能時,將效能資料記錄到另一個磁碟或電腦,以便這些資料不會干擾您正在測試的磁碟。

  可能需要觀察的附加計數器包括 Physical Disk\ Avg.Disk sec/Transfer 、Avg.DiskBytes/Transfer,和Disk Bytes/sec。

Avg.Disk sec/Transfer 計數器反映磁碟完成請求所用的時間。較高的值表明磁碟控制卡由於失敗而不斷重試該磁碟。這些故障會增加平均磁碟傳送時間。對於大多數磁碟,較高的磁碟平均傳送時間是大於 0.3 秒。

  也可以查看 Avg.Disk Bytes/Transfer 的值。值大於 20 KB 表示該磁碟機通常運行良好;如果應用程式正在訪問磁碟,則會產生較低的值。例如,隨機訪問磁碟的應用程式會增加平均 Disk sec/Transfer 時間,因為隨機傳送需要增加搜尋時間。

Disk Bytes/sec 提供磁碟系統的吞吐率。

  決定工作負載的平衡要平衡網路伺服器上的負載,需要瞭解伺服器磁碟機的繁忙程度。使用 Physical Disk\ %Disk Time 計數器,該計數器顯示磁碟機啟用時間的百分比。如果 % Disk Time 較高(超過90%),請檢查 Physical Disk\ Current Disk Queue Length 計數器以查看正在等待磁碟訪問的系統請求數量。等待 I/O 請求的數量應當保持在不大於組成物理磁碟的主軸數的 1.5 到2倍。

  儘管廉價磁碟冗餘陣列 (RAID) 裝置通常有多個主軸,大多數磁碟有一個主軸。硬體 RAID裝置在“系統監視器”中顯示為一個物理磁碟;通過軟體建立的 RAID 裝置顯示為多個磁碟機(執行個體)。可以監視每個物理磁碟機(而不是 RAID)的 Physical Disk 計數器,也可以使用 _Total 執行個體來監視所有電腦磁碟機的資料。

使用 Current Disk Queue Length 和 % Disk Time 計數器來檢測磁碟子系統的瓶頸。如果Current Disk Queue Length 和 % Disk Time 的值始終較高,可以考慮升級磁碟機或將某些檔案移動到其他磁碟或伺服器。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.