開源測試工具 JMeter 介紹 - 物聯網大併發測試實戰 01

前言

物聯網正在以爆炸式的增長勢頭飛速發展。隨着設備規模的不斷增長和業務邏輯的愈發複雜,物聯網平臺在正式上線前,需要通過對平臺大量接入設備時的可用性和可靠性進行驗證以確保系統質量。物聯網性能測試的價值與必要性因此逐漸凸顯。

一方面,性能測試爲評估物聯網系統提供依據,從設計指標、可擴展性和可靠性多個維度加以驗證;另一方面,性能測試也有助於物聯網系統的優化,幫助及早發現系統性能瓶頸,提供調優建議。此外,性能測試還可以輔助容量計劃的制定,爲未來擴容計劃提供參考。

而物聯網系統接入設備量大、協議多樣化、集成架構複雜、跨部門開發協作頻繁這些特點,也使物聯網性能測試面臨着重重挑戰。本系列文章將以基於 EMQ X 的物聯網平臺爲例,介紹如何使用性能測試工具進行平臺相關質量指標的驗證與測試。

測試工具的選擇——JMeter 簡介

我們選擇 JMeter 作爲本次的測試工具。

JMeter 是 Apache 基金會旗下一款開源軟件,主要通過模擬併發負載來實現性能測試,是目前開源社區的主流性能測試工具。其主要具有以下優勢:

  • 內置多種協議的測試支持,如 TCP、HTTP/HTTPS 等。
  • 提供靈活的插件擴展機制,支持第三方擴展其他的協議。對於物聯網系統中種類繁多的協議,只需按 JMeter 的框架要求定製開發所需協議業務邏輯,就能方便地放入 JMeter 的插件庫,使用 JMeter 既有功能進行該協議的性能測試。
  • 具有良好的社區支持。

JMeter 的安裝

目前 JMeter 最新穩定版本是 5.4.1,由於 JMeter 是基於 Java 的,5.4.1 版本的 JMeter 需要預先安裝 Java 8 及以上的支持(可從以下地址獲取:https://www.oracle.com/java/technologies/downloads )。

安裝完 Java 後,從官網下載 JMeter:https://jmeter.apache.org/download_jmeter.cgi

下載完成後解壓,並進入解壓後目錄下的 bin 子目錄。根據操作系統的不同,運行 jmeter.bat(Windows系統)或 jmeter(Unix系統)。如果一切順利,JMeter 的腳本編輯界面將會呈現在您的面前:

安裝 JMeter

接下來,我們以 HTTP 爲例,看一下如何使用 JMeter 來構建並運行一個簡單的測試用例。

  1. 添加虛擬用戶組(Thread Group):右擊測試計劃 > 添加 > 線程(用戶)> 線程組

    JMeter 添加虛擬用戶組

    JMeter 使用單個線程來模擬一個用戶,用戶組 Thread Group 就是指一組用戶,作爲模擬訪問被測系統的虛擬用戶組。

    「線程屬性」中的「線程數」可用於配置虛擬用戶組的併發用戶數,數值越高,併發量越大;「循環次數」可用於配置每個虛擬用戶執行多少次的測試。

    JMeter 線程屬性

  2. 添加被測 HTTP 頁面:右擊線程組 > 添加 > 取樣器 > HTTP請求

    JMeter 添加被測 HTTP 頁面

    示例測試腳本中我們只使用默認的 HTTP 請求設置,對 bing 網站發起 HTTP 請求,您可以根據實際情況進行相關的配置。

    JMeter 添加被測 HTTP 頁面2

  3. 添加結果監聽器:右擊線程組 > 添加 > 監聽器 > 察看結果樹

    監聽器在實際運行性能測試中並不是必須的,但在編寫腳本的過程中可以幫助直觀看到測試結果,方便調試。在這個樣例腳本中我們將使用「察看結果樹」來幫助查看請求的響應信息。

    JMeter 添加結果監聽器

  4. 運行測試。

    保存測試腳本後,點擊操作欄中的「啓動」按鈕,就開始運行測試腳本了。建議線程組中的線程數和循環次數設置得小一些(比如10以內),以免被 ban。

    運行JMeter測試

以上,我們就完成了一個簡單的 HTTP 測試腳本。大家可以舉一反三,試試其他協議的測試。下一篇文章中,我們將更詳細地介紹 JMeter 的各種測試元件,配合使用就能構建更復雜的測試場景。

版權聲明: 本文爲 EMQ 原創,轉載請註明出處。

原文鏈接:https://www.emqx.com/zh/blog/introduction-to-the-open-source-testing-tool-jmeter

技術支持:如對本文或 EMQ 相關產品有疑問,可訪問 EMQ 問答社區 https://askemq.com 提問,我們將會及時回覆支持。

更多技術乾貨,歡迎關注我們公衆號【EMQ 中文社區】。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章