」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Windows 上使用 Apache Jmeter 進行容量測試。

在 Windows 上使用 Apache Jmeter 進行容量測試。

發佈於2024-08-24
瀏覽:725

Volume Testing With Apache Jmeter On Windows.

在本文中,我將向您介紹如何在不同的應用程式上執行批次測試。在演示如何使用 Jmeter 進行批量測試之前,以下是我自己對批量測試含義的理解以及為什麼我們需要在部署到生產之前對應用程式進行批量測試。

Volume Testing With Apache Jmeter On Windows.

容量測試:簡單來說,容量測試旨在檢查系統如何處理大量資料。不同的公司採用這種測試方法來確保他們的服務可以管理預期的資料量,而不會顯著降低效能或資料遺失。

為什麼我們要進行容量測試?
以下是我們採取此步驟的一些原因:

  1. 可協助確定我們的系統是否能夠有效地攝取、儲存和處理大型資料集。

Volume Testing With Apache Jmeter On Windows.

  1. 深入了解我們的應用程式、系統或服務的效能指標。回應時間、資源利用率、吞吐量等指標

現在我們對什麼是批量測試有了一些了解,讓我們繼續演示。在本示範中,我們將使用 Apache JMeter。 Apache JMeter™ 應用程式是開源軟體,是一個 100% 純 Java 應用程序,旨在載入測試功能行為和測量效能。它最初是為測試 Web 應用程式而設計的,但後來擴展到其他測試功能。以下是我們可以使用 Apache JMeter 進行測試的清單:

  • Web - HTTP、HTTPS(Java、NodeJS、PHP、ASP.NET,...)
  • SOAP / REST Web 服務
  • FTP
  • 透過 JDBC 的資料庫
  • LDAP
  • 透過 JMS 的訊息導向的中間件 (MOM)
  • 郵件 - SMTP(S)、POP3(S) 和 IMAP(S)
  • 本機指令或 shell 腳本
  • TCP
  • Java 物件

要安裝Apache,我們需要安裝jdk8以上:
在此下載 Java 開發工具包。

下載套件後,將其解壓縮到您的program files目錄中:

Volume Testing With Apache Jmeter On Windows.

將 Java 設定為 PC 上的環境變數:

windows home>>>搜尋“編輯環境變數”>>路徑>>>編輯>>傳入java二進位目錄的路徑,目錄應該是“C:\Program Files\Java\jdk-22\bin” ,保存退出。
接下來是安裝 Apache Jmeter。點擊此鏈接下載 zip 檔案。
將檔案解壓縮到 C 碟的程式檔案目錄「C:\Program Files\apachejmeter」。
導航至 JMeter 安裝目錄並在 Windows powershell 上執行 Apachejmeter 執行檔以啟動服務。

Volume Testing With Apache Jmeter On Windows.
執行此命令,但將其替換為 jar 執行檔位置的絕對路徑:

 PS C:\Program Filesapache-jmeter-5.6.3\apache-jmeter-5.6.3\bin> .\ApacheJMeter.jar

Jmeter 將自動啟動。以下是使用 Jmeter 時應該了解的一些術語:

  1. 測試計畫:這是您為測試案例指定的名稱。例如,您正在嘗試測試 facebook Web 應用程序,您可以將其命名為“facebook-test-app”。

Volume Testing With Apache Jmeter On Windows.

  1. 執行緒:執行緒或執行緒群組可以定義為虛擬使用者或使用者群組,我們可以用它來測試應用程式的效能。我們可以使用執行緒向定義的路徑執行大量請求,我們可以將這些執行緒分組以一次發送 100 個請求。我們配置的執行緒越多,應用程式的負載就越高。最初,預設配置了四種類型的線程,我們可以使用 Jmeter 插件管理器添加更多類型。要安裝插件,請在安裝時選中此處..。您可以在頁面頂部的“選項”選項卡中找到它。

Volume Testing With Apache Jmeter On Windows.

在可用外掛程式中搜尋“自訂執行緒組”,選擇並向下捲動點擊“套用變更並重新啟動”。之後你將能夠在jmeter中看到多個線程組,如下所示:

Volume Testing With Apache Jmeter On Windows.

  1. Samplers:該元件將請求傳送到指定的伺服器。採樣器可以是 HTTP 請求、FTP 或 SMTP 類型。

Volume Testing With Apache Jmeter On Windows.
上圖顯示了 Jmeter 支援的大量採樣器,以滿足您的需求。

Volume Testing With Apache Jmeter On Windows.

以下是 HTTP 請求採樣器的範例,其中包含所有必要的詳細資訊。

  1. 聽眾:當我們在採樣器上運行測試案例時,我們需要一份報告,對嗎?這正是聽眾所做的。他們負責以任何形式收集和顯示數據,例如表格、圖形、圖表等。收集的一些數據包括回應時間、吞吐量、錯誤率、回應代碼等。

示範:
要開始此演示,請確保您已完成所有必要的安裝。

首先我們建立一個名為 wordpress-test 的測試計畫:

Volume Testing With Apache Jmeter On Windows.

接下來,我們建立線程組:

Volume Testing With Apache Jmeter On Windows.
線程組中定義的設定說明。線程組將有 1000 個用戶,其中 20 個將在 0 秒後立即發送 GET 請求。然後使用 5 秒的啟動時間,每 15 秒增加 10 個請求。發送 1000 個請求後,用戶將等待 60 秒才最終停止發送請求。減少速率將為 5 位使用者/秒。

配置完線程組後,我們新增一個HTTP請求採樣器來監聽指定路徑上的GET請求:

Volume Testing With Apache Jmeter On Windows.

Volume Testing With Apache Jmeter On Windows.
儲存您的配置並新增偵聽器以樹狀或表格式顯示結果。點擊綠色的“播放”按鈕開始測試。

Volume Testing With Apache Jmeter On Windows.

給你!這就是我們使用 jp@gc - 步進線程組運行容量測試的方式。
本文到此結束,如果您有任何疑問,可以透過 X(FKA twitter)@marviigrey 與我聯繫。謝謝您的寶貴時間,再見。

版本聲明 本文轉載於:https://dev.to/linuxinator/volume-testing-with-apache-jmeter-on-windows-2p06?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何建立重複最少的 5 個字元的隨機字串?
    如何建立重複最少的 5 個字元的隨機字串?
    產生5 個具有最少重複的隨機字元要建立具有最少重複的隨機5 個字元字串,最有效的方法之一是使用PHP 函數和巧妙技術的結合。讓我們深入研究解決方案:使用md5 和rand$rand = substr(md5(microtime()),rand(0,26),5);此方法使用md5雜湊函數根據時間戳記產...
    程式設計 發佈於2024-11-06
  • 如何在 Go 中處理不同套件之間相同的方法簽名?
    如何在 Go 中處理不同套件之間相同的方法簽名?
    處理不同套件中具有相同方法簽名的介面在Go中,當處理具有相同方法簽署但定義在不同套件中的多個介面時,可能會出現以下情況實作兩個介面的類型會導致意外行為。 考慮在不同套件中定義的這兩個介面(Doer)和函數(FuncA 和 FuncB):// Package A type Doer interface...
    程式設計 發佈於2024-11-06
  • 如何使用 jQuery 填充級聯下拉清單以獲得更好的相容性和使用者體驗?
    如何使用 jQuery 填充級聯下拉清單以獲得更好的相容性和使用者體驗?
    使用jQuery 填充級聯下拉清單在表單開發領域,級聯下拉清單經常用於提供更用戶友好和動態體驗。為了增強相容性並解決跨瀏覽器問題,jQuery 提供了一個強大的解決方案來非同步填充這些下拉清單。 問題中所示的用於建立級聯下拉清單的原始 JavaScript 函數缺乏與 IE 的兼容性。為了解決這個問...
    程式設計 發佈於2024-11-06
  • 了解 JavaScript 中的擴充運算子:初學者簡單指南
    了解 JavaScript 中的擴充運算子:初學者簡單指南
    介紹 JavaScript 是一種有趣的程式語言,其最令人興奮的功能之一是擴充運算子。如果您剛開始編碼,或者即使您是一個對學習 JavaScript 感興趣的孩子,也不必擔心!我將以最簡單的方式分解這個概念,並舉例來幫助您理解。 什麼是價差運算子? 擴充運算子看起...
    程式設計 發佈於2024-11-06
  • 在 Python 中使用 OpenSearch 掌握 CRUD 操作:實用指南
    在 Python 中使用 OpenSearch 掌握 CRUD 操作:實用指南
    OpenSearch, an open-source alternative to Elasticsearch, is a powerful search and analytics engine built to handle large datasets with ease. In this b...
    程式設計 發佈於2024-11-06
  • 冰沙框架的重要概念||如何精通冰沙
    冰沙框架的重要概念||如何精通冰沙
    要精通 Frappe,有几个关键概念和领域需要关注。以下是最重要的细分: 1. 文档类型 定义:DocTypes是Frappe中的核心数据模型。每个实体或记录都存储在 DocType 中,并且它们可以具有字段、权限和工作流程。 为什么它很重要:了解如何创建和自定义 DocType 至...
    程式設計 發佈於2024-11-06
  • 如何解決 JLabel 拖放的滑鼠事件衝突?
    如何解決 JLabel 拖放的滑鼠事件衝突?
    用於拖放的JLabel 滑鼠事件:解決滑鼠事件衝突為了在JLabel 上啟用拖放功能,滑鼠事件必須被覆蓋。然而,當嘗試使用 mousePressed 事件實作拖放時,會出現一個常見問題,因為 mouseReleased 事件對該 JLabel 無效。 提供的程式碼在 mousePressed 事件中...
    程式設計 發佈於2024-11-06
  • MySQL 中的資料庫分片:綜合指南
    MySQL 中的資料庫分片:綜合指南
    随着数据库变得越来越大、越来越复杂,有效地控制性能和扩展就出现了。数据库分片是用于克服这些障碍的一种方法。称为“分片”的数据库分区将大型数据库划分为更小、更易于管理的段(称为“分片”)。通过将每个分片分布在多个服务器上(每个服务器保存总数据的一小部分),可以提高可扩展性和吞吐量。 在本文中,我们将探...
    程式設計 發佈於2024-11-06
  • 如何將 Python 日期時間物件轉換為秒?
    如何將 Python 日期時間物件轉換為秒?
    在Python 中將日期時間物件轉換為秒在Python 中使用日期時間物件時,通常需要將它們轉換為秒以適應各種情況分析目的。但是,toordinal() 方法可能無法提供所需的輸出,因為它僅區分具有不同日期的日期。 要準確地將日期時間物件轉換為秒,特別是對於 1970 年 1 月 1 日的特定日期,...
    程式設計 發佈於2024-11-06
  • 如何使用 Laravel Eloquent 的 firstOrNew() 方法有效最佳化 CRUD 操作?
    如何使用 Laravel Eloquent 的 firstOrNew() 方法有效最佳化 CRUD 操作?
    使用 Laravel Eloquent 優化 CRUD 操作在 Laravel 中使用資料庫時,插入或更新記錄是很常見的。為了實現這一點,開發人員經常求助於條件語句,在決定執行插入或更新之前檢查記錄是否存在。 firstOrNew() 方法幸運的是, Eloquent 透過firstOrNew() ...
    程式設計 發佈於2024-11-06
  • 為什麼在 PHP 中重寫方法參數違反了嚴格的標準?
    為什麼在 PHP 中重寫方法參數違反了嚴格的標準?
    在PHP 中重寫方法參數:違反嚴格標準在物件導向程式設計中,里氏替換原則(LSP) 規定:子類型的物件可以替換其父對象,而不改變程式的行為。然而,在 PHP 中,用不同的參數簽名覆蓋方法被認為是違反嚴格標準的。 為什麼這是違規? PHP 是弱型別語言,這表示編譯器無法在編譯時確定變數的確切型別。這表...
    程式設計 發佈於2024-11-06
  • 哪個 PHP 函式庫提供卓越的 SQL 注入防護:PDO 還是 mysql_real_escape_string?
    哪個 PHP 函式庫提供卓越的 SQL 注入防護:PDO 還是 mysql_real_escape_string?
    PDO vs. mysql_real_escape_string:綜合指南查詢轉義對於防止 SQL 注入至關重要。雖然 mysql_real_escape_string 提供了轉義查詢的基本方法,但 PDO 成為了一種具有眾多優點的卓越解決方案。 什麼是 PDO? PHP 資料物件 (PDO) 是一...
    程式設計 發佈於2024-11-06
  • React 入門:初學者的路線圖
    React 入門:初學者的路線圖
    大家好! ? 我剛開始學習 React.js 的旅程。這是一次令人興奮(有時甚至具有挑戰性!)的冒險,我想分享一下幫助我開始的步驟,以防您也開始研究 React。這是我的處理方法: 1.掌握 JavaScript 基礎 在開始使用 React 之前,我確保溫習一下我的 JavaScript 技能,...
    程式設計 發佈於2024-11-06
  • 如何引用 JavaScript 物件中的內部值?
    如何引用 JavaScript 物件中的內部值?
    如何在JavaScript 物件中引用內部值在JavaScript 中,存取引用同一物件中其他值的物件中的值有時可能具有挑戰性。考慮以下程式碼片段:var obj = { key1: "it ", key2: key1 " works!" }; a...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3