jialisoftw

          Btrace在性能測試中的使用

          在測試環(huán)境安裝btrace,可以用于排查接口調用的時間,分析測試點的瓶頸。以下簡單介紹安裝和使用。

          1.      安裝:btrace是一個開源代碼軟件,下載安裝的地址在:http://kenai.com/projects/btrace/downloads/directory/releases/release-1.2.1,下載得到tar.gz包,在應用服務器上使用sudo–u admin –H rz命令上傳tar.gz包,如果使用該命令時傳輸失敗,比如傳輸不完全等,則使用sudo –u admin –H rz –be命令(為什么要用admin賬號的權限是因為我們啟動應用用的賬號都是admin,如果用root賬號創(chuàng)建的文件,admin賬號啟動的應用可能沒有權限訪問該文件)。上傳完成后解壓,tar zvxf xxx.tar.gz,解壓后會看到:bin、build、docs、samples等目錄,bin目錄下是windows的啟動bat腳本和linux啟動的shell腳本,build下面是btrace源碼打出來的jar包,docs目錄下是btrace的使用文檔,samples目錄下是一些btrace腳本的例子。安裝完成。如果要查看btrace的源代碼,需要先安裝版本控制工具Mercurial客戶端,btrace的源代碼使用Mercurial管理,地址在:http://mercurial.selenic.com/。下載時如果報如下錯誤:abort:hg.kenai.com certificate error: certificate is for kenai.com(configurehostfingerprint 9c:f6:c3:1f:14:bc:98:82:de:2a:5b:6e:d2:ce:61:5d:95:e1:65:a5 oruse --insecure to connect insecurely)。則可以改用hg clone--insecurehttps://hg.kenai.com/hg/btrace~hg命令來下載。

          2.      使用:編寫btrace腳本,通常我們需要編寫的腳本是打點某個方法的調用時間,一個例子如下: 


           寫好了腳本之后,同樣用rz命令上傳到btrace/bin目錄下。執(zhí)行之前需要知道當前需要監(jiān)控的代碼所在java進程的進程id,可以使用sudo jps或者ps –ef| grep java兩個命令獲取,得到進程id后,執(zhí)行:sudo –u admin –H sh btrace 9926 CTest.java,當應用執(zhí)行com.taobao.department.web.module.control.BrandsellFloorList的execute方法并返回后,會打印出諸如“floor execute Time taken ms 100”的語句,從而能夠非常直觀得看到方法調用的時間,通過多幾個時間打點,我們很容易得能排查得出接口中調用時間比較長得異常代碼塊。

          3.      想法:通過排查應用中接口代碼的調用時間分布來排查性能瓶頸是日常性能測試中最常用的方式,這種方式到目前為止經(jīng)歷了幾種方式的演變:應用中日志打點,輸出時間---àBtrace腳本。相比于日志打點,btrace腳本有著明顯的優(yōu)勢:動態(tài)、方便并且能給那些我們無法修改源代碼的第三方jar包增加打點,但是,我們始終還是要寫btrace腳本,如果有多個方法需要監(jiān)控,腳本數(shù)量會比較大。使用btrace開發(fā)的原理,我們可以把動態(tài)時間打點以工具的形式提供出來。類似以下的功能:在工具上選擇遠程的進程,輸入進程中的接口名和方法名,選擇打點,然后得到該接口調用時間的實時曲線圖表,這看起來就美妙多了。

          posted on 2012-10-29 09:31 飛豬一號 閱讀(1687) 評論(1)  編輯  收藏

          評論

          # re: Btrace在性能測試中的使用 2012-10-30 15:51 隱形透視眼鏡

          挺有意思的呀嘿嘿  回復  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           

          導航

          <2012年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 易门县| 吉首市| 博客| 平泉县| 盐亭县| 马边| 虹口区| 塘沽区| 娄底市| 宜宾县| 寿阳县| 赣州市| 连平县| 乐亭县| 乌兰浩特市| 博爱县| 永修县| 常州市| 长岭县| 长丰县| 老河口市| 新宁县| 盐亭县| 石屏县| 云安县| 恩施市| 安阳市| 郑州市| 永康市| 泽州县| 桂林市| 吉林市| 亚东县| 泰顺县| 陕西省| 靖远县| 丰县| 泽普县| 吴江市| 牡丹江市| 灵丘县|