JMeter的Redis數據集 - 簡介
Redis(REmote DIctionary Server)是一個開源的內存數據結構存儲,用作數據庫,緩存和消息代理。
作為內存數據庫,它將所有數據保存在RAM中。Redis在讀取/寫入數據時實現高性能,
並且在您需要確保在所有測試服務器上使用唯一數據時也很有用。
本博文將介紹如何使用Apache JMeter™ Redis數據集插件在連接到Redis數據庫時加載測試。
我們將解釋如何安裝Redis數據集JMeter插件,如何安裝Redis數據庫並填充它,以及如何在從數據庫中獲取值時加載測試網站。
讓我們開始吧。
安裝Redis數據集JMeter插件
1.從JMeter插件管理器安裝Redis數據集插件:
- 下載Plugins Manager JAR文件
- 將文件復制到Jmeter的lib / ext目錄
- 重啟JMeter
- 單擊“選項”,然后單擊“插件管理器”
- 點擊“可用插件”
- 選擇“Redis數據集”,然后單擊“應用更改並重新啟動JMeter”
重新啟動JMeter后,您應該能夠在菜單中看到Redis Data Set配置元素。
右鍵單擊測試計划 - >添加 - >配置元素 - > jp @ gc - Redis數據集
恭喜!該插件已成功安裝。
Mac用戶:如果您的計算機上沒有JMeter,並且想要安裝帶有插件的JMeter(其中一個是Redis數據集插件),您可以在終端中輕松運行此命令:
brew install jmeter --with-plugins
在本地安裝和啟動Redis
2.要在Mac上安裝Redis,請在終端中鍵入以下命令:
brew安裝redis
要了解如何安裝Redis for Linux,請單擊此處。對於Windows,請單擊此處。
3.完成安裝后,使用以下命令啟動它:
Redis的服務器
4. Redis服務器應該在幾秒鍾內啟動。通過執行以下命令在另一個終端選項卡中測試Redis服務器:
redis-cli ping
如果Redis服務器設置正確,您將看到響應:“PONG”
將數據填充到Redis數據庫
5. Redis服務器已啟動並正在運行。現在是時候用一些測試數據填充它了。
在終端中輸入以下命令,打開Redis命令行界面:
Redis的-CLI
6. Redis命令行界面應該打開。現在讓我們將數據添加到Redis數據庫:
- LPUSH blazedemo波士頓,羅馬
- LPUSH blazedemo波特蘭,柏林
- LPUSH blazedemo巴黎,開羅
LPUSH命令使用鍵“blazedemo”將值添加到Redis列表。
它看起來像這樣:
做得好!您的測試數據現在填充到Redis。
使用Redis數據集配置元素創建JMeter腳本
現在我們准備創建一個測試JMeter腳本來展示如何使用Redis數據集配置元素。讓我們在BlazeDemo網站(http://blazedemo.com/)上運行負載測試,該網站可供公眾用於嘗試性能腳本。
該網站的目標網頁上有一個搜索航班的表格。讓我們在腳本中對出發地和目的地城市進行參數化,並從Redis數據庫中獲取這些值。
7.將一個線程組添加到測試計划
右鍵單擊測試計划 - >添加 - >線程(用戶) - >線程組
8.將Redis數據集添加到線程組
線程組 - >添加 - >配置元素 - > jp @ gc - Redis數據集
'jp @ gc - Redis數據集'有許多參數,我們來看看其中的一些參數:
- 名稱:此名稱將顯示在左側面板上。我們可以選擇任何名字。我們把它作為現在的默認值。
- Redis鍵:這是Redis數據庫中列表(有序數據)或集(無序數據)的名稱。在填充數據庫時,我們在步驟6中選擇了“ blazedemo ”。
- 變量名稱:這些是由數據集導出到測試元素的變量的名稱。在我們的例子中,他們是' 出發地,目的地 '
- 分隔符:這是存儲在Redis列表或集合中的行中使用的分隔符。我們使用了逗號(','),所以我們將其保留為默認值。
- 獲取模式:有兩種選擇:
- RANDOM_REMOVE使用Redis列表。檢索到一個值后,它將從列表中刪除。
- RANDOM_KEEP使用Redis集。檢索到的值保留在Set中。
重要!我們應該保留RANDOM_REMOVE選項,因為我們在6中創建了Redis列表。
- Redis服務器主機:Redis服務器的IP或域。我們應該輸入'localhost',因為我們在本地運行Redis服務器。
- Redis服務器端口:您的Redis服務器端口。我們把它作為默認值。
- 密碼:如果您擁有受密碼保護的Redis服務器,則為密碼。我們把它作為默認值。
- 數據庫:數據庫名稱。我們把它作為默認值。
保留其他參數的默認值。
9.添加搜索航班的HTTP請求。
線程組 - >添加 - >采樣器 - > HTTP請求
填寫所有要求的值:
- 服務器名稱或IP:blazedemo.com
- 方法:發布
- 路徑:reserve.php
- 參數:fromPort:$ {departure},toPost:$ {destination}
$ {departure}和$ {destination}是將從Redis數據庫中獲取的變量。
此請求用於提交搜索表單以查找航班。服務器的響應將導航我們到下圖所示的下一頁:
10.添加斷言以確認請求返回正確的頁面。讓我們在搜索結果頁面上查看“從巴黎飛往布宜諾斯艾利斯的航班:”文字。
HTTP請求 - >添加 - >斷言 - >響應斷言
11.使用“ 從$ {出發}到$ {目的地}的航班 ”填寫模式以測試該字段:
我們差不多完成了。添加一個監聽器以查看您的測試結果:
線程組 - >添加 - >偵聽器 - >查看結果樹
13.運行腳本並在“查看結果樹”偵聽器中檢查結果。
如果您看到與上面屏幕截圖相同的測試結果,那么您將獲得正確的頁面,並且您的測試已通過!
這就是使用Redis數據集的本教程。如果您有任何問題,意見或希望與本教程分享您的經驗,可以通過下面的表單發送給我們。