1.Jmeter簡介及安裝
Jmeter是一款開源桌面應用軟件,可用來模擬用戶負載來完成性能測試工作。Jmeter的功能在版本升級過程中已經(jīng)十分強大,現(xiàn)在多數(shù)互聯(lián)網(wǎng)公司都在使用Jmeter來完成產(chǎn)品的性能或者接口測試工作。因為開源所以更具有擴展性,能夠勝任更多的工作具有更多的可能性。比如現(xiàn)在很多云服務器提供商自帶的性能測試工具就是基于Jmeter二次開發(fā)的,目前國內(nèi)外比較火熱的一款一站式性能/接口測試工具MeterSphere也是基于Jmeter二次開發(fā)擴展的。
Jmeter可以對Web應用進行測試,同時也提供了Web錄制功能;另外還支持Java請求、JMS、EJB、WebService、JDBC、FTP、LDAP、SMTP、Junit、Mail、MongoDB、JSR223等測試?;旧衔覀儓鼍暗膽妙愋投伎梢杂肑meter進行測試。除此之外,我們還可以方便的擴展Jmeter功能來滿足我們特定的測試需求。當前H5盛行,手機App、小程序若火如荼,我們也可以用Jmeter來進行性能測試。Jmeter也支持Socket協(xié)議的測試。另外JMeter也很方便來進行性能自動化測試。
1.1 Jmeter運行原理
接觸過LoadRunner的同學應該知道,LoadRunner是可以選擇進程方式或者線程方式來運行腳本的,在Jmeter中只以線程模式運行。由于Jmeter是運行在JVM虛擬機上的,每個進程開銷比LoadRunner的進程開銷大,如果以進程方式來運行的話,每臺負載機上的進程數(shù)據(jù)就不會允許太多,當我們要大量并發(fā)時就需要大量的負載機,這顯然不科學的,再這Java本身是支持多線程的,所以Jmeter選擇了以線程方式來運行。
Jmeter通過線程組來驅(qū)動多個線程(類似LoadRunner中的虛擬用戶)運行測試腳本對被測服務器發(fā)起負載,每一個負載機上都可以運行多個線程組。Jmeter運行場景不僅可以在GUI方式完成,還可以使用命令行。
接下來我們就來看看這款百變甚至萬能的工具是怎么安裝的。為了方便后續(xù)的教學,這里我會分別提供Windows系統(tǒng)和Linux系統(tǒng)下的兩種安裝方法。
1.2Windows下的安裝
要使用jmeter,則必須保證機器上有JDK,并且配置好了環(huán)境變量。
注:JDK選擇1.8即可(JDK8),高本版JDK可能會引起某些的兼容性問題
JDK的下載和安裝:官方下載,安裝時一直下一步即可。
Jmeter的下載:
最新版本的:http://jmeter.apache.org/download_jmeter.cgi
歷史版本:https://archive.apache.org/dist/jmeter/binaries/
環(huán)境變量的配置:
JAVA_HOME:如果沒有就新建,從JAVA的角度來說,沒有該變量也可以,但是很多基于JAVA的應用都是首先去查找JAVA_HOME,然后通過JAVA_HOME去獲取和運行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變量覆蓋,將會導致很多系統(tǒng)和之前所安裝的軟件無法正常使用。
JDK安裝配置完成后,將Jmeter解壓即可使用,為了方便后續(xù)操作,也可以將Jmeter配置進系統(tǒng)環(huán)境變量。
1.3Linux下安裝
先檢查系統(tǒng)有沒有jdk,如果有openjdk的話,建議刪掉,安裝原版。
命令:rpm -qa | grep java
如果有openjdk的話,刪除除了 *.noarch的另外幾個。命令: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三個命令檢驗JDK是否安裝成功。