jmeter进行性能测试_使用JMeter进行性能测试
jmeter進行性能測試
在開發復雜的高可用性軟件項目時,性能至關重要。 在當今這樣的時代尤其如此,除了閃電般的實時數據可訪問性之外,其他任何事情都受到懲罰。 當談論有時需要的大量數據時,這并非總是一件容易的事。
在本文中,我們將使用在線預訂引擎作為指導示例。 所有數據均來自單個API。 我們將映射預期的瓶頸,在預期的負載上設置實際方案,并自動執行所有這些操作,以便我們可以始終檢查性能。 我們將使用JMeter和BlazeMeter進行此操作。
分析
API上的所有負載可以歸為以下三類之一。 我們的預訂引擎提供了API調用。 然后,自動化作業會對我們的系統資源產生影響。 這些也由API端點觸發。 最后,我們來看API調用,它獨立于預訂引擎對服務器征稅。 換句話說,重要的是要繪制出影響服務器資源的所有因素的圖表,因為負責負載的不僅僅是預訂引擎。
我們使用Google Analytics(分析)來檢查每個API方法當前的頁面瀏覽量。 一年中最繁忙的一天是負載的基礎。 如果您期望一定數量的增長,則可以始終將其乘以某個特定因素。 我們還將研究一方面預訂引擎與自動任務之間的API調用與其他調用之間的劃分。 最好在一年中完成此操作。 所有這些的結果應類似于以下內容:
| API調用 | 量 | 百分比 | 部分 |
| /可用天數 | 5k | 31% | 預訂引擎 |
| /可用-小時 | 4k | 15% | 預訂引擎 |
| … | |||
| /重新計算事件 | 1千 | 16% | 任務 |
| … | |||
| /獲取員工 | 2k | 5% | 其他 |
| … |
杰米特
我們使用JMeter編寫性能測試。 為了從這些數據創建現實的JMeter場景,我們使用了兩個附加插件:
- 加權開關控制器 ,以獲取必要的請求。
- 隨機CSV數據集 ,可將CSV列表中的隨機參數用于API調用。
最后,該場景如下所示:
該場景中包含三個重復部分。 一些重要方面:
1.使用Random CSV Data Set插件加載隨機餐廳ID,以創建不同餐廳的API請求。
2.通過引擎完成預訂包含幾個連續的步驟。 我們使用來自CSV集合的隨機數據和JMeter函數調用這些步驟:
正則表達式提取器將API響應保存在變量中,以用于后續步驟:
3. IF控制器確保僅在滿足特定條件時才開始后續步驟。 如果沒有,JMeter將開始下一個測試周期,在此我們檢查所給隨機數據的可用性。 Jexl2表達式用于檢查變量是否不為null:
4.在最后一步中,我們使用Response Assertion來檢查響應。 如果它不包含“成功”一詞,則JMeter進入下一個測試周期:
5.加權開關控制器用于以加權平均值啟動自動化任務和其他API調用。 為此,我們使用分析中的百分比。
每個組需要一定數量的用戶。 根據您的分析和預期的負載,選擇一個有意義的數量。
烈焰儀
BlazeMeter是運行JMeter測試的好工具。 上傳方案,插件和數據CSV之后,您可以使用并發用戶數量,完成時間和啟動時間來配置負載。 最重要的因素是用戶數量。 根據JMeter中設置的用戶數量,此金額將平均分配給不同的組。 該數量應至少產生您的預期負載。 最后,BlazeMeter還允許您選擇流量來源。 它的免費計劃允許您每周運行一個這樣的計劃。
還可以根據您的KPI選擇失敗條件:
BlazeMeter允許與不同的監視和CI工具集成。 我們自己使用竹子。 有Bamboo插件和全面的指南可幫助您進行集成 。
這樣,您可以每周運行一次自動化性能測試(如果升級BlazeMeter訂閱,則運行頻率會更高)。 這些測試會生成報告,其中包含每個請求的響應和錯誤的詳細概述。
結論
正確進行分析可能是編寫性能測試中最重要的部分。 這意味著不僅要從應用程序本身獲取預期的負載,還要從其他API調用和影響性能的其他任務中獲取負載。 該數據用于創建JMeter場景。 隨機數據和加權控制器插件在這里有很大的幫助。 BlazeMeter使您可以運行這些方案并創建直觀的報告,以幫助您發現瓶頸和問題。 與您的CI系統集成是一個福音。
性能測試是非常寶貴的工具。 JMeter與BlazeMeter的結合使我們能夠定期且始終如一地清除瓶頸和問題。 因此,每個構建都將盡快完成。
翻譯自: https://www.javacodegeeks.com/2019/10/performance-testing-with-jmeter.html
jmeter進行性能測試
總結
以上是生活随笔為你收集整理的jmeter进行性能测试_使用JMeter进行性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 故宫的英文 故宫的英文是什么
- 下一篇: 鳏夫怎么读 鳏夫的意思