典型的性能測試工具主要有2個,Load Runner和jmeter。Load Runner是商業化的,Jmeter是開源的。下面咱們認識一下開源性能測試工具jmeter。html
一、jmeter是什麼?java
Apache JMeter是Apache組織開發的基於Jave的壓力測試工具。web
Jmeter能夠用於對服務器,網絡或對象模擬巨大的負載,來自不一樣壓力類別下測試它們的強度和分析總體性能。另外Jmeter可以對應用程序作功能/迴歸測試,經過建立帶有斷言的腳原本驗證你的程序返回了你指望的結果。爲了最大限度的靈活性,Jmeter容許使用正則表達式建立斷言。正則表達式
二、jmeter的特色數據庫
可以對HTTP和FTP服務器進行壓力和性能測試,也能夠對任何數據庫進行一樣的測試(經過JDBC)。apache
徹底的可移植性和100%純Java。瀏覽器
徹底多線程框架,容許經過多個線程併發取樣和經過單獨的線程組對不一樣的功能同時取樣。服務器
各類負載統計表和可連接的計時器可供選擇。網絡
數據分析和可視化插件提供了很好的可擴展性以及個性化。多線程
具備提供動態輸入到測試的功能。
三、JDK下載,安裝,配置環境變量。
JDK下載。jmeter 4.0 須要JDK 1.8或以上版本。網址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
JDK安裝。雙擊安裝,安裝以後運行cmd,輸入Java -version可查看版本。
JDK環境變量配置。計算機→屬性→高級系統設置→高級→環境變量→系統變量
配置以後在cmd窗口輸入javac,顯示命令用法則說明配置成功。
四、jmeter下載,安裝。
Jmeter下載最新版本4.0。官網:http://jmeter.apache.org/download_jmeter.cgi
Jmeter歷史版本下載地址:http://archive.apache.org/dist/jmeter/binaries/
Jmeter安裝。Jmeter下載以後是一個zip包,解壓便可。避免在一個有空格的路徑安裝 JMeter。這將致使遠程測試出現問題。
五、jmeter啓動
通常啓動:雙擊bin目錄裏的jmeter.bat便可啓動。
服務器模式啓動:jmeter-server.bat。容許在遠程節點上以服務器模式運行jmeter,並經過jmeter gui來控制。
六、jmeter工做原理
jmeter能夠做爲web服務器與瀏覽器直接的代理網關,以便捕獲瀏覽器的請求和web服務器的響應,如此就能夠很容易地生成性能測試腳本。有了性能測試腳本,jmeter就能夠經過線程來模擬真實用戶對web服務器的訪問壓力。這與LoadRunner的工做原理基本一致。
七、jmeter的目錄結構
1.bin目錄下是可執行文件。
jmeter.bat啓動,裏面能夠設置jvm參數。根據經驗,heap(堆內存)最多設置爲物理內存的通常,默認設置爲512M。若是heap超過物理內存的通常,可能運行jmeter會慢,甚至出現內存溢出。
jmeter的log在jmeter.log中查看。
jmeter.properties文件中,屬性log_level.JMeter能夠設置改變日誌詳細度。默認是info,可改成debug。也能夠在jmeter界面中,點擊編輯-添加-非測試元件-Property Display,它至關於把jmeter.properties文件以GUI的方式展示出來,能夠在此界面修改參數。
2.docs目錄下是jmeter的Java docs。
3.printable_docs目錄:其中的usermanual子目錄是jmeter用戶手冊,其中component_reference.html是最經常使用的核心元件幫助手冊。固然你也能夠打開jmeter程序後,在幫助菜單下點擊「幫助」選項查看幫助手冊。
4.extras目錄下的文件提供了對ant的支持,能夠利用ant來實現自動化,例如批量執行腳本,產生html報告等。
運行jmeter的時候會產生一個jtl文件,把它放到extras目錄下,運行ant-Dtest=文件名 report就能夠生成測試統計報表。
5.lib目錄下的ext子目錄是jmeter的核心jar包,junit子目錄是放junit腳本的。用戶擴展所依賴的包直接放到lib下便可,不要放到lib/ext下。
八、jmeter VS loadrunner