使用JMeter進行HTTP負載測試
以前我寫過一篇文章: high availability load balancing with HAProxy and CARP on FreeBSD ,其中我使用了 JMeter 作為測試工具。在本文中,我將介紹一些如何用 JMeter 來進行 HTTP 負載測試的基礎知識。JMeter 是一個java應用程序,用于模擬產生一個 高負載到一個服務器上,以測試這個服務器的承載強度,或用于分析在不同的負載下的服務器的性能。完整的 JMeter 情況,請到其官方網站上了解: 這里。
你要明白的一件事是,這個工具并不是一個瀏覽器。這意味著 JMeter 并不會執行提供給瀏覽器執行的所有功能,它也無法運行 JavaScript 或 Flash。它只是一個能運行在 windows 上或其它操作系統上的一個桌面應用程序。因此,請首先到這里 把它下載下來。如果你使用的是 windows 操作系統,解壓后你就可以運行“bin/jmeter.bat”命令來啟動它。你將看到下面的顯示:
在本文中,我將介紹如果在 JMeter 中設置一個最基本的負載測試計劃。一般來說,你想通過負載測試來獲得以下兩個問題的答案:
- 你的應用程序能夠承載多大的用戶量?
- 在什么樣的負載下,你的應用會崩潰?
因此,一開始,首先你要添加一個線程組(用戶數):
然后,開始設置這個線程組:
- 用戶數
- 過渡期 (用戶組發出請求的間隔時間)
- 循環次數 (這個線程的運行次數)
其次,你需要增加一個例程(HTTP 請求)到這個組中:
一旦你增加了一個 HTTP 請求例程后,你將看到大量的選項。你需要注意的是:
- 服務器名(Server Name) 或 IP
- 路徑(Path)
定義完這個后,測試就準備好了,但我們通常需要一些測試報告。在 JMeter 中,我們稱這種組件為監聽器。因此,在這個測試計劃中,加上一個監聽器:
你的全部的請求響應結果都將會顯示在這里。按:Ctrl + R 開始運行這個測試。如果打開結果視圖窗口(View Results Tree),你可以看到實時的運行狀態。運行完后,你可以再按: Ctrl + E 來清除舊的結果,并重新按 Ctrl + R 來重新啟動一次新的測試。***,你可以看到類似以下的結果:
正如我在一開始說的那樣,這是一個最基本的 HTTP 負載測試計劃。但 JMeter 提供的功能卻遠非如此簡單,它能夠通過建立大量的、你需要學習的各種選項來完成各種測試案例。我強烈推薦大家使用這個工具來進行各類測試。當然,這個工具用自定義插件來擴展也很簡單。
AtlantBH 開發了一套 JMeter 的擴展插件,包括:
- OAuth Sampler
- REST Sampler
- JMS Tools (Java Request Sampler)
- JSON 到 XML 轉換器
- XML Format Post-processor
- HDFS Operations Sampler
- HBase Scan Sampler
- HBase RowKey Sampler
- Hadoop Job Tracker Sampler
- HBase CRUD Sampler
- JSON utils (JSON Path Assertion, JSON Path Extractor, JSON Formatter)
英文原文:HTTP Load testing with JMeter
譯文鏈接:http://www.oschina.net/translate/http-load-testing-with-jmeter