使用 apache-jmeter 完成WEB性能測試(入門篇)
jmeter 是學習成本比較低的一種測試工具,相對於繁重的loadrunner 腳本較爲簡單,在日常開發過程中,當我們需要檢查自編寫組件性能時,jmeter 是個不錯的選擇。
本人並非專業測試人員,而是一個菜鳥小開發,如果有任何問題,或者建議可以給我留言
- apache-jmeter 簡介
- 獲取 apache-jmeter
- 測試計劃
- 創建一個請求(GET or POST)
- 使用線程組實現併發操作
- 使用監視器記錄測試結果
- 結果分析
- 總結
apache-jmeter 簡介
Apache
JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試但後來擴展到其他測試領域。
它可以用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫, FTP 服務器, 等等。JMeter
可以用於對服務器、網絡或對象模擬巨大的負載,來自不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/迴歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。爲了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
Apache jmeter 可以用於對靜態的和動態的資源(文件,Servlet,Perl腳本,java
對象,數據庫和查詢,FTP服務器等等)的性能進行測試。它可以用於對服務器,網絡
或對象模擬繁重的負載來測試它們的強度或分析不同壓力類型下的整體性能。你可以使用它做性能的圖形分析或在大併發負載測試你的服務器/腳本/對象。(轉自百度百科)
獲取 apache-jmeter
jmeter官方地址 http://jmeter.apache.org/
點擊Download Releases 進入下載頁面
本文使用的版本爲: apache-jmeter-2.13
測試計劃
創建測試計劃
保存測試計劃,便於下次再次編輯
![這裏寫圖片描述](https://img-blog.csdn.net/20150912023542522
關於線程組的參數設置,我們下面會在“使用線程組實現併發操作”欄目詳細介紹。
在線程組中創建一個請求
選擇“線程組”右鍵創建一個HTTP請求,如圖設置:
HTTP請求詳細參數設置
這裏詳細解釋一下 :
http://127.0.0.1:8080/Server.do?ErrToJson=true&uuid=512dc383-7043-4fd2-8ecd-7606dd4b677b
以上的URL是我後臺服務的訪問地址 ,127.0.0.1 爲我本機地址,對應上圖web服務器欄目中的參數,路徑則爲
“/Server.do?ErrToJson=true&uuid=512dc383-7043-4fd2-8ecd-7606dd4b677b“,我後臺所需的test1參數對應賦值爲
1 ,而且對類型要求爲數字。
接下來我們添加一個監視器來觀察我們調用是否成功?
然後點擊啓動按鈕執行一次請求
然後我們可以點擊一下 “結果樹”
使用線程組實現併發操作
保證我們服務調用正常後,我們接下來可以跑性能
點擊線程組
我這裏就不選擇開始時間和結束時間了,我設置線程永遠執行下去
測試都是需要結果的,我們需要再添加幾個監聽器,用於產生最終的性能測試報告
點擊線程組,啓動測試
使用監視器記錄測試結果
我們看一下這幾個測試監視器反饋的結果:
表格模式可以查看所有請求的詳細響應狀態
聚合報告可以查看到服務請求響應的最大時間和最小時間,以及成功率和失敗率。
如果一個服務的失敗率很高,證明服務存在低性能代碼塊,當然通過率也結合具體的業務場景,不是所有的服務都需要較高的通過率
圖形結果可以形象的看出請求的具體狀態,偏離爲失敗!
結果分析
工具只是檢測質量的一個標準,而具體的性能要求,要根據具體的業務場景而定,本人僅僅是菜鳥開發,如果上述有理解不到位的地方,請各位測試大神指正!
總結
累死寶寶了!睡覺