性能瓶頸定位案例
被測(cè)系統(tǒng)為B/S結(jié)構(gòu),J2EE架構(gòu),應(yīng)用服務(wù)器為Tomcat,數(shù)據(jù)庫(kù)為Oracle 10g。系統(tǒng)的使用對(duì)象為公司的內(nèi)部人員,網(wǎng)絡(luò)環(huán)境為100兆局域網(wǎng)。
性能瓶頸描述
客戶反映訪問(wèn)頁(yè)面時(shí)反應(yīng)慢,并且出現(xiàn)部分請(qǐng)求失敗的現(xiàn)象。
通過(guò)對(duì)單用戶的網(wǎng)絡(luò)帶寬計(jì)算,排除網(wǎng)絡(luò)瓶頸。
解決思路
在應(yīng)用服務(wù)器Tomcat植入dynaTrace Agent,Agent能7X24實(shí)時(shí)收集應(yīng)用服務(wù)器的所有的Log,包括最終客戶端向Tomcat發(fā)送的Web Requests、Tomcat向DB請(qǐng)求的SQL語(yǔ) 句、DB執(zhí)行完SQL語(yǔ)句的返回?cái)?shù)據(jù)、Tomcat向最終客戶端發(fā)送的返回?cái)?shù)據(jù)。dynaTrace Server智能分析dynaTrace Collector收集到的所有Agent捕獲的Log。通過(guò)dynaTrace Client實(shí)時(shí)查看監(jiān)控信息,對(duì)被測(cè)系統(tǒng)進(jìn)行性能瓶頸定位并分析。詳細(xì)的測(cè)試環(huán)境部署圖如下:
解決過(guò)程
1)通過(guò)Error快速定位瓶頸
對(duì)實(shí)時(shí)監(jiān)控收集的Log進(jìn)行分析。首先查看其事務(wù)流圖Transaction Flow。如圖2。Failed Transactions顯示失敗的事務(wù)及失敗事務(wù)數(shù)占總事務(wù)數(shù)的百分比。圖2顯示存在失敗的事務(wù)867個(gè),占總事務(wù)數(shù)的3.17%。
對(duì)出現(xiàn)失敗的事務(wù)進(jìn)行分析,首先查看失敗事務(wù)提示的Error Log,如圖3。說(shuō)明存在4XX 、5XX Error,也有重要程序內(nèi)部Log,具體Error見(jiàn)圖4、圖5、圖6。
將收集的Error Log提交bug給開(kāi)發(fā)人員。HTTP Response Code的Error詳情可以協(xié)助開(kāi)發(fā)人員快速定位并修復(fù)有問(wèn)題的URL。Important Loggings可以幫助開(kāi)發(fā)人員快速定位程序出現(xiàn)問(wèn)題的原因。如圖6顯示創(chuàng)建Socket 連接失敗,并提示確認(rèn)相關(guān)Server已開(kāi)啟或相關(guān)組件已正常運(yùn)行。
2)快速定位瓶頸原因
在性能索引圖表快速鎖定響應(yīng)時(shí)間長(zhǎng)的性能索引。如圖7,事務(wù)響應(yīng)時(shí)間最長(zhǎng)的性能索引為/IOST/as.do,響應(yīng)時(shí)間為40004.86ms。
分析性能索引的方法執(zhí)行情況,可快速看到執(zhí)行過(guò)程中出現(xiàn)了Exception。如圖8。
定位到出現(xiàn)Exception的源碼,如圖9。
針對(duì)響應(yīng)時(shí)間最長(zhǎng)的性能索 /IOST/as.do進(jìn)行分析。鉆取性能索引/IOST/as.do 的Web Request,定位其相關(guān)的URL,如圖10。URL為http://172.16.200.61:8080/IOST/as.do,在瀏覽器上訪問(wèn) URL報(bào)404錯(cuò)誤,如圖11。
進(jìn)一步分析404 Error的原因,鉆取性能索引/IOST/as.do的Error,定位到一個(gè)JRedis API的Socket連接失敗,如圖12。
效果
JRedis為緩存服務(wù)器。Web前臺(tái)將根據(jù)一定規(guī)則,從數(shù)據(jù)庫(kù)直接獲取需瀏覽或查詢的信息進(jìn)行顯示,為了規(guī)避當(dāng)前 系統(tǒng)請(qǐng)求負(fù)擔(dān)引發(fā)事務(wù)處理失敗的情形,引入Redis緩存服務(wù)器,使系統(tǒng)請(qǐng)求入口點(diǎn)統(tǒng)一從緩存進(jìn)行處理,以達(dá)到快速訪問(wèn)和確保事務(wù)成功的雙重目的。引入緩 存服務(wù)器大幅度地提高了系統(tǒng)處理客戶請(qǐng)求的能力,解決了系統(tǒng)處理網(wǎng)絡(luò)I/O操作的瓶頸問(wèn)題。不但提高系統(tǒng)可擴(kuò)展性,而且有利于提高系統(tǒng)吞吐率。
更多解決方案》》http://www.51testing.cn/
dynaTrace工具》》http://www.51testing.cn/product_service/dynatrace.html
版權(quán)聲明:本文為51Testing軟件測(cè)試網(wǎng)原創(chuàng),未經(jīng)明確的書(shū)面許可,任何人或單位不得對(duì)本網(wǎng)站內(nèi)容復(fù)制、轉(zhuǎn)載或進(jìn)行鏡像。51testing軟件測(cè)試網(wǎng)歡迎與業(yè)內(nèi)同行進(jìn)行有益的合作和交流,如果有任何有關(guān)內(nèi)容方面的合作事宜,請(qǐng)聯(lián)系我們。
posted on 2013-06-07 10:42 順其自然EVO 閱讀(469) 評(píng)論(0) 編輯 收藏 所屬分類: 性能測(cè)試