到JMeter的網站http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
下載JMeter的最新版本,將zip文件解壓縮到D:/JMeter,運行D:/JMeter/bin下的jmeter.bat便可。 html
JMeter,一個100%的純Java桌面應用,它是Apache組織的開放源代碼項目,它是功能和性能測試的工具。JMeter能夠用於測試靜態或者動態資源的性能(文件、Servlets、Perl腳本、Java對象、數據庫和查詢、ftp服務器或者其餘資源)。原先Jmemer是爲Web/HTTP測試而設計的,可是它已經擴展以支持各類各樣的測試模塊。它和用於HTTP和SQL數據庫(使用JDBC)的模塊一塊兒運送。它能夠用來測試靜止資料庫或者活動資料庫中的服務器的運行狀況,能夠用來模擬對服務器或者網絡系統加以重負荷以測試它的抵抗力,或者用來分析不一樣負荷類型下的全部運行狀況。它也提供了一個可替換的界面用來定製數據顯示,測試同步及測試的建立和執行。 java
Jmeter的下載地址:http://jakarta.apache.org/jmeter/usermanual/index.html 數據庫
JMeter 的特性: apache
a) 可以對HTTP和FTP服務器進行壓力和性能測試, 也能夠對任何數據庫進行一樣的測試(經過JDBC)。
b) 徹底的可移植性和100% 純Java。
c) 徹底 Swing 和輕量組件支持(預編譯的JAR使用 javax.swing.*)包。
d) 徹底多線程 框架容許經過多個線程併發取樣和 經過單獨的線程組對不一樣的功能同時取樣。
e) 精心的GUI設計容許快速操做和更精確的計時。
f) 緩存和離線分析/回放測試結果。
g) 高可擴展性:
h) 可連接的取樣器容許無限制的測試能力。
i) 各類負載統計表和可連接的計時器可供選擇。
j) 數據分析和可視化插件提供了很好的可擴展性以及 以及個性化。
k) 具備提供動態輸入到測試的功能(包括Javascrīpt)。
l) 支持腳本變成的取樣器(在1.9.2及以上版本支持BeanShell)。 瀏覽器
2.腳本錄製 緩存
在測試計劃中添加線程組,在線程組中添加邏輯控制器-錄製控制器。
在工做臺中添加非測試元件-HTTP代理服務器。
端口:即代理服務器的監聽端口,咱們設爲8080。
目標控制器選擇:測試計劃>線程組;
分組選擇:每一個組放入一個新的控制器。 服務器
在HTTP代理服務器中添加定時器-高斯隨機定時器(用於告知Jmeter來在其生成的HTTP請求中自動的增長一個定時器)。定時器將會使相應的的取樣器被延遲。 延時的規則是,在上一個訪問請求被響應並延時了指定的時間後,下一個被定時器影響的取樣訪問請求才會被髮送出去。 網絡
若是在代理服務器元件裏使用了高斯隨機定時器,就應該在其中的固定延遲偏移(Constant Delay Offset)設置項裏添上${T}(用於自動引用紀錄的延遲時間)。 多線程
代理服務器配置好之後,點擊啓動,代理服務器就會開始記錄所接受的HTTP 訪問請求。
打開瀏覽器,打開Internet選項,將局域網(LAN)設置中的代理服務器設爲:localhost,端口爲在代理服務器中設的端口:8080。 併發
在瀏覽器地址欄中輸入地址並進行相關的操做進行錄製,錄製完成後, 中止HTTP 代理服務器; 在錄製控制器元件上單擊右鍵將記錄的元件保存爲一個文件用於之後重用,另外,不要忘了恢復瀏覽器的代理服務器設置。
腳本錄製完畢後,就能夠運行JMeter來進行咱們的測試了。
3.運行JMeter進行測試
打開JMeter會有一個默認的測試計劃,點擊文件-打開,選中錄製的腳本文件如:WebXSample_addUser.jmx,打開腳本進行測試。
在線程組上添加監聽器-聚合報告(用於分析測試結果)後,點擊運行-啓動,開始測試,測試完畢後在聚合報告中就能夠看到測試結果。一個簡單的測試計劃就完成了。
聚合報告詳解 Label:每一個 JMeter 的 element (例如 HTTP Request )都有一個 Name 屬性,這裏顯示的就是 Name 屬性的值 #Samples:表示你此次測試中一共發出了多少個請求,若是測試計劃模擬10個用戶,每一個用戶迭代10次,這裏就會顯示100 Average:平均響應時間 — 默認狀況下是單個 Request 的平均響應時間,當使用了事務控制器時,也能夠以事務爲單位顯示平均響應時間 Median:中位數,也就是 50 %用戶的響應時間 90% Line: 90 %用戶的響應時間 Min:最小響應時間 Max:最大響應時間 Error%:錯誤率,本次測試中出現錯誤的請求的數量 / 請求的總數 Throughput:吞吐量 —— 默認狀況下表示每秒完成的請求數( Request per Second ) KB/Sec:每秒從服務器端接收到的數據量