1.Jmeter簡介及安裝
Jmeter是一款開源桌面應(yīng)用軟件,可用來模擬用戶負(fù)載來完成性能測試工作。Jmeter的功能在版本升級過程中已經(jīng)十分強(qiáng)大,現(xiàn)在多數(shù)互聯(lián)網(wǎng)公司都在使用Jmeter來完成產(chǎn)品的性能或者接口測試工作。因?yàn)殚_源所以更具有擴(kuò)展性,能夠勝任更多的工作具有更多的可能性。比如現(xiàn)在很多云服務(wù)器提供商自帶的性能測試工具就是基于Jmeter二次開發(fā)的,目前國內(nèi)外比較火熱的一款一站式性能/接口測試工具M(jìn)eterSphere也是基于Jmeter二次開發(fā)擴(kuò)展的。
Jmeter可以對Web應(yīng)用進(jìn)行測試,同時(shí)也提供了Web錄制功能;另外還支持Java請求、JMS、EJB、WebService、JDBC、FTP、LDAP、SMTP、Junit、Mail、MongoDB、JSR223等測試?;旧衔覀儓鼍暗膽?yīng)用類型都可以用Jmeter進(jìn)行測試。除此之外,我們還可以方便的擴(kuò)展Jmeter功能來滿足我們特定的測試需求。當(dāng)前H5盛行,手機(jī)App、小程序若火如荼,我們也可以用Jmeter來進(jìn)行性能測試。Jmeter也支持Socket協(xié)議的測試。另外JMeter也很方便來進(jìn)行性能自動化測試。
1.1 Jmeter運(yùn)行原理
接觸過LoadRunner的同學(xué)應(yīng)該知道,LoadRunner是可以選擇進(jìn)程方式或者線程方式來運(yùn)行腳本的,在Jmeter中只以線程模式運(yùn)行。由于Jmeter是運(yùn)行在JVM虛擬機(jī)上的,每個(gè)進(jìn)程開銷比LoadRunner的進(jìn)程開銷大,如果以進(jìn)程方式來運(yùn)行的話,每臺負(fù)載機(jī)上的進(jìn)程數(shù)據(jù)就不會允許太多,當(dāng)我們要大量并發(fā)時(shí)就需要大量的負(fù)載機(jī),這顯然不科學(xué)的,再這Java本身是支持多線程的,所以Jmeter選擇了以線程方式來運(yùn)行。
Jmeter通過線程組來驅(qū)動多個(gè)線程(類似LoadRunner中的虛擬用戶)運(yùn)行測試腳本對被測服務(wù)器發(fā)起負(fù)載,每一個(gè)負(fù)載機(jī)上都可以運(yùn)行多個(gè)線程組。Jmeter運(yùn)行場景不僅可以在GUI方式完成,還可以使用命令行。
接下來我們就來看看這款百變甚至萬能的工具是怎么安裝的。為了方便后續(xù)的教學(xué),這里我會分別提供Windows系統(tǒng)和Linux系統(tǒng)下的兩種安裝方法。
1.2Windows下的安裝
要使用jmeter,則必須保證機(jī)器上有JDK,并且配置好了環(huán)境變量。
注:JDK選擇1.8即可(JDK8),高本版JDK可能會引起某些的兼容性問題
JDK的下載和安裝:官方下載,安裝時(shí)一直下一步即可。
Jmeter的下載:
最新版本的:http://jmeter.apache.org/download_jmeter.cgi
歷史版本:https://archive.apache.org/dist/jmeter/binaries/
環(huán)境變量的配置:
JAVA_HOME:如果沒有就新建,從JAVA的角度來說,沒有該變量也可以,但是很多基于JAVA的應(yīng)用都是首先去查找JAVA_HOME,然后通過JAVA_HOME去獲取和運(yùn)行java程序的。
注:基本上99%的所謂的XX_HOME都是指bin目錄的上級,即不包含bin目錄的。
PATH:一般來說,是修改path變量,然后將%JAVA_HOME%bin,%JAVA_HOME%lib,%JAVA_HOME%jrebin加入path變量的值中。
此處要注意分隔符:windows是分號,linux是冒號。
這樣配置后,如需變更JDK的版本,只需要修改JAVA_HOME的值即可,不需要修改PATH變量。
注意:該變量是所有系統(tǒng)本身就存在的,一定不要新建,一旦新建,則會將系統(tǒng)原來的path變量覆蓋,將會導(dǎo)致很多系統(tǒng)和之前所安裝的軟件無法正常使用。
JDK安裝配置完成后,將Jmeter解壓即可使用,為了方便后續(xù)操作,也可以將Jmeter配置進(jìn)系統(tǒng)環(huán)境變量。
1.3Linux下安裝
先檢查系統(tǒng)有沒有jdk,如果有openjdk的話,建議刪掉,安裝原版。
命令:rpm -qa | grep java
如果有openjdk的話,刪除除了 *.noarch的另外幾個(gè)。命令:rpm -e –nodeps
刪除完成后,再通過 tar –zxvf 命令安裝,安裝完后,配置環(huán)境變量。
命令:vim /etc/profile
JDK解壓完成后,通過命令打開配置文件,在最后添加:(注意自己的安裝路徑)
JAVA_HOME=/usr/local/jdk1.8.0_191 JRE_HOME=/usr/local/jdk1.8.0_191/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin: CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH
保存,使之生效,命令:source /etc/profile
最后分別輸入:java –version,java,javac三個(gè)命令檢驗(yàn)JDK是否安裝成功。