1. 程式人生 > >阿里雲linux安裝jmeter並進行壓測

阿里雲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模式向伺服器施壓