本文的主要內容是介紹如何在Linux CentOS 服務器上面搭建Jmeter的壓測環境整個詳細的流程,來滿足我們日常工作中對於壓力測試環境搭建、壓力測試執行過程的需求。
一、首先我們要准備四個東西,在搭建環境的時候需要使用到
1、Xshell、puTTy等終端連接工具(本文教程使用Xshell)
Xshell用於連接Linux CentOS 服務器,為我們提供操作服務器的可視化界面,如何連接服務器本文不做贅述,如果有需要請自行聯網搜索,網上教程很多。連接成功如下:

2、 Jmeter壓縮安裝包
Jmeter的壓縮包需要自己去Jmeter的官網進行下載,由於是在centos環境下,所以我們下載tgz格式的壓縮包就可以了,本文使用Jmeter 5.2.1進行演示:https://jmeter.apache.org/download_jmeter.cgi

3、 jmeter-plugins-manager-1.4.jar 插件,地址:https://jmeter-plugins.org/install/Install/,直接瀏覽器訪問就可以下載了

4、 一台用於執行的服務器
需要注意的是,在實際工作中,一般情況下會有兩台服務器,一台目標服務器(也可以稱為生產服務器)被用於壓測,一台壓測服務器用於執行壓測腳本
二、在進行Jmeter安裝之前我們需要先安裝JDK,為Jmeter提供運行環境,安裝步驟如下:
1、首先檢查是否安裝了JDK:java -version
以下是未安裝的情況,如果安裝JDK需要按照Jmeter官網的建議安裝Java8及以上的版本


以下是已經安裝的情況:

2、查看Linux系統版本:【more /proc/version】、【uname -a】、【uname -r】、【lsb_release -a】,以上的命令任一 一個即可。查看版本的目的主要是查看我們的系統是64位還是32位的,我們需要安裝對應版本的Java

我的服務器是64位,所以我對應安裝64位的JDK就可以了
1、 使用前端軟件包管理器Yellow dog Updater, Modified提供的JDK安裝包,直接安裝JDK:
l 列出所有可安裝的Java軟件包 :【yum list java*】
從結果可以看出我們可以安裝軟件包管理器提供的Java1.6,Java1.8,Java11版本,其中我們選擇安裝版本Java8即可

l 安裝Java1.8.0版本:【yum -y install java-1.8.0-openjdk*】
注意:【jdk和*通配符之間不能敲空格,有空格不能匹配所有的子文件】【安裝過程中需要等待它執行完成,不要中途中斷,中斷后可能出現錯誤,出現錯誤可以嘗試卸載Java后重新安裝】

l 安裝JDK后查看是否安裝成功(查看Java版本):【java -version】
優勢:使用以上方法安裝的JDK不用配置環境變量,JDK1.8以上的版本不需要配置運行環境

三、在Linux CentOS系統安裝Jmeter
1、選擇你需要放置Jmeter壓縮包的文件夾:cd /usr/local/codes
通過以下方法可以查看自己服務器上是否存在以上文件夾:
l 執行命令進入目錄:cd /usr/local/
(命令:cd / 進入根目錄)
l 查看根目錄下面所有文件夾:ls -l
發現沒有codes文件夾,表明我的服務器下不存在codes文件夾
l 在/usr/local下新建一個codes目錄用來存放Jmeter有關文件:mkdir codes
l 查看local下的目錄:ls -l
l 已經新增codes文件夾成功【注意需要在local文件夾下執行,其他的文件夾下執行該命令的不會在local下新增】

注意:【建議將Jmeter放置在 /usr/local下,這文件夾是用於安裝各項應用文件的;Jmeter是免安裝的,我們只需要將Jmeter解壓到一個目錄下面,並根據這個目錄配置環境變量即可】
2、上傳Jmeter壓縮包並解壓Jmeter壓縮包
l 進入codes目錄:cd /usr/local/codes
l 查看Linux主機是否安裝了lrzsz(用於Windows上傳文件到Linux上),輸入命令【任一目錄均可以】:rz

l 找不到lrzsz,就需要先安裝(同樣使用軟件包管理器),執行:yum -y install lrzsz
檢查安裝是否成功:rpm -qa lrzsz

l 安裝成功后,上傳文件:rz
l 上傳文件-彈出窗-選擇Windows本地的壓縮文件【apache-jmeter-5.2.1.tgz】-上傳完成彈窗關閉

l 上傳完成后在codes文件夾下檢查是否成功:ls -l

l 在codes目錄下解壓Jmeter壓縮包:tar zxvf apache-jmeter-5.2.1.tgz
l 查看解壓后的目錄顯示:ls –l
藍色的為解壓后的文件夾,紅色的為上傳的壓縮包

3、配置Jmeter環境變量
l 進入etc目錄:cd /etc/
l 打開profile文件進行編輯:vim profile
l 將以下內容復制到空白處:
export JMETER_HOME=/usr/local/codes/apache-jmeter-5.2.1
export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH
export PATH=$JMETER_HOME/bin:$PATH:$HOME
【注意:粘貼時需要謹慎,檢查單詞是否完成,粘貼路徑是否正確等,保證配置的正確。】

l 按下鍵盤【esc】鍵退出
l 按了esc鍵后輸入:【:wq】再按下【enter】鍵,保存並退出


l 刷新保存環境變量,使配置文件生效:source /etc/profile

l 驗證環境變量是否配置成功,顯示如下界面則表示成功:jmeter -v

l 查看配置:[echo $PATH] [echo $JMETER_HOME] [echo $CLASSPATH]
顯示已經配置成功

1、 安裝Jmeter插件jmeter-plugins-manager
這個插件主要是用於:將Jmeter執行請求后生成的jtl文件轉化為統計圖,方便壓測執行后數據分析,統計。
安裝插件比較簡單,只需要把下載好的jar包放到Jmeter的lib/ext目錄下就可以了,具體步驟:
l 切換到目錄:cd /usr/local/codes/apache-jmeter-5.2.1/lib/ext
l 上傳本地文件【jmeter-plugins-manager-1.4】:rz
l 檢查是否成功上傳:ls -l

四、執行具體的壓測操作
1、在/usr/local/codes下創建Jmeter目錄,用於存放Jmeter腳本:mkdir jmeter
2、在/usr/local/codes下創建log目錄,用於存放Jmeter腳本執行后的日志文件:mkdir log

3、上傳編寫好的腳本到目錄Jmeter:
l 切換目錄:cd /usr/local/codes/jmeter
l 上傳腳本:rz 【腳本名稱:測試壓測.jmx】
l 在存放Jmeter腳本的文件夾下執行Jmeter腳本:jmeter -n -t 測試壓測.jmx -l ../log/item.jtl
注意:【命令腳本名稱與執行腳本的名稱要一 一對應,尤其是空格這些要特別注意;一定要在存放Jmeter腳本的目錄下執行上述命令,否則找不到Jmeter腳本】【jmeter -n -t 腳本名稱 -l 存放結果日志的絕對路徑或者相對路徑/日志文件】
執行結果如下:

4、簡單介紹數據結果各個字段含義:
l Summary:本次壓測執行總的請求數(單位:次)
l Avg:所有請求數的平均響應時長(單位:ms)
l Min:所有請求中響應時長最短的請求(單位:ms)
Max:所有請求中響應時長最長的請求(單位:ms)
l Err:本次壓測執行后的錯誤率
l Active:請求活躍數
l Finished:已結束的請求
5、導出報告,步驟如下:
l 先進入日志存放的目錄:cd /usr/local/codes/log
l 將已經生成的日志轉化為HTML報告:jmeter -g item.jtl -o /usr/local/codes/log/item

【注意:/usr/local/codes/log這個地方可以寫絕對路徑也可以寫相對路徑,如果不確定自己寫的相對路徑是否正確,就寫絕對路徑就行了】、【如果每次導出報告想要導出單次壓測的數據而不是多次壓測數據的總和的話,需要在每次執行導出報告后將log文件夾里面的壓測數據清空,使用命令[rm -rf *],使用該命令的時候尤其要小心,需要到/usr/local/codes/log文件夾下執行,不能隨意執行】
l 將item.jtl文件壓縮成item.tar.gz文件:tar zcvf item.tar.gz item

l 把已經生成的報告文件導出,放到Windows任一(桌面 )路徑即可: sz item.tar.gz

l 解壓桌面文件並打開壓縮包里面的index.html 文件:
index.html文件里面詳細記錄了壓測后的請求總數,響應時長,error率,error數,error原因等各項數據,可以用於壓測結果分析。


注意:【如果遇到導出的文件解壓后會出現不能打開的情況,如下圖。這種情況下可以使用,直接用解壓軟件打開壓縮包,在壓縮包里面點擊下圖的文件,就可以打開並查看index.html文件了】
至此我們的Jmeter壓測環境便已經搭建完成,在搭建的過程中會有各種問題,所以希望讀者在實際操作的時候多加細心,慢慢處理每一個步驟。希望以上內容對大家有用,謝謝。
