@import url(http://m.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
性能瓶頸定位案例 《轉(zhuǎn)載》
被測系統(tǒng)介紹
被測系統(tǒng)為B/S結(jié)構(gòu),J2EE架構(gòu),應(yīng)用服務(wù)器為Tomcat,數(shù)據(jù)庫為Oracle 10g。系統(tǒng)的使用對象為公司的內(nèi)部人員,網(wǎng)絡(luò)環(huán)境為100兆局域網(wǎng)。
性能瓶頸描述
客戶反映訪問頁面時反應(yīng)慢,并且出現(xiàn)部分請求失敗的現(xiàn)象。
通過對單用戶的網(wǎng)絡(luò)帶寬計算,排除網(wǎng)絡(luò)瓶頸。
解決思路
在應(yīng)用服務(wù)器Tomcat植入dynaTrace Agent,Agent能7X24實時收集應(yīng)用服務(wù)器的所有的Log,包括最終客戶端向Tomcat發(fā)送的Web Requests、Tomcat向DB請求的SQL語 句、DB執(zhí)行完SQL語句的返回數(shù)據(jù)、Tomcat向最終客戶端發(fā)送的返回數(shù)據(jù)。dynaTrace Server智能分析dynaTrace Collector收集到的所有Agent捕獲的Log。通過dynaTrace Client實時查看監(jiān)控信息,對被測系統(tǒng)進行性能瓶頸定位并分析。詳細(xì)的測試環(huán)境部署圖如下:

解決過程
1)通過Error快速定位瓶頸
對實時監(jiān)控收集的Log進行分析。首先查看其事務(wù)流圖Transaction Flow。如圖2。Failed Transactions顯示失敗的事務(wù)及失敗事務(wù)數(shù)占總事務(wù)數(shù)的百分比。圖2顯示存在失敗的事務(wù)867個,占總事務(wù)數(shù)的3.17%。

對出現(xiàn)失敗的事務(wù)進行分析,首先查看失敗事務(wù)提示的Error Log,如圖3。說明存在4XX 、5XX Error,也有重要程序內(nèi)部Log,具體Error見圖4、圖5、圖6。

將收集的Error Log提交bug給開發(fā)人員。HTTP Response Code的Error詳情可以協(xié)助開發(fā)人員快速定位并修復(fù)有問題的URL。Important Loggings可以幫助開發(fā)人員快速定位程序出現(xiàn)問題的原因。如圖6顯示創(chuàng)建Socket 連接失敗,并提示確認(rèn)相關(guān)Server已開啟或相關(guān)組件已正常運行。
2)快速定位瓶頸原因
在性能索引圖表快速鎖定響應(yīng)時間長的性能索引。如圖7,事務(wù)響應(yīng)時間最長的性能索引為/IOST/as.do,響應(yīng)時間為40004.86ms。

分析性能索引的方法執(zhí)行情況,可快速看到執(zhí)行過程中出現(xiàn)了Exception。如圖8。

定位到出現(xiàn)Exception的源碼,如圖9。

針對響應(yīng)時間最長的性能索 /IOST/as.do進行分析。鉆取性能索引/IOST/as.do 的Web Request,定位其相關(guān)的URL,如圖10。URL為http://172.16.200.61:8080/IOST/as.do,在瀏覽器上訪問 URL報404錯誤,如圖11。

進一步分析404 Error的原因,鉆取性能索引/IOST/as.do的Error,定位到一個JRedis API的Socket連接失敗,如圖12。

效果
JRedis為緩存服務(wù)器。Web前臺將根據(jù)一定規(guī)則,從數(shù)據(jù)庫直接獲取需瀏覽或查詢的信息進行顯示,為了規(guī)避當(dāng)前 系統(tǒng)請求負(fù)擔(dān)引發(fā)事務(wù)處理失敗的情形,引入Redis緩存服務(wù)器,使系統(tǒng)請求入口點統(tǒng)一從緩存進行處理,以達(dá)到快速訪問和確保事務(wù)成功的雙重目的。引入緩 存服務(wù)器大幅度地提高了系統(tǒng)處理客戶請求的能力,解決了系統(tǒng)處理網(wǎng)絡(luò)I/O操作的瓶頸問題。不但提高系統(tǒng)可擴展性,而且有利于提高系統(tǒng)吞吐率。
更多解決方案》》http://www.51testing.cn/
dynaTrace工具》》http://www.51testing.cn/product_service/dynatrace.html
版權(quán)聲明:本文為51Testing軟件測試網(wǎng)原創(chuàng),未經(jīng)明確的書面許可,任何人或單位不得對本網(wǎng)站內(nèi)容復(fù)制、轉(zhuǎn)載或進行鏡像。51testing軟件測試網(wǎng)歡迎與業(yè)內(nèi)同行進行有益的合作和交流,如果有任何有關(guān)內(nèi)容方面的合作事宜,請聯(lián)系我們。
天貓 軟件自動化測試開發(fā)
posted on 2013-09-26 16:47
zouhui 閱讀(318)
評論(0) 編輯 收藏 所屬分類:
2.軟件測試 性能自動化