在項目框架搭建好後,決定測試一下服務的性能,並測試一下是否存在內存泄漏等問題,所以決定開始測試之路。因爲第一次搞,所以也是在摸索中前行。最後選擇Jmeter作爲服務性能測試工具,使用Jconsole作爲內存監控工具。
1.jmeter的使用
下載地址:https://jmeter.apache.org/download_jmeter.cgi
選擇版本下載即可,順便下載插件包,地址:https://jmeter-plugins.org/install/Install/ ,下載 plugins-manager.jar 之後Jmeter的lib/ext目錄下即可。
之後進入解壓目錄,進入bin目錄,windows雙擊jmeter.bat即可打開。頁面效果如下:
之後就可以添加線程組,右鍵選擇線程組,填寫線程數和循環次數即可。
線程組建好後右鍵線程組新建測試樣本,注意層級,Sampler是新建在線程組下,我第一次使用都是同層結構導致一直無法正常使用。新建好後如下圖,我這裏建立的HTTP連接,其他選擇如下圖:
建好後如下圖,此處選擇百度首頁作爲測試:
建好Sampler後右鍵此Sampler新建監聽器查看結果:(此處我建立了三種監聽器,用來查看結果和彙總)
監聽器建好之後,點擊上方綠色三角啓動測試,右側掃把按鈕爲清空之前測試結果。
運行後可以在Listener查看結果:
備註:Response Times Over Time 是通過插件建立的,如果已經將插件管理jar放置到ext目錄下,就可以在Options中選擇Plugins Manager進行插件安裝。
2.Jconsole的使用
Jconsole是JDK自帶的監控工具,在JDK的bin目錄下直接打開jconsole.exe即可,可選擇本地應用和遠程應用監控,本地監控直接選擇即可,遠程監控需要打開監控參數。
遠程應用啓動時需要增加JVM參數:-Djava.rmi.server.hostname=172.18.21.166 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=13214 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
指定host爲遠程主機ip,監控端口。
增加參數後啓動即可被Jconsole監控。
在上方輸入ip和端口,用戶名密碼即可開始監控,效果如下圖:
此處我只是簡單的看了內存使用情況和線程數目是否在預期內,運行一天後沒有內存飆升,線程數也在預期之內,算是簡單的完成了測試的目標。
以上就是服務測試工具Jmeter和Jconsole的基本使用,功能都是十分強大的,推薦大家使用。