windbg定位WEB效能瓶頸案例一則

2021-09-06 17:29:41 字數 892 閱讀 4185

伺服器:ii伺服器 

條件

併發: 2000 

表現

cpu:100% 對應w3wp程序 

webservice–>current connections:2300 

db:cpu 10% 無壓力

壓力降低後表現

隨著併發量下降,cpu 和 webservice–>current connections 隨著下降,隨後恢復正常;

分析

1)iis的cpu達到100%,db的cpu只有10%,瓶頸可能在web程式端; 

2)壓力降低後,cpu 和 webservice–>current connections 隨著下降,並恢復正常,說明有等待,沒有死鎖;

dump檔案分析

1)用  !syncblk 找出等待資源,資訊如下: 

2)切換到 91 執行緒看看它在幹什麼 

3)看看其他執行緒在幹什麼 ~* e !clrstack, 最後看到大部分的呼叫如下 

結論

明了了,在查詢母版頁的時候,申請了排它鎖,其他執行緒需要等待當前持有鎖的執行緒釋放之後才能繼續往下執行,形成了較長的佇列,成為了瓶頸。

web效能瓶頸

1.網路,網路不好,其他做得再好,效能也是問題。其中包括自己的頻寬和請求的數量,頻寬是我們無法控制的。我們能做的是盡可能的減少不必要的請求。2.伺服器,乙個產品,伺服器是關鍵,所有的請求都要經過伺服器的處理。伺服器效能包括選擇的伺服器型別,如 iis,apache等,和伺服器的硬體。我們需要根據實際...

MYSQL 效能瓶頸定位

查詢與索引優化分析 在優化mysql時,通常需要對資料庫進行分析,常見的分析手段有慢查詢日誌,explain 分析查詢,profiling分析以及show命令查詢系統狀態及系統變數,通過定位分析效能的瓶頸,才能更好的優化資料庫系統的效能。1 效能瓶頸定位show命令 我們可以通過show命令檢視my...

使用dev tool定位頁面效能瓶頸

這是部門同事的一次內部分享,聽完後受益頗多,趁著記憶還算新鮮,趕緊記錄一波。當瀏覽器傳送乙個請求到接受所有響應資料截止,這個過程發生了什麼?我們最關心的時間又是如何被消耗的?從connection start到content download 圖 1 請求並得到乙個網路資源 檔案的過程 及時間 名詞...