一语婴、JMeter
Apache JMeter是Apache組織開發(fā)的基于Java的壓力測試工具。用于對軟件做壓力測試张峰,它最初被設(shè)計用于Web應(yīng)用測試,但后來擴(kuò)展到其他測試領(lǐng)域务豺。
1.1、JMeter的作用
1.能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測試嗦明, 也可以對任何數(shù)據(jù)庫進(jìn)行同樣的測試(通過JDBC)笼沥。
2.完全的可移植性和100% 純java。
3.完全 Swing 和輕量組件支持(預(yù)編譯的JAR使用 javax.swing.*)包娶牌。
4.完全多線程 框架允許通過多個線程并發(fā)取樣和 通過單獨(dú)的線程組對不同的功能同時取樣奔浅。
5.精心的GUI設(shè)計允許快速操作和更精確的計時。
6.緩存和離線分析/回放測試結(jié)果诗良。
1.2汹桦、JMeter的高可擴(kuò)展性
1.可鏈接的取樣器允許無限制的測試能力。
2.各種負(fù)載統(tǒng)計表和可鏈接的計時器可供選擇鉴裹。
3.數(shù)據(jù)分析和可視化插件提供了很好的可擴(kuò)展性以及個性化舞骆。
4.具有提供動態(tài)輸入到測試的功能(包括Javascript)。
5.支持腳本編程的取樣器(在1.9.2及以上版本支持BeanShell)径荔。
在設(shè)計階段督禽,JMeter能夠充當(dāng)HTTP PROXY(代理)來記錄IE/NETSCAPE的HTTP請求,也可以記錄apache等WebServer的log文件來重現(xiàn)HTTP流量总处。當(dāng)這些HTTP客戶端請求被記錄以后狈惫,測試運(yùn)行時可以方便的設(shè)置重復(fù)次數(shù)和并發(fā)度(線程數(shù))來產(chǎn)生巨大的流量。JMeter還提供可視化組件以及報表工具把量服務(wù)器在不同壓力下的性能展現(xiàn)出來鹦马。
相比其他HTTP測試工具,JMeter最主要的特點(diǎn)在于擴(kuò)展性強(qiáng)胧谈。JMeter能夠自動掃描其lib/ext子目錄下.jar文件中的插件,并且將其裝載到內(nèi)存荸频,讓用戶通過不同的菜單調(diào)用菱肖。
二、Jmeter在Linux下的運(yùn)行測試
在windows下使用Jmeter已經(jīng)司空見慣了试溯,既然Jmeter是基于JAVA的蔑滓,所以就有完全的可移植性,可以在linux下運(yùn)行。
2.1键袱、安裝JDK
首先安裝JDK燎窘,并正確配置環(huán)境變量。
一蹄咖、上傳并解壓jdk壓縮包jdk-8u151-linux-x64.tar.gz褐健,建議把軟件都安裝到/usr/local/下,如/usr/local/jdk1.8.0_151澜汤。
二蚜迅、安裝java環(huán)境
1、用vim編輯器打開/etc/profile文件俊抵,在文件尾部加入環(huán)境變量的定義
JAVA_HOME=/usr/local/jdk1.8.0_151/PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport PATHexport CLASSPATH
2谁不、重啟電腦,或者輸入如下命令使配置立即生效
source /etc/profile
3徽诲、查看java版本
java -version
2.2刹帕、安裝Jmeter
1、將Jmeter的安裝包(直接使用windows下的zip壓縮包都行)apache-jmeter-4.0.zip上傳至Linux的/usr/local/目錄下谎替,解壓偷溺。
2、編輯/etc/profile文件钱贯,配置Jmeter的環(huán)境變量
export PATH=/usr/local/apache-jmeter-4.0/bin/:$PATH
3挫掏、重啟電腦,或者輸入如下命令使配置立即生效
source /etc/profile
2.3秩命、啟動Jmeter
使用命令執(zhí)行腳本:
jmeter -n -t /usr/local/apache-jmeter-4.0/my_threads/sfwl.jmx -l /usr/local/apache-jmeter-4.0/test.jtl &
參數(shù)說明:
-h 幫助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下運(yùn)行 JMeter
-t 測試文件 -> 要運(yùn)行的 JMeter 測試腳本文件
-l 日志文件 -> 記錄結(jié)果的文件
-r 遠(yuǎn)程執(zhí)行 -> 啟動遠(yuǎn)程服務(wù)
-H 代理主機(jī) -> 設(shè)置 JMeter 使用的代理主機(jī)
-P 代理端口 -> 設(shè)置 JMeter 使用的代理主機(jī)的端口號
注意:如果未設(shè)置Jmeter的環(huán)境變量則在執(zhí)行腳本的時候需要檢查當(dāng)前目錄是否是jmeter的bin目錄下
運(yùn)行示意圖:
2.4尉共、查看運(yùn)行結(jié)果
1、運(yùn)行結(jié)果存放在運(yùn)行腳本產(chǎn)生的test.jtl文件中硫麻,在linux下可以通過cat爸邢、vim等命令查看該文件的內(nèi)容,在windows下可以通過Notepad++直接打開該文件拿愧,如下圖:
2杠河、使用Jmeter查看(注意:window下安裝的Jmeter和JDK要和Linux的保持一致)
在windows系統(tǒng)下打開Jmeter,創(chuàng)建一個線程組浇辜,在線程組下添加監(jiān)聽器券敌,點(diǎn)擊界面上的瀏覽按鈕,將導(dǎo)出的文件test.jtl添加進(jìn)來即可看到腳本測試的報告柳洋,如下圖: