以下內容親測,如果不對的地方,歡迎留言指正,不甚感激。^_^祝工作愉快^_^
Jmeter是一個非常好用的壓力測試工具。 Jmeter用來做輕量級的壓力測試,非常合適,只需要十幾分鍾,就能把壓力測試需要的腳本寫好。
壓力測試,就是被測試的系統,在一定的訪問壓力下,看程序運行是否穩定/服務器運行是否穩定(資源占用情況)
比如: 2000個用戶同時到一個購物網站購物,這些用戶打開頁面的速度是否會變慢,或者網站是否會崩潰。
做壓力測試,一般要使用工具, 人工是沒辦法做的。最常用的工具是LoadRunner, 但是LoadRunner畢竟是收費軟件,而且使用上也比較復雜。 現在越來越多的人開始使用Jmeter來做壓力測試。 免費, 而且使用上非常簡單。
一個簡單的壓力測試步驟:
1. 寫腳本
2. 場景設計
3. 使用控制器,來控制模擬多少用戶。
4. 使用監聽器, 查看測試結果
本章目的讓讀者學會使用jmeter進行簡單的接口測試和壓力測試的一些方法。
作為一個Linux新手,在使用jdk時,或許會安裝配置多次仍然導致無法使用情況,請按如下步驟一步一步安裝並配置
相關軟件下載地址
JDK:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html?ssSourceSiteId=ocomen
JMeter:http://jmeter.apache.org/download_jmeter.cgi
JMeter插件:http://jmeter-plugins.org/downloads/all/
3.1.1 JDK的安裝和環境變量配置
1、JDK版本選擇
JDK:在作者編寫該書時JDK版本已經更新到9(不支持jmeter3),本書就以jdk8版本為例,該版本即可以支持jmeter3也支持最新版jmeter4,如下圖:
點擊圖標2按鈕頁面跳轉到下載頁面。
選擇Linux版本的tar.gz文件點擊下載到指定目錄。
如果需要下載早期版本,在JDK下載頁面中下拉到頁面底部選擇早起版本下載鏈接選在自己需要的版本:
2、查看下載JDK文件
Ubuntu系統下載文件默認放在“下載”目錄中,即:
進入下載目錄后查看已經下載完成的文件:jdk-8u151-linux-x64.tar.gz
3、安裝JDK並配置環境變量
進入終端查看已經下載完成的文件:使用ctr+alt+t打開終端,進入終端。
1)在終端完成如下操作:
root@ranxf:/home/ranxf/下載# tar -zvxf jdk-8u151-linux-x64.tar.gz # 解壓文件到當前目錄;
root@ranxf:/opt# tar -zvxf jdk-8u151-linux-x64.tar.gz -C /opt/ # 解壓文件到指定目錄,加參數-C,在此說明,我喜歡將新安裝的文件放置在opt下,可根據個人喜好新建目錄。
2)查看解壓后的JDK目錄:
3)配置環境變量:
進入vim編輯器后,按鍵盤“i”鍵為編輯模式,輸入上面內容,保存前退出編輯按冒號“:wq”。
讓環境變量立即生效:
總結,本節內容主要講解安裝JDK和在Ubuntu中配置jdk的環境變量,同時熟悉Ubuntu系統下的相關操作。
3.1.2 Jmeter的安裝和目錄解析
1、版本選擇:
目前Jmeter版本已經更新到4.0版本了。
核心改進:
-
JMeter現在支持JAVA 9,
-
新的邊界提取元素可用於提供更好的性能提取容易;
-
新的JSON聲明元素可用於在JSON響應中聲明;
-
新的精確的吞吐量計時器元素可以產生具有給定恆定吞吐量的到達;
-
JMS點對點采樣器通過讀取,瀏覽和清除選項得到了增強;
-
新添加的控制器現在默認使用Expression,這是性能最佳的選項。
-
UI也有了改變
有興趣的同學可以到官網查看更多的內容。
為了在學習過程中,讀者能找到更多的資料,本書將采用jmeter3.1版本為例:
到上面下載鏈接下載二進制文件apache-jmeter-3.1 .tgz到下載目錄。
在終端直接解壓apache-jmeter-3.1 .tgz到/opt/目錄下即可安裝成功:
看見以上內容已經安裝成功。
2、jmeter目錄解析
-
bin 包含啟動、配置等相關命令
-
docs 官方本地文檔目錄
-
extras 輔助庫
-
lib 核心庫,包含JMeter用到的各種基礎庫和插件
-
licenses 包含non-ASF軟件的許可證
-
printable_docs 可打印版本文檔目錄
-
LICENSE JMeter許可說明
-
NOTICE JMeter簡單信息說明
-
README.mdJMeter官方基本介紹
下面我們重點看一下bin目錄
bin目錄下我們最關注幾個文件:
-
jmeter.properties JMeter核心配置文件,各種配置基本在這完成
-
log4j.conf JMeter日志配置管理
-
jmeter.log JMeter運行日志記錄,什么輸出信息、警告、報錯都在這里進行了記錄
-
jmeter.sh linux下jmeter啟動文件
-
shutdown.sh Linux下jmeter關閉文件
-
stoptest.sh Linux下jmeter測試停止文件
-
jmeter-server Linux下jmeter服務器模式啟動文件
注:每一個.sh文件都對應一個.cmd文件,.cmd是Windows下的對應功能的文件。
3.1.3 Jmeter組件介紹
在jmeter中提供了一系列的不同的組件,每一種組件都提供了某類功能的實現,用於支持性能測試的實施。
學習、研究jmeter之前,深入了解jmeter的基本組件及其作用是必須的。接下來我們開始討論基於jmetere進行性能測試必須掌握的組件,以便大家逐步掌握jemter的核心基本能力。
下面的幾個組件是入門jmeter必須掌握的:
-
Thread Group
線程組是一系列線程的集合,每一個線程代表着一個正在使用應用程序的用戶。在jmeter中,每個線程意味着模擬一個真實用戶向服務器發起請求。
在jmeter中,線程組組件運行用戶設置線程數量、初始化方式等等配置。
例如,如果你設置線程數為100,那么jmeter將創建並模擬測試100個用戶請求到服務器端。
Samplers
我們常用的jmeter測試有HTTP、FTP、JDBC協議,以及其他各種支持的協議。
我們已經知道線程組件用於模擬用戶請求至服務器端。
如何在線程組件中實現某種請求類型(比如如何發起HTTP請求?)。
我們將如何利用Samplers組件的元素來實現各類請求類型。
我們先看一下在jmeter中Samplers組件已經實現了哪些協議的支持。
HTTP Request
HTTP Request提供了HTTP/HTTPS協議的測試支持能力。
下面我們一起看看HTTP Request元素的基本配置說明,了解下基本的功能。
-
FTP Request
FTP Request元素提供了測試ftp服務器的能力,這個元素讓我們能夠去測試ftp的上傳、下載功能。
下面我們看一下ftp元素的基本配置說明:
-
Listeners
在jmeter中Listeners提供了執行結果生成和顯示能力的支持,提供了樹形結構、圖形結構、表結構和聚合模式。
樹形結構:
圖形結構:
表結構:
聚合報告:
聚合報告里面的值足以作為測試報告中的值了,期待吧……
-
Configuration
配置元件包含了Samplers下各種Sampler的默認配置設置,如果有配置默認配置,在Sampler下對應的sampler就會使用該默認配置。
3.1.4 jmeter安裝插件管理
從http://www.jmeter-plugins.org/install/Install/ 下載插件管理包,如圖:
將下載的包放至jmemter解壓根目錄的lib/ext下即可。插件安裝后的內容后期補上,初學者可以進入下一節。
總結
本次就jmeter相關軟件的安裝和配置及關鍵配置項進行了說明,大家可以在掌握基本功能后深入的去研究下其他的一些配置,以便進一步的熟悉jmeter的原理和應用,初學者可以暫時不用考慮插件的功能,等待理清jmeter的基本接口測試之后再回頭添加插件的一些高級功能。