開始使用 JMeter 對您的網站進行性能測試

已發表: 2022-05-10

緩慢和表現不佳的網站永遠不會吸引觀眾。 除此之外,儘管您的網站在測試期間可能會以閃電般的速度運行,但您知道當流量突然激增時它會如何運行嗎? 或者,如果您的業務出現增長突增,需要額外的集成和功能?

您正在尋找的是一種在各種情況下測試您的網站性能的方法。 這就是性能測試介入的地方。性能測試的主要目標是確保網站在投放市場之前的性能符合預期。 它有助於測試速度、可靠性、響應時間和資源使用情況。 用於所有性能測試的出色開源工具是 JMeter。 深入了解 JMeter 並了解如何在本文中實現測試。

JMeter 性能測試

為什麼要進行性能測試

性能測試的目標不是發現錯誤,而是消除性能故障。 如果沒有進行徹底的性能測試,網站可能會遇到一些問題,例如在多個用戶同時使用時運行緩慢或可用性差。 性能測試的最重要原因之一是避免停機。

您是否知道,大約 59% 的財富 500 強公司每週都會遇到大約 1.6 小時的停機時間? 2013 年 5 分鐘的停機時間讓 Google.com 損失了高達 545,000 美元! 一次意外的網絡服務中斷使亞馬遜每秒損失 1100 美元。 資源。

如果性能測試可以模擬服務器上的重負載,可以運行功能測試、應用程序測試和協議測試,那麼所有這些都可以避免。

使用 JMeter 進行性能測試

Apache JMeter 應用程序是一個開源軟件,一個純粹基於 Java 的應用程序,旨在測試負載或性能測試。 它最初是由 Apache 軟件基金會的 Stefano Mazzocchi 設計的。 JMeter 可以通過為 Web 服務器創建大量虛擬並髮用戶來模擬服務器上的重負載。

JMeter如何進行測試

JMeter 創建一個請求並將其發送到服務器。 一旦它接收到服務器請求,它就會收集它們並在圖表或圖形中可視化這些詳細信息。 然後,它處理服務器請求,最終生成文本、XML、JSON 等多種格式的測試結果。 從收集的數據中,用戶可以觀察應用程序的行為和性能瓶頸,從而深入了解應用程序需要改進的地方。

為什麼選擇 JMeter

  • 開源- JMeter 是一個開源軟件,可以免費下載
  • 平台無關- JMeter 是用 Java 開發的,Java 是世界上最流行的編程語言。 因此,它可以在任何操作系統上運行。
  • 多協議支持- JMeter 不僅支持 Web 應用程序測試,還評估數據庫服務器性能。 JMeter 支持所有基本協議,例如 HTTP、JDBC、LDAP、SOAP、JMS 和 FTP。
  • 用戶友好- JMeter 具有全面的 GUI,有助於創建測試計劃和配置元素。 添加元素也很容易。 您只需右鍵單擊測試計劃並添加您需要做的事情。

JMeter 的元素

  • 線程組- 線程組是線程的集合。 每個線程代表一個使用 AUT 的用戶。 每個線程模仿一個真實的用戶請求到服務器。
  • Samplers - JMeter 支持測試 HTTP、FTP、JDBC 和更多協議。 線程組模擬用戶對服務器的請求。 它幫助線程組知道它需要發出什麼類型的請求(HTTP、FTP 等)。
  • 偵聽器- 偵聽器便於查看者以表格、圖形、樹或某些日誌文件中的簡單文本的形式查看採樣器結果。
  • 配置- JMeter 中的配置元素用於配置或修改對服務器發出的採樣器請求。

如何安裝jmeter

下載和安裝 JMeter 只有一個先決條件:在您的系統中安裝 Java。

  • 從這裡下載 JMeter 並安裝 - https://jmeter.apache.org/download_jmeter.cgi
  • 要啟動 JMeter:Apache jmeter 文件夾 > bin 文件夾 > 單擊 jmeter.bat

創建測試計劃

第 1 步:添加線程組

去添加,然後線程(用戶)並選擇線程用戶。

性能測試

線程組

選項

A. 出現錯誤後要採取的措施
B. 線程數 - 用戶數
C. 以秒為單位的加速期 - 用戶點擊之間的時間間隔
D. 循環計數 - 測試將針對用戶數量運行多少次

第 2 步:添加 HTTP 請求

右鍵單擊 Thread 組,添加採樣器並單擊 Http request。

選項

A. 添加“服務器名稱”
B. 不要提供 http 或 HTTPS,因為這些協議會出現在另一個框中,並且會在 http 請求案例中自動採用。
C.路徑對話框→添加正斜杠。

HTTP 請求

第 3 步:添加偵聽器

右鍵單擊 Thread 組,添加一個 Listener,然後單擊 View result in Table。

查看結果

第 4 步:運行測試

保存測試並單擊綠色箭頭按鈕。

結果在表中在表格中查看結果

是時候分析結果了

  • 樣品編號- 編號。 線程或用戶。 在報告中會提到“this is sample number 1”,表示它是線程 1,然後是線程 2,以此類推。
  • 開始時間- 每個線程或用戶的開始時間
  • 線程名稱- 線程名稱基本上是這裡的線程組名稱。 在線程組名稱中,我們有這個數字 1-1 , 1-2 ......所以第一個意味著第一個用戶的第一次迭代,第二個用戶的第一次迭代等等。
  • 標籤- 標籤是您的樣品或請求名稱。
  • 採樣時間- 這個樣本(標籤)花費了多少時間,以 am/s 為單位。
  • 狀態- 請求的狀態。
  • 字節- 接收到的字節
  • 發送的字節數- 已發送的字節數
  • 延遲- 來自用戶/瀏覽器的時間請求和響應時間。 從服務器到客戶端/瀏覽器的請求響應,不包括服務器處理時間。 (僅請求和響應時間)
  • 連接時間- 連接時間是您的應用程序連接到服務器所需的時間(以毫秒為單位)。

重要的是要知道延遲和連接時間應該總是很短。 較長的連接時間或延遲意味著網站的性能存在問題。