Linux下運行Jmeter壓測


一、在Linux服務器先安裝SDK

1、先從官網下載jdk1.8.0_131.tar.gz,再從本地上傳到Linux服務器

2、解壓:tar -xzf jdk1.8.0_131.tar.gz,生成文件夾 jdk1.8.0_131

3、在/usr/目錄下創建java文件夾,再將 jdk1.8.0_131目錄移動到/usr/java中

1)cd /usr/

2)mkdir java

3)mv jdk1.8.0_131 /usr/java

3、配置java環境變量

1)vi /etc/profile

2)在最后面增加兩行

     export JAVA_HOME=/usr/local/java/jdk1.8.0_131

     export PATH=$JAVA_HOME/bin:$PATH

重啟虛擬機后配置才會生效

3)執行命令:source /etc/profile,無需重啟,配置的環境變量立馬生效

     或者執行以下命令(必須是root角色,普通角色沒有權限)

     # export JAVA_HOME=/usr/local/java/jdk1.8.0_144

     # export PATH=$JAVA_HOME/bin:$PATH

4、查看是否安裝成功,執行命令:java-version

 

二、安裝Jmeter

1、將本地的Jmeter文件打包成zip文件:apache-jmeter-3.1.zip,再上傳到服務器

2、在服務器解壓縮,生成apache-jmeter-3.1目錄

1)安裝unzip:apt-get install unzip

2)解壓縮:unzip apache-jmeter-3.1.zip

3、創建文件夾mkdir apache-jmeter-3.1

3、將apache-jmeter-3.1目錄放到 /usr/local/apache-jmeter-3.1下

4、配置Jmeter環境變量。vi /etc/profile,再添加如下變量

    export JMETER_HOME=/usr/local/apache-jmeter-3.1/apache-jmeter-3.1

    export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:

$CLASSPATH

export PATH=$JMETER_HOME/bin:$PATH

5、source /etc/profile (讓配置文件立馬生效)

6、查看是否安裝成功,執行命令:jmeter -v

三、接口壓測

1、將本地生成的jmx文件上傳到服務器指定目錄,如:/usr/local/apache-jmeter-3.1/jmx

2、進入該目錄下,輸入命令:# jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl,查看結果

jmeter -n -t <testplan filename> -l <listener filename> 示例: jmeter -n -t testplan.jmx -l test.jtl

參數說明:

      -n:以NoGUI方式運行腳本

                     -t:后面接腳本名稱

                     -l:后面接日志名稱,保存運行結果

3、查看result.jtl,查看運行結果:

也可以將result.jtl發送到windows下Jmeter查看:添加聚合報告,在聚合報告中打開該文件:

4、注意:客戶端和服務器的Jmeter版本最好保持一致,不然運行腳本時會報錯。

5、還有另一種腳本執行指令:

# jmeter -n -t Linux_uat_createOrder5bf60s.jmx -l result.jtl -e -o /usr/local/apache-jmeter-3.1/result

在/usr/local/apache-jmeter-3.1/目錄下要有空的result文件夾,否則會提示錯誤。

指令執行完成后,將result文件夾整個download到本地。文件夾包含:

打開index.html,可以看到網頁版的結果報告:

 

詳情請查閱相關資料,暫不贅述。

四、進階壓測

多台壓測機器分布式壓測:

舉例以41為主機,42、43為從機,對壓測環境服務器進行壓測。

1、三台Linux服務器都要安裝相同版本Jmeter,盡量保證安裝路徑一致;

2、配置41的jmeter.properties,將兩台從機(42、43)的IP、端口號配置上:

目錄:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

配置remote_hosts,去掉前面的注釋符#:

3、在三台Jmeter機器上放置同樣的jmx腳本,腳本的聚合報告中,設置結果寫入文件路徑:

/usr/local/apache-jmeter-3.1/jmx/logs/createOrderResult${__time(YMD)}${__time(HMS)}.jtl

會將壓測執行結果放入到/usr/local/apache-jmeter-3.1/jmx/logs目錄下,並自動生成帶有日期時間戳的jtl文件:

4、在主機41發起壓測指令前,需要將42、43兩台從機啟動:

目錄:/usr/local/apache-jmeter-3.1/apache-jmeter-3.1/bin

指令:./jmeter-server

此時說明從機服務已啟動。

5、在主機41上執行腳本指令:# jmeter -n -t Linux_uat_createOrder8bf60s.jmx -r

參數說明:-r 遠程執行 -> 在Jmter.properties文件中指定的所有遠程服務器

顯示主機41上顯示已開始(41不直接壓測,遠程遙控42、43進行壓測)

兩台從機也顯示收到壓測指令,開始壓測:

42機器:

43機器:

主機41上顯示:end of run,說明壓測執行完畢:

執行腳本之后,去目錄/usr/local/apache-jmeter-3.1/jmx/logs下找到生成的jtl文件,下載到本地機器Windows環境下可使用jmeter聚合報告查看結果,如圖所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM