Jmeter性能測試工具
下載地址:http://jmeter.apache.org/download_jmeter.cgi
Windows下使用
這里我們選擇Binaries包局荚,jmeter不需要安裝直接解壓使用编检,但是需要配置Java環(huán)境
安裝jdk联四,這里就不說了
配置Java環(huán)境變量:
win7系統(tǒng)
計算機--屬性--高級系統(tǒng)設(shè)置--高級--環(huán)境變量--系統(tǒng)變量--新建
變量名:JAVA_HOME
變量值:C:\ProgramFiles (x86)\Java\jre1.8.0_101#java路徑
再次點擊新建
變量名:JMETER_HOME
變量值:D:\apache-jmeter-3.1#jmeter存放路徑
再次點擊新建
變量名:CLASSPATH
變量值:%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
在系統(tǒng)變量中找到Path境蜕,點擊編輯,在變量值中加上
%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;#如果前面沒有“汽馋;”需要加上侮东,如:;%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
依次點擊確定
Web性能測試:
打開apache-jmeter-3.1/bin/jmeter.bat
打開的時候會有兩個窗口,Jmeter的命令窗口和Jmeter的圖形操作界面豹芯,不可以關(guān)閉命令窗口
1悄雅、測試計劃--右鍵或者點擊編輯--添加--Threads(Users)--Setup Thread Group(創(chuàng)建一個線程組,組名可修改)
2铁蹈、Setup Thread Group--右鍵或者點擊編輯--添加--Sampler--HTTP請求
3宽闲、Setup Thread Group -右鍵或者點擊編輯--添加--監(jiān)聽器--AggregateGraph
4、Setup Thread Group --右鍵或者點擊編輯--添加--監(jiān)聽器--察看結(jié)果數(shù)
5握牧、點擊Setup Thread Group容诬,配置一些參數(shù)
a)線程數(shù):一般我們用來表示多少個用戶,即我們測試時的用戶數(shù)量
b)Ramp-up?Period(in?Seconds):表示每個用戶啟動的延遲時間沿腰,上述我設(shè)為1秒览徒,表示系統(tǒng)將在1秒結(jié)束前啟動我設(shè)置的1000個用戶,如果設(shè)置為1000秒颂龙,那么系統(tǒng)將會在1000秒結(jié)束前啟動這1000個用戶习蓬,開始用戶的延遲為1秒,如果我設(shè)置為0秒措嵌,則表示立即啟動所有用戶躲叼。
c)循環(huán)次數(shù):如果你要限定循環(huán)次數(shù)為10次的話,可以取消永遠(yuǎn)的那個勾企巢,然后在后面的文本框里面填寫10枫慷;在這里我們勾上永遠(yuǎn),表示如果不停止或者限定時間將會一直執(zhí)行下去,是為了方便調(diào)度器的調(diào)用流礁。
d)調(diào)度器:我們勾選調(diào)度器,出現(xiàn)下面的可選項
e)持續(xù)時間:表示腳本持續(xù)運行的時間罗丰,以秒為單位神帅,比如如果你要讓用戶持續(xù)不斷登錄1個小時,你可以在文本框中填寫3600萌抵。如果在1小時以內(nèi)找御,結(jié)束時間已經(jīng)到達(dá),它將會覆蓋結(jié)束時間绍填,繼續(xù)執(zhí)行霎桅。
f)啟動延遲:表示腳本延遲啟動的時間,在點擊啟動后讨永,如果啟動時間已經(jīng)到達(dá)滔驶,但是還沒有到啟動延遲的時間,那么卿闹,啟動延遲將會覆蓋啟動時間揭糕,等到啟動延遲的時間到達(dá)后,再運行系統(tǒng)锻霎。
g)啟動時間:表示我們腳本開始啟動的時間著角,當(dāng)你不想立即啟動腳本測試,但是啟動腳本的時間不會再電腦旁的時候旋恼,你可以設(shè)定一個啟動的時間吏口,然后再運行那里點擊啟動,系統(tǒng)將不會立即運行冰更,而是會等到你填寫的時間才開始運行产徊。
h)結(jié)束時間:與啟動時間對應(yīng),表示腳本結(jié)束運行的時間冬殃。
6囚痴、點擊HTTP請求
1)名稱:可以隨意取,我們可以根據(jù)錄制腳本的路徑來命名
2)注釋:可以對該界面做一個簡單介紹
3)服務(wù)器名稱或IP:即我們的服務(wù)器或者IP的地址审葬。
4)端口號:我用的是tomcat深滚,所以是8080,后面的超時定義可以不用填寫涣觉。
5)Implementation:這里我們錄制時默認(rèn)填寫為JAVA痴荐,協(xié)議填寫為:http,方法為:GET
6)Content?encoding:編碼可以不用填寫
7)路徑:即頁面的路徑官册,我們這里選擇/生兆;下面的重定向等選擇可以根據(jù)需要勾選,這里我們保持錄制不修改膝宁。
8)Parameters參數(shù):即跟著路徑一起發(fā)送的參數(shù)及文件
9)下面的代理服務(wù)器等可以忽略鸦难,按需要填寫根吁。
7、點擊Setup Thread
Group合蔽,修改線程數(shù)和循環(huán)次數(shù)
8击敌、點擊上方的啟動,會提示測試結(jié)果要保存的文件位置
9拴事、點擊Aggregate Graph
1)Label:每個JMeter的element(例如HTTP?Request)都有一個Name屬性沃斤,label顯示的就是Name屬性的值。
2)#Samples:表示你這次測試中一共發(fā)出了多少個請求刃宵,如果模擬10個用戶衡瓶,每個用戶迭代10次,那么這里顯示100牲证,現(xiàn)在顯示10000哮针,是因為我上面分別配置了100。
3)Average:平均響應(yīng)時間--默認(rèn)情況下是單個Request的平均響應(yīng)時間从隆,當(dāng)使用了Transaction?Controller時诚撵,也可以以Transaction為單位顯示平均響應(yīng)時間。
4)Median:中位數(shù)键闺,也就是50%用戶的響應(yīng)時間寿烟。
5)90%?Line:90%用戶的響應(yīng)時間。
6)Min:最小響應(yīng)時間辛燥。
7)Max:最大響應(yīng)時間筛武。
8)Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)。
9)Throughput:吞吐量--默認(rèn)情況下表示每秒完成的請求數(shù)(Request per Second)挎塌,當(dāng)使用了Transaction Controller時徘六,也可以表示類似LoadRunner的Transaction per Second數(shù)。
10)KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量榴都。
可以在web server調(diào)整參數(shù)后待锈,再次測試,查看前后對比結(jié)果嘴高。
數(shù)據(jù)庫性能測試
需要安裝jdbc驅(qū)動
Mariadb:
https://mariadb.com/download_file/connector/java/mariadb-java-client-1.5.4.jar
Mysql(壓縮包竿音,只需要用到包中的jar包):
http://dev.mysql.com/downloads/connector/j/
1、測試計劃--右鍵或者點擊編輯--添加--Threads(Users)--Setup Thread Group(創(chuàng)建一個線程組拴驮,組名可修改)
2春瞬、Setup Thread Group--添加--配置元件--JDBC Connection Configuration
3、點擊JDBC Connection Configuration套啤,此項中的參數(shù)必須要配置宽气,不能為空,否則會影響其它測試項目的使用
修改的配置:
Variable Name:Mariadb
Database URL:jdbc:mariadb://172.16.10.167:3306/caolei
JDBC Driver
class:org.mariadb.jdbc.Driver
Username:root
Password:******
幾種常見數(shù)據(jù)庫的driverClassName和url
Mairadb:
driverClassName: org.mariadb.jdbc.Driver
url: jdbc:mariadb://localhost:3306/test
DB2:
driverClassName:com.ibm.db2.jcc.DB2Driver
url:jdbc:db2://localhost:50000/sample
Oracle:
driverClassName:oracle.jdbc.driver.OracleDriver
url:jdbc:oracle:thin:@localhost:1521:orcl
MySql:
driverClassName:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/test
4、Setup Thread Group--添加--Sampler--JDBC Request
Variable Name:Mariadb
插入一條查詢語句
5萄涯、Setup Thread Group -右鍵或者點擊編輯--添加--監(jiān)聽器--AggregateGraph
6绪氛、Setup Thread Group --右鍵或者點擊編輯--添加--監(jiān)聽器--察看結(jié)果數(shù)
7、測試計劃--下方的瀏覽(將下載的JDBC的jar包添加到這里涝影,可添加多個)
點擊啟動钞楼,如果數(shù)據(jù)量大,需要等待停止鍵變灰袄琳,啟動鍵變亮,右側(cè)的時間停止燃乍,才能表明測試結(jié)束
時間右側(cè)的警告圖形唆樊,點擊之后可以顯示測試錯誤的詳細(xì)信息
還可以設(shè)置斷言、圖形顯示刻蟹、表格顯示等
Jmeter插件:
目前只是可以進行簡單測試逗旁,還有更多功能需要研究。