Jmeter 效能測試指南

2021-08-09 20:28:34 字數 2305 閱讀 3961

**一篇寫得比較好的文章

效能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項效能指標進行測試。負載測試和壓力測試都屬於效能測試,兩者可以結合進行。

重要引數

一般來說,乙個系統的效能受到這兩個條件的約束,缺一不可。比如,我的系統可以頂得住一百萬的併發,但是系統的延遲是2分鐘以上,那麼,這個一百萬的負載毫無意義。系統延遲很短,但是吞吐量很低,同樣沒有意義。所以,乙個好的系統的效能測試必然受到這兩個條件的同時作用。

下面的兩個概念對比系統吞吐量是更為針對性的定義,雖然和吞吐量的計量單位不同,但基本是成正比的

每秒查詢率qps是對乙個特定的查詢伺服器在規定時間內所處理流量多少的衡量標準,在網際網路上,作為網域名稱系統伺服器的機器的效能經常用每秒查詢率來衡量。

它們之間的關係,throughput(tps/qps) = 併發數/平均響應時間

note: 負載測試的目的就是找出這個throughput(tps/qps)的最大值

找出系統吞吐量的極限後,我們需要估算我們實際對系統吞吐量的需求值,看前者是否能夠滿足後者。

1

tps = 日pv * 

80% /

24 *

60 *

60 * (t/

24)

jmeter工具和其他效能工具在原理上完全一致,工具包含4個部分:

對於jmeter這些元件可以這樣理解。 配置測試計畫就是通過**來實現對伺服器的訪問,**除了提供了語法級別的迴圈遍歷,條件判斷等等,還提供了各種函式庫來供我們使用。jmeter的這些元件其實就是實現了一些語法功能以及包括了各種功能的函式,不同的元件型別對函式的不能功能進行了分組。 另外除了函式,還提供了一些配置檔案來控制這些函式的行為,這類元件(config element)通常作為子元件配置配置。

臺伺服器效能測試是通過工具和指令碼模出真實使用者的請求,通過併發的方式來放大流量測試後台伺服器的效能,並記錄測試結果資料。所以如何獲取和通過工具模擬出單個使用者的行為是乙個必須首先完成的工作。

通過charles、fiddler等抓包工具,分析使用者的乙個行為具體有哪些介面請求

接下來需要在效能測試工具中模擬模擬出這樣的請求。基於棘突的協議型別和工具提供的用法,常見的有兩種方式,一是在工具中配置請求,二是通過**的方法。jmeter主要是第一種方法,對於http請求可以直接配置各種引數,同時jmeter還提供了錄製的功能。

jmeter指令碼的錄製需要使用http(s) test script recorder,它屬於非測試邏輯單元,新增需要在工作台才能進行。

target controller 指的是作為指令碼錄製結果的contorller儲存到哪,可以直接儲存到測試計畫下,也可以儲存到http(s) test script recorder下。個人建議先臨時儲存到http(s) test script recorder下,重新修改組織後,再將最終的contorlller移動的測試計畫下。

content-type filterurl patterns to include都可以用來過濾需要錄製的請求,去除一些不關心的內容。這裡需要的是如果請求網域名稱沒有指定埠,那麼url pattern裡也需要明確指定80埠,否則無法正確過濾。

如果直接執行錄製下來的指令碼有乙個很大的問題。在於真實使用者和指令碼的不同。指令碼如果是基於前面的方法錄製的,兩個請求的執行時間之間是沒有任何的其他的停頓的,其間隔只是依賴於上乙個服務的響應時間和測試機發起請求所需的時間。但是顯然真實的使用者不是機器,他們在做上面每乙個步驟的時候都有乙個思考的時間,這也是think time這個詞的意義**。

think time在jmeter可以通constant timer來實現。

上面介紹的獲取和模擬的是單個使用者的行為,通過工具放大後其實代表了行為一致的一類使用者。但是對於個真實的被測系統,通常有很多種使用方式,並不是每個使用者做的步驟都一樣,如果想看系統整體的效能,那就需要同時模擬多類不同的使用者,這裡我們稱之為虛擬使用者組。

在jmeter中虛擬使用者組通過,執行緒組來實現。不同的執行緒組定義不同的使用者行為。

效能測試 Jmeter

如何更快速的入門jmeter 建議通過錄製指令碼的方式,快速的了解乙個效能測試應該包括的元件以及它們的層級關係。關於錄製方式,請參考 jmeter基礎之 錄製指令碼 如下,通過badboy 工具錄製的乙個指令碼 指令碼過程 登入 126郵箱,給自己發一封郵件,祝自己聖誕快樂!並可以方便的將指令碼匯出...

jmeter效能測試

請參考 jmeter效能測試文章集合 jmeter 菜鳥入門到高階 系列 開源效能測試工具jmeter jmeter badboy環境搭建 badboy使用手冊 壓力測試之badboy和jmeter的簡單使用方法 jmeter 菜鳥入門到高階 系列 jmeter是我從事軟體測試工作以來接觸的第乙個效...

Jmeter效能測試

轉 1 準備好指令碼,非gui模式下執行 在jmeter的bin目錄下執行命令 使用命令 jmeter n t l n 非gui模式 t 需要執行的指令碼檔名,如 xx.jmx l 儲存的檔名,如 xx.jtl jmeter n t e 1 apache jmeter 3.1 test testca...