http://hushi55.github.io/2015/01/08/jmeter-perf-testhtml
Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件作壓力測試,它最初被設計用於Web應用測試但後來擴展到其餘測試領域。 它能夠用於測試靜態和動態資源例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫, FTP 服務器, 等等。JMeter 能夠用於對服務器、網絡或對象模擬巨大的負載,來自不一樣壓力類別下測試它們的強度和分析總體性能。另外,JMeter可以對應用程序作功能/迴歸測試,經過建立帶有斷言的腳原本驗證你的程序返回了你指望的結果。爲了最大限度的靈活性,JMeter容許使用正則表達式建立斷言。(摘自百度百科)java
jmeter 有一個好搭檔,那就是 badboy。 Badboy 是一款不錯的 Web 自動化測試工具,若是你將它用於非商業用途,或者用於商業用途可是安裝 Badboy 的機器數量不超過 5 臺,你是不須要爲它支付任何費用的。也許是一種推廣策略, Badboy 提供了將 Web 測試腳本直接導出生成 JMeter 腳本的功能,而且這個功能很是好用,也很是簡單。git
你能夠下載這兩個軟件github
jmeter 安裝直接解壓,咱們安裝 java 軟件時最好不要安裝的 path 有中文和空格,這樣能夠避免一些沒必要要的錯誤。badboy 的安裝就和通常的 windows 安裝同樣。正則表達式
現以測試 kdtest.kdweibo.cn公網測試環境發送微博爲列子,詳細說明如何使用 badboy 和 jmeter。數據庫
安裝上述軟件後,打開 badboyapache
輸入 kdtest.kdweibo.cn,進入雲之家首頁,點擊上圖中的錄製按鈕,開始錄製腳本。windows
輸入用戶名和密碼,點擊登陸。服務器
輸入發送的微博,點擊發送,發送成功後,點擊錄製腳本按鈕,中止錄製。網絡
點擊 file 菜單,選擇 Export to Jmeter 導出 Jmeter 腳本,命名爲 測試發送微博.jmx(後綴自動添加)。
在 Jmeter 安裝目錄下,點擊 bin/jmeter.bat 打開 jmeter
點擊文件 --> 打開,剛纔用badboy 錄製的腳本測試發送微博.jmx
裁剪不須要測試的 url ,此次測試須要保留
其他的能夠刪除。
由於 登錄操做 只須要執行一次便可,添加一個邏輯控制單元:
如圖所示,在 Thread group 上點擊右鍵,添加,邏輯控制器,僅一次控制器。命名爲登錄,而且將 http://kdtest.kdweibo.cn/space/c/rest/user/login 拖入其中。
修改 step 控制器名稱爲 發送微博,而且勾選循環次數爲永遠。將 登陸 這個控制器移動到發送微博控制器之 前,結果如圖所示:
點擊選中 Thread Group 修改線程數爲 100,表明同時有 100 個用戶併發訪問。修改 Ramp_Up Period 爲 50 表明這 100 線程會在 50 秒鐘啓動完畢,即每秒啓動 2 個線程,循環次數,表明每一個線程執行採樣的次數。能夠勾選永遠,使其不停的才採樣,如圖:
點擊 Test Plan 修更名稱爲 發送微博測試 右擊 添加 --> 監聽器,添加聚合報告,和察看結果樹,這兩個報告的做用分別爲,察看結構樹用來監控返回的結果是否符合預期,用來判斷錄製的腳本是否正確。聚合報告的做用爲,統計此次測試的一些數據,如最大訪問時間,最小訪問時間,QPS 等。
完成以上工做後,能夠點擊運行按鈕,在本地驗證腳本的正確性。以下圖所示。
在測試中有可能會須要使用內置函數,如: 在 3 分鐘內不能發送重複微博,這就不能在發送微博的文本中硬編碼,能夠在發送的文本中添加一個隨機數,這時能夠使用 ${__uuid()} 這樣就能每次發送的消息都是不會相同。避免測試時不能重複使用。關於 Jmeter 內置的函數和變量,詳情能夠參考文檔: