在Linux系統中執行JMeter指令碼,需要有兩個前提:
- Linux系統中配置好Java環境。
- Linux系統中配置好JMeter環境。(因為JMeter的執行需要Java環境)
1、Linux系統中安裝Java環境
環境說明:
- Linux系統:
CentOS 7.8
- Java版本:
JDK 1.8
準備操作:
- 下載
JDK 1.8
安裝包:jdk-linux-x64.tar.gz
(包名會不同)- 把
jdk-linux-x64.tar.gz
安裝包,傳入Linux系統的/usr/java/
目錄中。
(1)解壓Java安裝包
# 1.檢視安裝包路徑
[root@localhost ~]# ll /usr/java/
總用量 181192
-rw-r--r--. 1 root root 185540433 6月 5 22:19 jdk-linux-x64.tar.gz
[root@localhost ~]#
# 2.解壓Java安裝包,得到jdk1.8.0_131資料夾
[root@localhost /]# cd /usr/java/
[root@localhost java]# tar -zxvf jdk-linux-x64.tar.gz
[root@localhost java]# ll
總用量 181192
drwxr-xr-x. 8 10 143 255 3月 15 2017 jdk1.8.0_131
-rw-r--r--. 1 root root 185540433 6月 5 22:19 jdk-linux-x64.tar.gz
(2)配置Java環境變數
在/etc/profile
檔案中,配置Java的環境變數。
配置內容如下:
# 配置到檔案的最下方
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
如下圖所示:
提示:
儲存完之後,我們還需要讓剛剛配置的環境變數生效,通過
source /etc/profile
命令,讓系統重啟載入/etc/profile
檔案中的內容,使其立即生效。當然也可以重啟電腦生效。
(3)驗證Java環境是否配置成功
執行命令:java -version
出現如下內容,說明Java環境配置成功了。
[root@localhost ~]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
2、Linux系統中安裝JMeter
(1)下載JMeter
JMeter下載地址:http://jmeter.apache.org/download_jmeter.cgi
在該頁面中,點選apache-jmeter-5.4.1.tgz
下載。
如下圖所示:
(2)把JMeter安裝包傳入Linux系統
把apache-jmeter-5.4.1.tgz
檔案,傳入Linux系統的/usr/local
目錄中。
[root@localhost local]# pwd
/usr/local
[root@localhost local]# ll
總用量 69048
-rw-r--r--. 1 root root 70704620 6月 5 23:27 apache-jmeter-5.4.1.tgz
drwxr-xr-x. 2 root root 6 4月 11 2018 bin
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 3月 15 09:35 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
(3)把JMeter安裝包解壓縮
# 解壓安裝包
[root@localhost local]# tar -zxvf apache-jmeter-5.4.1.tgz
# 得到解壓後jmeter目錄
[root@localhost local]# ll
總用量 69048
drwxr-xr-x. 8 root root 138 1月 2 1970 apache-jmeter-5.4.1 (這個就是)
-rw-r--r--. 1 root root 70704620 6月 5 23:27 apache-jmeter-5.4.1.tgz
drwxr-xr-x. 2 root root 6 4月 11 2018 bin
drwxr-xr-x. 2 root root 6 4月 11 2018 etc
drwxr-xr-x. 2 root root 6 4月 11 2018 games
drwxr-xr-x. 2 root root 6 4月 11 2018 include
drwxr-xr-x. 2 root root 6 4月 11 2018 lib
drwxr-xr-x. 2 root root 6 4月 11 2018 lib64
drwxr-xr-x. 2 root root 6 4月 11 2018 libexec
drwxr-xr-x. 2 root root 6 4月 11 2018 sbin
drwxr-xr-x. 5 root root 49 3月 15 09:35 share
drwxr-xr-x. 2 root root 6 4月 11 2018 src
(4)配置JMeter環境變數
在/etc/profile
檔案中,配置JMeter的環境變數。
配置內容如下:
# 配置到檔案的最下方
export JMETER_HOME=/usr/local/apache-jmeter-5.4.1
export PATH=$PATH:${JMETER_HOME}/bin
如下圖所示:
提示:
儲存完之後,我們還需要讓剛剛配置的環境變數生效,通過
source /etc/profile
命令,讓系統重啟載入/etc/profile
檔案中的內容,使其立即生效。當然也可以重啟電腦生效。
(5)驗證JMeter環境是否配置成功
執行命令:jmeter -v
出現如下內容,說明JMeter環境配置成功了。
[root@localhost ~]# jmeter -v
_ ____ _ ____ _ _ _____ _ __ __ _____ _____ _____ ____
/ \ | _ \ / \ / ___| | | | ____| | | \/ | ____|_ _| ____| _ \
/ _ \ | |_) / _ \| | | |_| | _| _ | | |\/| | _| | | | _| | |_) |
/ ___ \| __/ ___ \ |___| _ | |___ | |_| | | | | |___ | | | |___| _ <
/_/ \_\_| /_/ \_\____|_| |_|_____| \___/|_| |_|_____| |_| |_____|_| \_\ 5.4.1
Copyright (c) 1999-2021 The Apache Software Foundation
3、Linux系統中執行JMeter指令碼
把JMeter指令碼,放入/usr/local/apache-jmeter-5.4.1/bin
目錄中。(指令碼可以不新增監聽器)
然後進入到/usr/local/apache-jmeter-5.4.1/bin
目錄中,執行如下命令:
jmeter -n -t CLI_test.jmx -l result.jtl
引數解釋:
-n
:表示non gui mode
,就是非圖形化模式。-t
:指定JMX指令碼路徑,即test plan
(測試計劃)。後面跟需要執行的JMeter 指令碼的路徑和指令碼名稱。-l
:指定結果檔案路徑。後面跟輸出結果檔案路徑和結果檔名稱。
1)若沒有指定指定結果檔案路徑,則自動建立,可以生成.csv
檔案或者.jtl
檔案。
2)若只寫指令碼名稱,則預設是在當前目錄查詢或建立。-e
:設定測試完成後生成測試報表。-o
:指定測試報表生成資料夾。資料夾必須為空或不存在。
執行結果如下:
[root@localhost bin]# jmeter -n -t CLI_test.jmx -l result.jtl
Creating summariser <summary>
Created the tree successfully using CLI_test.jmx
Starting standalone test @ Sun Jun 06 11:47:20 CST 2021 (1622951240796)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 101 in 00:02:09 = 0.8/s Avg: 64563 Min: 63303 Max: 64680 Err: 101 (100.00%) Active: 100 Started: 100 Finished: 0
summary + 99 in 00:00:00 = 322.5/s Avg: 63416 Min: 63276 Max: 63535 Err: 99 (100.00%) Active: 0 Started: 100 Finished: 100
summary = 200 in 00:02:09 = 1.5/s Avg: 63995 Min: 63276 Max: 64680 Err: 200 (100.00%)
Tidying up ... @ Sun Jun 06 11:49:32 CST 2021 (1622951372015)
... end of run
補充說明:
因為我們配置了JMeter的環境變數,所以我們在任何目錄中都能夠執行JMeter命令。
如下所示,在Linux中的/root
目錄中,執行JMeter測試指令碼,也是一樣執行的。
[root@localhost ~]# jmeter -n -t /usr/local/apache-jmeter-5.4.1/bin/CLI_test.jmx -l result.jtl
Creating summariser <summary>
Created the tree successfully using /usr/local/apache-jmeter-5.4.1/bin/CLI_test.jmx
Starting standalone test @ Sun Jun 06 11:50:28 CST 2021 (1622951428991)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary + 1 in 00:01:04 = 0.0/s Avg: 63262 Min: 63262 Max: 63262 Err: 1 (100.00%) Active: 100 Started: 100 Finished: 0
summary + 199 in 00:01:04 = 3.1/s Avg: 63236 Min: 63011 Max: 63459 Err: 199 (100.00%) Active: 0 Started: 100 Finished: 100
summary = 200 in 00:02:07 = 1.6/s Avg: 63236 Min: 63011 Max: 63459 Err: 200 (100.00%)
Tidying up ... @ Sun Jun 06 11:52:37 CST 2021 (1622951557443)
... end of run
但是要注意:
- 不在JMeter指令碼所在的當前目錄中執行命令,需要填寫指令碼檔案的全路徑。
- 還有就是執行指令碼所產生的
jmeter.log
檔案和結果檔案,如果沒有指定生成路徑的話。會在執行JMeter命令的當前目錄中生成。(這點要注意一下)
提示:在Windows系統中執行JMeter指令碼,和在Linux系統執行JMeter指令碼基本上是一樣的。所以這裡就不展開說明了。