阿里雲linux安裝jmeter並進行壓測
一、阿里雲linux安裝JDK
1、下載安裝JDK
jdk官網,選擇linux版本,下載並儲存。
(一)yum安裝
安裝epel的yumyuan
yum install epel-release -y
檢視yum源裡當前jdk有哪些版本
yum list | grep openjdk
執行安裝命令:
yum install java-1.8.0 -y
檢查是否安裝成功
java -version
(二)rpm安裝
官網下載rpm包
xshell上傳到伺服器
執行安裝命令:
rpm -ivh jdk-8u161-linux-x64.rpm
檢查是否安裝成功
java -version
(三)tar安裝
官網下載tar.gz包
xshell上傳到伺服器
移動到/opt目錄下:mv jdk-8u161-linux-x64.tar.gz /opt
進入/opt目錄:cd /opt
解壓:tar -zxvf jdk-8u161-linux-x64.tar.gz
進入安裝目錄:cd jdk-8u161-linux-x64
配置環境變數:
vim ~/.bash_profile
新增下面的內容
export PATH="/opt/jdk1.8.0_161/bin:$PATH"
然後儲存退出,使用source命令更新這個檔案,命令是:
source ~/.bash_profile
輸出一下環境變數,命令是:
echo $PATH
檢查是否安裝成功
java -version
二、阿里雲linux安裝jmeter
1、官網下載jmeter安裝包,上傳至/opt目錄下,並解壓
cd /opt
tar -zxvf apache-jmeter*
2、配置環境變數
vim /etc/profile
增加如下程式碼
#jmeter環境變數
export PATH=/root/jmeter/bin:$PATH
儲存退出
source /etc/profile讓配置生效
jmeter -v檢查是否安裝成功
三、Jmeter非GUI模式壓測
非GUI介面,壓測引數講解
- -h 幫助
- -n 非GUI模式
- -t 指定要執行的 JMeter 測試指令碼檔案
- -l 記錄結果的檔案 每次執行之前,(要確保之前沒有執行過,即xxx.jtl不存在,不然報錯)
- -r Jmter.properties檔案中指定的所有遠端伺服器
- -e 在指令碼執行結束後生成html報告
- -o 用於存放html報告的目錄(目錄要為空,不然報錯)
官方配置檔案地址 http://jmeter.apache.org/usermanual/get-started.html
jmeter -n -t linux_users_api.jmx -l result.jtl -e -o /usr/local/softwate/jmeter/temp/ResultReport
jmeter -n -t /Users/jack/Desktop/linux_users_api.jmx -l result.jtl -e -o /Users/jack/Desktop/person/jmeter/temp
四、html視覺化壓測報告講解
1、dashboard講解
1)Test and Report informations Source file:jtl檔名
Start Time :壓測開始時間
End Time :壓測結束時間
Filter for display:過濾器
Lable:sampler取樣器名稱
2)APDEX(Application performance Index)
apdex:應用程式效能指標,範圍在0~1之間,1表示達到所有使用者均滿意
T(Toleration threshold):可接受閥值
F(Frustration threshold):失敗閥值
3)Requests Summary
OK:成功率
KO:失敗率
4)Statistics 統計資料
lable:sampler取樣器名稱
samples:請求總數,併發數*迴圈次數
KO:失敗次數
Error%:失敗率
Average:平均響應時間
Min:最小響應時間
Max:最大響應時間
90th pct: 90%的使用者響應時間不會超過這個值(關注這個就可以了)
2ms,3ms,4,5,2,6,8,3,9
95th pct: 95%的使用者響應時間不會超過這個值
99th pct: 99%的使用者響應時間不會超過這個值 (存在極端值)
throughtput:Request per Second吞吐量 qps
received:每秒從伺服器接收的資料量
send:每秒傳送的資料量
2、charts講解
1)Over Time(隨著時間的變化)
Response Times Over Time:響應時間變化趨勢
Response Time Percentiles Over Time (successful responses):最大,最小,平均,使用者響應時間分佈
Active Threads Over Time:併發使用者數趨勢
Bytes Throughput Over Time:每秒接收和請求位元組數變化,藍色表示傳送,黃色表示接受
Latencies Over Time:平均響應延時趨勢
Connect Time Over Time :連線耗時趨勢
1)Throughput
Hits Per Second (excluding embedded resources):每秒點選次數
Codes Per Second (excluding embedded resources):每秒狀態碼數量
Transactions Per Second:即TPS,每秒事務數
Response Time Vs Request:響應時間和請求數對比
Latency Vs Request:延遲時間和請求數對比
1)Response Times
Response Time Percentiles:響應時間百分比
Response Time Overview:響應時間概述
Time Vs Threads:活躍執行緒數和響應時間
Response Time Distribution:響應時間分佈圖
五、Jmeter壓測介面的效能優化
1、使用非GUI模式:jmeter -n -t test.jmx -l result.jtl
2、少使用Listener, 如果使用-l引數,它們都可以被刪除或禁用。
3、在載入測試期間不要使用“檢視結果樹”或“檢視結果”表監聽器,只能在指令碼階段使用它們來除錯指令碼。
4、包含控制器在這裡沒有幫助,因為它將檔案中的所有測試元素新增到測試計劃中。]
5、不要使用功能模式,使用CSV輸出而不是XML
6、只儲存你需要的資料,儘可能少地使用斷言
7、如果測試需要大量資料,可以提前準備好測試資料放到資料檔案中,以CSV Read方式讀取。
8、用內網壓測,減少其他頻寬影響壓測結果
9、如果壓測大流量,儘量用多幾個節點以非GUI模式向伺服器施壓