最近碰到一件棘手的事情,系統會莫名其妙的變慢,沒有規律。
做第一次診斷:中間件日誌,gc日誌,httpwatch,Oracle數據庫報告,服務器nmon日誌,逐一檢查,均無性能瓶頸。
做第二次診斷:慢的情況不是必現,多次httpwatch的結果發現,每次都是18.9s左右,有時候是紅色的等待多(服務處理請求的等待),有時候是白色的等待多(瀏覽器發送給服務端的等待)。光看httpwatch,無法定位爲什麼慢,需要再進行一輪診斷。
做第三次診斷:使用chrome和wireshark,chrome捕捉到具體慢的請求,wireshark來獲取包的信息。兩者對照看,通過下麪條件過來。
ip.addr eq 10.XX.XX.64 and ip.addr eq 10.XX.XX.166 and tcp.port eq 12943 and tcp.port eq 9093
最後診斷是有包重傳的問題,重傳5次,每次重傳的時間比上次*2。