qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          性能瓶頸定位案例

          被測(cè)系統(tǒng)介紹

            被測(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è)試

          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 谢通门县| 安吉县| 玉林市| 芦山县| 塘沽区| 黑水县| 黑龙江省| 南宁市| 鄯善县| 克山县| 榕江县| 衡东县| 郴州市| 邻水| 商丘市| 竹山县| 佳木斯市| 株洲县| 武义县| 张家口市| 平江县| 海林市| 密云县| 钦州市| 万荣县| 疏附县| 田阳县| 手机| 镇原县| 合肥市| 五指山市| 郎溪县| 天等县| 石河子市| 登封市| 浦北县| 桐梓县| 乌鲁木齐市| 民乐县| 娄烦县| 锡林浩特市|