jmeter性能測(cè)試培訓(xùn)課件_第1頁(yè)
jmeter性能測(cè)試培訓(xùn)課件_第2頁(yè)
jmeter性能測(cè)試培訓(xùn)課件_第3頁(yè)
jmeter性能測(cè)試培訓(xùn)課件_第4頁(yè)
jmeter性能測(cè)試培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩97頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件2目錄JMeter介紹JMeter介紹誰(shuí)在使用JMeterJMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)2ppt課件2目錄JMeter介紹2ppt課件3JMeter介紹JMeter是基于Java的,開(kāi)放源代碼的性能測(cè)試工具能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試可以對(duì)任何數(shù)據(jù)庫(kù)進(jìn)行同樣的測(cè)試(通過(guò)JDBC)各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇緩存和離線分析/回放測(cè)試結(jié)果完全多線程框架高可擴(kuò)展性免費(fèi)/開(kāi)源3ppt課件3JMeter介紹JMeter是基于Java的,開(kāi)放源代碼的4誰(shuí)在使用JMeter4ppt課件4誰(shuí)在使用JMeter4ppt課件誰(shuí)在使用JMeter移動(dòng)夢(mèng)網(wǎng)搜索項(xiàng)目盤古搜索項(xiàng)目55ppt課件誰(shuí)在使用JMeter移動(dòng)夢(mèng)網(wǎng)搜索項(xiàng)目55ppt課件6目錄JMeter介紹JMeter與Loadrunner的對(duì)比支持的協(xié)議對(duì)比功能對(duì)比使用對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)6ppt課件6目錄JMeter介紹6ppt課件7支持的協(xié)議對(duì)比JMeter支持的協(xié)議Web(HTTP/HTTPS),SOAP,F(xiàn)TP,Database(JDBC),LDAP,JMS,Mail(POP3/IMAP),JAVALoadrunner支持的協(xié)議WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDualProtocolSQLServer、MSODBC、Oracle、DB2、SybaseCTlib、SybaseDBlib、DomainNameResolution(DNS)、WindowsSocketCOM/DCOM、Corba-Java、Rmi_JavaEJB、Rmi_JavaOracleNCA、SAP-Web、SAPGUI、SAPGUI/SAP-WebDualProtocol、PropleSoft_Tuxedo、SiebelWeb、Siebel-DB2CLI、Sieble-MSSQL、SiebleOracle……JMeter支持的協(xié)議相對(duì)Loadrunner較少,但是可以通過(guò)二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)7ppt課件7支持的協(xié)議對(duì)比JMeter支持的協(xié)議JMeter支持的協(xié)議8JMeter與Loadrunner功能對(duì)比8ppt課件8JMeter與Loadrunner功能對(duì)比8ppt課件9使用對(duì)比9ppt課件9使用對(duì)比9ppt課件10目錄JMeter介紹JMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter主要組件介紹腳本錄制運(yùn)行JMeter參數(shù)化設(shè)置動(dòng)態(tài)關(guān)聯(lián)場(chǎng)景設(shè)置JMeter測(cè)試實(shí)例JMeter二次開(kāi)發(fā)10ppt課件10目錄JMeter介紹10ppt課件11JMeter主要組件(測(cè)試計(jì)劃)測(cè)試計(jì)劃(TestPlan)是使用JMeter進(jìn)行測(cè)試的起點(diǎn),它是其它JMeter測(cè)試元件的容器。用戶定義的變量:用戶可以自己定義變量,在用到此變量的時(shí)候直接用${變量名}引用即可。例如:${ip},${port}Adddirectoryorjartoclasspath:向類路徑即%JMeter-HOME%\lib中添加目錄及jar包11ppt課件11JMeter主要組件(測(cè)試計(jì)劃)測(cè)試計(jì)劃(TestPl12JMeter主要組件(線程組)名稱:線程組的名字。線程數(shù):設(shè)置發(fā)送請(qǐng)求的用戶數(shù)目,即并發(fā)數(shù)。Ramp-UpPeriod(insecond):線程啟動(dòng)的時(shí)間,單位是秒。即所有線程在多少時(shí)間內(nèi)啟動(dòng)。循環(huán)次數(shù):請(qǐng)求的重復(fù)次數(shù),如果選擇后面的“永遠(yuǎn)”,那么請(qǐng)求將一直繼續(xù);而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù)指定的次數(shù),如果輸入1,那么請(qǐng)求將執(zhí)行一次。啟動(dòng)時(shí)間:測(cè)試計(jì)劃什么時(shí)候啟動(dòng)。結(jié)束時(shí)間:測(cè)試計(jì)劃什么時(shí)候結(jié)束。持續(xù)時(shí)間:測(cè)試計(jì)劃持續(xù)多長(zhǎng)時(shí)間,會(huì)覆蓋結(jié)束時(shí)間。啟動(dòng)延遲:測(cè)試計(jì)劃延遲多長(zhǎng)時(shí)間啟動(dòng),會(huì)覆蓋啟動(dòng)時(shí)間。12ppt課件12JMeter主要組件(線程組)名稱:線程組的名字。12p13JMeter主要組件(取樣器)名稱:HTTP請(qǐng)求的名字。Web服務(wù)器-服務(wù)器名稱或IP、端口號(hào),腳本錄制時(shí)自動(dòng)添加,也可以使用“用戶自定義變量”。HTTP請(qǐng)求:用默認(rèn)值即可。同請(qǐng)求一起發(fā)送參數(shù):請(qǐng)求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián),后面專門介紹。同請(qǐng)求一起發(fā)送文件:我可以制定同請(qǐng)求一起發(fā)送哪個(gè)文件。其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器13ppt課件13JMeter主要組件(取樣器)名稱:HTTP請(qǐng)求的名字。14JMeter主要組件(監(jiān)聽(tīng)器)監(jiān)聽(tīng)器(Listener)負(fù)責(zé)收集測(cè)試結(jié)果,支持將結(jié)果數(shù)據(jù)寫入文件。同時(shí)也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報(bào)告、查看結(jié)果樹、用表格查看結(jié)果、圖形結(jié)果14ppt課件14JMeter主要組件(監(jiān)聽(tīng)器)監(jiān)聽(tīng)器(Listener)JMeter主要組件聚合報(bào)告:Label:這里對(duì)應(yīng)一個(gè)HTTPRequest,顯示的就是Name屬性的值;#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求;Average:平均響應(yīng)時(shí)間,默認(rèn)情況下是單個(gè)Request的平均響應(yīng)時(shí)間,當(dāng)使用了“事務(wù)控制器”時(shí),以事務(wù)為單位為單位顯示平均響應(yīng)時(shí)間Median:中位數(shù),也就是50%用戶的響應(yīng)時(shí)間90%Line:90%用戶的響應(yīng)時(shí)間Min:最小響應(yīng)時(shí)間Max:最大響應(yīng)時(shí)間Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)Throughput:吞吐量,默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)。KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量15ppt課件JMeter主要組件聚合報(bào)告:15ppt課件JMeter主要組件查看結(jié)果樹

顯示取樣器請(qǐng)求和響應(yīng)的細(xì)節(jié),包括消息報(bào)頭,請(qǐng)求的數(shù)據(jù),相應(yīng)數(shù)據(jù)16ppt課件JMeter主要組件查看結(jié)果樹

顯示取樣器請(qǐng)求和響應(yīng)的細(xì)節(jié),JMeter主要組件表格查看結(jié)果

顯示每一請(qǐng)求的信息,包括發(fā)起請(qǐng)求的線程,開(kāi)始時(shí)間,請(qǐng)求響應(yīng)時(shí)間,請(qǐng)求字節(jié)數(shù)17ppt課件JMeter主要組件表格查看結(jié)果

顯示每一請(qǐng)求的信息,包括發(fā)JMeter主要組件圖形結(jié)果18ppt課件JMeter主要組件圖形結(jié)果18ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制利用Badboy進(jìn)行腳本錄制,再轉(zhuǎn)為JMeter腳本1919ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制1919使用JMeter錄制在測(cè)試計(jì)劃中添加線程組,在線程組中添加“配置元件”-“HTTP請(qǐng)求默認(rèn)值”,設(shè)置被測(cè)系統(tǒng)的IP和端口。在“工作臺(tái)”中添加“非測(cè)試元件”-“HTTP代理服務(wù)器”。端口:即代理服務(wù)器的監(jiān)聽(tīng)端口,設(shè)為9999。目標(biāo)控制器選擇測(cè)試計(jì)劃中的線程組;分組選擇:不對(duì)樣本分組。排除模式:.*.jpg,.*.gif配置瀏覽器代理,和“HTTP代理服務(wù)器”設(shè)置保持一致啟動(dòng)JMeter工作臺(tái)“HTTP代理服務(wù)器”;打開(kāi)瀏覽器,登錄測(cè)試網(wǎng)站,在測(cè)試網(wǎng)頁(yè)上進(jìn)行操作;完成后,停止JMeter工作臺(tái)“HTTP代理服務(wù)器”;2020ppt課件使用JMeter錄制在測(cè)試計(jì)劃中添加線程組,在線程組中添加“使用JMeter錄制2121ppt課件使用JMeter錄制2121ppt課件使用Badboy錄制使用Badboy錄制選擇“File->ExporttoJMeter”菜單,導(dǎo)出為JMeter腳本,使用JMeter打開(kāi)2222ppt課件使用Badboy錄制使用Badboy錄制2222ppt課件運(yùn)行JMeter進(jìn)行測(cè)試圖形界面命令行模式運(yùn)行JMeter.sh-n–ttest.jmx-llog.jtl-n告知JMeter采用非圖形化運(yùn)行JMeter腳本-t指定要運(yùn)行的腳本文件-l指定保存執(zhí)行結(jié)果的文件名23ppt課件運(yùn)行JMeter進(jìn)行測(cè)試圖形界面23ppt課件參數(shù)化設(shè)置在我們的過(guò)程中,通常會(huì)提交一些參數(shù),使用不同的參數(shù)值來(lái)模擬才更接近實(shí)際情況。參數(shù)定義后,使用${paramName}既可以使用2424ppt課件參數(shù)化設(shè)置在我們的過(guò)程中,通常會(huì)提交一些參數(shù),使用不同的參數(shù)參數(shù)化設(shè)置用戶自定義變量使用測(cè)試計(jì)劃中的用戶定義變量作為參數(shù)一般定義全局變量,如:IP,端口文件參數(shù)利用配置元件中的CSVDataSetConfig進(jìn)行參數(shù)化設(shè)置函數(shù)參數(shù)使用JMeter提供的函數(shù)進(jìn)行參數(shù)化JMeter提供“函數(shù)助手”的向?qū)?525ppt課件參數(shù)化設(shè)置用戶自定義變量使用測(cè)試計(jì)劃中的用戶定義變量作為參數(shù)用戶自定義變量2626ppt課件用戶自定義變量2626ppt課件文件參數(shù)在一個(gè)HTTP請(qǐng)求中,要提交多個(gè)參數(shù),其中category,query兩個(gè)參數(shù)需要做參數(shù)化,數(shù)據(jù)保存在文件中2727ppt課件文件參數(shù)在一個(gè)HTTP請(qǐng)求中,要提交多個(gè)參數(shù),其中categ文件參數(shù)使用配置元件-CSVDataSetConfig28Filename文件名:即參數(shù)化要引用的文件名Fileencoding:文件編碼:可以不填。VariableNames(comma-delimited)變量名(用逗號(hào)分割):多個(gè)變量可以引用同一個(gè)文件,用逗號(hào)分割。這里是num1,num2Delimiter:參數(shù)文件中多個(gè)變量值的分隔符,\t表示用tab鍵分割,默認(rèn)是逗號(hào)。RecycleonEOF:結(jié)束后是否循環(huán)?默認(rèn)是True.28ppt課件文件參數(shù)使用配置元件-CSVDataSetConfig函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù);2929ppt課件函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù);29文件參數(shù)選擇一個(gè)功能_Random。設(shè)定最小值為1。設(shè)定最大值為100。函數(shù)名稱設(shè)為num1。點(diǎn)擊生成將生成一個(gè)引用字符串${_Random(0,100,num1},在需要的請(qǐng)求參數(shù)中拷貝該字符串即可。其中函數(shù)名稱用來(lái)在引用中作區(qū)別,即我們可以設(shè)定不同的名稱在不同的地方引用同一個(gè)函數(shù)的功能。3030ppt課件文件參數(shù)選擇一個(gè)功能_Random。3030ppt課件動(dòng)態(tài)關(guān)聯(lián)在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動(dòng)態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請(qǐng)求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來(lái)獲取這些動(dòng)態(tài)的數(shù)據(jù)。正則表達(dá)式允許用戶從服務(wù)器響應(yīng)中獲取數(shù)據(jù),作為一個(gè)后置處理器,正則表達(dá)式提取器會(huì)在每一個(gè)請(qǐng)求執(zhí)行后再執(zhí)行,正則表達(dá)式提取請(qǐng)求的參數(shù)值,產(chǎn)生模板字符串,并將結(jié)果保存到給出的變量中。3131ppt課件動(dòng)態(tài)關(guān)聯(lián)在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)動(dòng)態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運(yùn)行一遍錄制的腳本,使用“察看結(jié)果樹”監(jiān)聽(tīng)器,分析那些需要做動(dòng)態(tài)關(guān)聯(lián)(一般建議先使用HttpWatch分析那些要做動(dòng)態(tài)關(guān)聯(lián));以基于WEB_BAS的SQMAS為例。經(jīng)過(guò)分析,在登錄時(shí),會(huì)cookie會(huì)記錄一個(gè)JSESSIONID,每次提交請(qǐng)求時(shí),會(huì)post一個(gè)ticket。3232ppt課件動(dòng)態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運(yùn)行一遍錄制的腳本,使用“察看結(jié)動(dòng)態(tài)關(guān)聯(lián)添加一個(gè)正則表達(dá)式提取器,提取JSESSIONID;可以添加一個(gè)響應(yīng)斷言,測(cè)試提取結(jié)果;${jessionid_g1}表示匹配第一組數(shù)值,這里只有一個(gè),也可以直接使用${jessionid}3333ppt課件動(dòng)態(tài)關(guān)聯(lián)添加一個(gè)正則表達(dá)式提取器,提取JSESSIONID;動(dòng)態(tài)關(guān)聯(lián)運(yùn)行測(cè)試計(jì)劃,測(cè)試提取結(jié)果3434ppt課件動(dòng)態(tài)關(guān)聯(lián)運(yùn)行測(cè)試計(jì)劃,測(cè)試提取結(jié)果3434ppt課件動(dòng)態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID3535ppt課件動(dòng)態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID35場(chǎng)景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實(shí)現(xiàn)多樣化的場(chǎng)景控制。常用的邏輯控制器有:循環(huán)控制器,事務(wù)控制器3636ppt課件場(chǎng)景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實(shí)現(xiàn)JMeter測(cè)試實(shí)例HTTPGET測(cè)試基于WEB_BAS的測(cè)試實(shí)例HTTPXML測(cè)試3737ppt課件JMeter測(cè)試實(shí)例HTTPGET測(cè)試3737ppt課件目錄38JMeter介紹JMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)自定義協(xié)議實(shí)現(xiàn)思路應(yīng)用舉例38ppt課件目錄38JMeter介紹38ppt課件HTTPGET測(cè)試3939ppt課件HTTPGET測(cè)試3939ppt課件基于WEB_BAS的測(cè)試實(shí)例4040ppt課件基于WEB_BAS的測(cè)試實(shí)例4040ppt課件JMeter二次開(kāi)發(fā)JMeter取樣器提供了一些協(xié)議的測(cè)試支持。如果不能滿足測(cè)試需要,需要做二次開(kāi)發(fā)。JMeter是基于Java語(yǔ)言實(shí)現(xiàn)的,例如http請(qǐng)求,它只是用Java代碼封裝了Http的協(xié)議,內(nèi)部其實(shí)使用了Java的類庫(kù)來(lái)對(duì)應(yīng)用發(fā)送請(qǐng)求的,所以通過(guò)Java請(qǐng)求的性能測(cè)試,我們可以做任意自定義協(xié)議請(qǐng)求的性能測(cè)試4141ppt課件JMeter二次開(kāi)發(fā)JMeter取樣器提供了一些協(xié)議的測(cè)試支JMeter自定義協(xié)議實(shí)現(xiàn)思路新建一個(gè)測(cè)試類,繼承org.apache.

tocol.java.sampler.AbstractJavaSamplerClient實(shí)現(xiàn)getDefaultParameters,setupTest,runTest,teardownTest方法getDefaultParameters是配置參數(shù)的方法setupTest和teardownTest與JUnit中的類似,分別在測(cè)試的開(kāi)始和結(jié)束時(shí)執(zhí)行。runTest為主要測(cè)試方法,所有測(cè)試程序都在這里完成。4242ppt課件JMeter自定義協(xié)議實(shí)現(xiàn)思路新建一個(gè)測(cè)試類,繼承org.a應(yīng)用舉例盤古索引項(xiàng)目需要對(duì)后臺(tái)分布式索引系統(tǒng)進(jìn)行性能測(cè)試,經(jīng)過(guò)分析,直接對(duì)web搜索頁(yè)面進(jìn)行測(cè)試得到不能得到真實(shí)的性能情況。解決方法:使用JMeter二次開(kāi)發(fā),調(diào)用分布文件系統(tǒng)的查詢API進(jìn)行性能測(cè)試4343ppt課件應(yīng)用舉例盤古索引項(xiàng)目需要對(duì)后臺(tái)分布式索引系統(tǒng)進(jìn)行性能測(cè)試,經(jīng)應(yīng)用舉例創(chuàng)建一個(gè)indexBaseTest類44publicclassindexBaseTestextendsAbstractJavaSamplerClientimplementsSerializable{}44ppt課件應(yīng)用舉例創(chuàng)建一個(gè)indexBaseTest類44public應(yīng)用舉例實(shí)現(xiàn)getDefaultParameters方法45publicArgumentsgetDefaultParameters(){Argumentsparams=newArguments();//增加一個(gè)參數(shù),默認(rèn)值為空,參數(shù)名顯示為params.addArgument("KEY","");returnparams;}45ppt課件應(yīng)用舉例實(shí)現(xiàn)getDefaultParameters方法45應(yīng)用舉例實(shí)現(xiàn)setupTest方法46publicvoidsetupTest(JavaSamplerContextcontext){getLogger().debug(whoAmI()+"\tsetupTest()");listParameters(context);try{ ………… //根據(jù)索引名稱初始化一個(gè)索引實(shí)例

index=newIndex(indexName);}catch(IOExceptione){ e.printStackTrace();}catch(Exceptione){ e.printStackTrace();}}46ppt課件應(yīng)用舉例實(shí)現(xiàn)setupTest方法46publicvoid應(yīng)用舉例實(shí)現(xiàn)runTest方法,實(shí)現(xiàn)測(cè)試47publicSampleResultrunTest(JavaSamplerContextcontext){SampleResultresults=newSampleResult();key=context.getParameter("KEY","");//取查詢參數(shù)

results.sampleStart();//事務(wù)開(kāi)始

try{ …… reps_hello=index.search(queryKey,filter,0,100,1,flds);

results.setSuccessful(true);//設(shè)置事務(wù)成功

}catch(Exceptione){ ……

results.setSuccessful(false);}finally{}results.sampleEnd();……returnresults;}47ppt課件應(yīng)用舉例實(shí)現(xiàn)runTest方法,實(shí)現(xiàn)測(cè)試47publicS應(yīng)用舉例實(shí)現(xiàn)teardownTest方法,清理對(duì)象48publicvoidteardownTest(JavaSamplerContextcontext){try{

index.close(); getLogger().debug(whoAmI()+"\tteardownTest()"); listParameters(context);}catch(IOExceptione){ e.printStackTrace();}catch(Exceptione){ e.printStackTrace();}}48ppt課件應(yīng)用舉例實(shí)現(xiàn)teardownTest方法,清理對(duì)象48pub應(yīng)用舉例4949ppt課件應(yīng)用舉例4949ppt課件培訓(xùn)資料\\asp-sz-file\public\tmp\JMeter培訓(xùn)5050ppt課件培訓(xùn)資料\\asp-sz-file\public\tmp\J謝謝!5151ppt課件謝謝!5151ppt課件52JMeter基礎(chǔ)培訓(xùn)2011年7月52ppt課件1JMeter基礎(chǔ)培訓(xùn)2011年7月1ppt課件53目錄JMeter介紹JMeter介紹誰(shuí)在使用JMeterJMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)53ppt課件2目錄JMeter介紹2ppt課件54JMeter介紹JMeter是基于Java的,開(kāi)放源代碼的性能測(cè)試工具能夠?qū)TTP和FTP服務(wù)器進(jìn)行壓力和性能測(cè)試可以對(duì)任何數(shù)據(jù)庫(kù)進(jìn)行同樣的測(cè)試(通過(guò)JDBC)各種負(fù)載統(tǒng)計(jì)表和可鏈接的計(jì)時(shí)器可供選擇緩存和離線分析/回放測(cè)試結(jié)果完全多線程框架高可擴(kuò)展性免費(fèi)/開(kāi)源54ppt課件3JMeter介紹JMeter是基于Java的,開(kāi)放源代碼的55誰(shuí)在使用JMeter55ppt課件4誰(shuí)在使用JMeter4ppt課件誰(shuí)在使用JMeter移動(dòng)夢(mèng)網(wǎng)搜索項(xiàng)目盤古搜索項(xiàng)目5656ppt課件誰(shuí)在使用JMeter移動(dòng)夢(mèng)網(wǎng)搜索項(xiàng)目55ppt課件57目錄JMeter介紹JMeter與Loadrunner的對(duì)比支持的協(xié)議對(duì)比功能對(duì)比使用對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)57ppt課件6目錄JMeter介紹6ppt課件58支持的協(xié)議對(duì)比JMeter支持的協(xié)議Web(HTTP/HTTPS),SOAP,F(xiàn)TP,Database(JDBC),LDAP,JMS,Mail(POP3/IMAP),JAVALoadrunner支持的協(xié)議WEB(Http/Html)、FTP、LDAP、Palm、Web/WinsocketDualProtocolSQLServer、MSODBC、Oracle、DB2、SybaseCTlib、SybaseDBlib、DomainNameResolution(DNS)、WindowsSocketCOM/DCOM、Corba-Java、Rmi_JavaEJB、Rmi_JavaOracleNCA、SAP-Web、SAPGUI、SAPGUI/SAP-WebDualProtocol、PropleSoft_Tuxedo、SiebelWeb、Siebel-DB2CLI、Sieble-MSSQL、SiebleOracle……JMeter支持的協(xié)議相對(duì)Loadrunner較少,但是可以通過(guò)二次開(kāi)發(fā)來(lái)實(shí)現(xiàn)58ppt課件7支持的協(xié)議對(duì)比JMeter支持的協(xié)議JMeter支持的協(xié)議59JMeter與Loadrunner功能對(duì)比59ppt課件8JMeter與Loadrunner功能對(duì)比8ppt課件60使用對(duì)比60ppt課件9使用對(duì)比9ppt課件61目錄JMeter介紹JMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter主要組件介紹腳本錄制運(yùn)行JMeter參數(shù)化設(shè)置動(dòng)態(tài)關(guān)聯(lián)場(chǎng)景設(shè)置JMeter測(cè)試實(shí)例JMeter二次開(kāi)發(fā)61ppt課件10目錄JMeter介紹10ppt課件62JMeter主要組件(測(cè)試計(jì)劃)測(cè)試計(jì)劃(TestPlan)是使用JMeter進(jìn)行測(cè)試的起點(diǎn),它是其它JMeter測(cè)試元件的容器。用戶定義的變量:用戶可以自己定義變量,在用到此變量的時(shí)候直接用${變量名}引用即可。例如:${ip},${port}Adddirectoryorjartoclasspath:向類路徑即%JMeter-HOME%\lib中添加目錄及jar包62ppt課件11JMeter主要組件(測(cè)試計(jì)劃)測(cè)試計(jì)劃(TestPl63JMeter主要組件(線程組)名稱:線程組的名字。線程數(shù):設(shè)置發(fā)送請(qǐng)求的用戶數(shù)目,即并發(fā)數(shù)。Ramp-UpPeriod(insecond):線程啟動(dòng)的時(shí)間,單位是秒。即所有線程在多少時(shí)間內(nèi)啟動(dòng)。循環(huán)次數(shù):請(qǐng)求的重復(fù)次數(shù),如果選擇后面的“永遠(yuǎn)”,那么請(qǐng)求將一直繼續(xù);而在輸入框中輸入數(shù)字,那么請(qǐng)求將重復(fù)指定的次數(shù),如果輸入1,那么請(qǐng)求將執(zhí)行一次。啟動(dòng)時(shí)間:測(cè)試計(jì)劃什么時(shí)候啟動(dòng)。結(jié)束時(shí)間:測(cè)試計(jì)劃什么時(shí)候結(jié)束。持續(xù)時(shí)間:測(cè)試計(jì)劃持續(xù)多長(zhǎng)時(shí)間,會(huì)覆蓋結(jié)束時(shí)間。啟動(dòng)延遲:測(cè)試計(jì)劃延遲多長(zhǎng)時(shí)間啟動(dòng),會(huì)覆蓋啟動(dòng)時(shí)間。63ppt課件12JMeter主要組件(線程組)名稱:線程組的名字。12p64JMeter主要組件(取樣器)名稱:HTTP請(qǐng)求的名字。Web服務(wù)器-服務(wù)器名稱或IP、端口號(hào),腳本錄制時(shí)自動(dòng)添加,也可以使用“用戶自定義變量”。HTTP請(qǐng)求:用默認(rèn)值即可。同請(qǐng)求一起發(fā)送參數(shù):請(qǐng)求中的參數(shù)、值可以在此設(shè)置,需要用到參數(shù)化及動(dòng)態(tài)數(shù)據(jù)關(guān)聯(lián),后面專門介紹。同請(qǐng)求一起發(fā)送文件:我可以制定同請(qǐng)求一起發(fā)送哪個(gè)文件。其他任務(wù)包括:從HTML文件中獲取所有內(nèi)含的資源、用作監(jiān)視器64ppt課件13JMeter主要組件(取樣器)名稱:HTTP請(qǐng)求的名字。65JMeter主要組件(監(jiān)聽(tīng)器)監(jiān)聽(tīng)器(Listener)負(fù)責(zé)收集測(cè)試結(jié)果,支持將結(jié)果數(shù)據(jù)寫入文件。同時(shí)也被告知了結(jié)果顯示的方式。我們常用的包括:聚合報(bào)告、查看結(jié)果樹、用表格查看結(jié)果、圖形結(jié)果65ppt課件14JMeter主要組件(監(jiān)聽(tīng)器)監(jiān)聽(tīng)器(Listener)JMeter主要組件聚合報(bào)告:Label:這里對(duì)應(yīng)一個(gè)HTTPRequest,顯示的就是Name屬性的值;#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求;Average:平均響應(yīng)時(shí)間,默認(rèn)情況下是單個(gè)Request的平均響應(yīng)時(shí)間,當(dāng)使用了“事務(wù)控制器”時(shí),以事務(wù)為單位為單位顯示平均響應(yīng)時(shí)間Median:中位數(shù),也就是50%用戶的響應(yīng)時(shí)間90%Line:90%用戶的響應(yīng)時(shí)間Min:最小響應(yīng)時(shí)間Max:最大響應(yīng)時(shí)間Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)Throughput:吞吐量,默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)。KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量66ppt課件JMeter主要組件聚合報(bào)告:15ppt課件JMeter主要組件查看結(jié)果樹

顯示取樣器請(qǐng)求和響應(yīng)的細(xì)節(jié),包括消息報(bào)頭,請(qǐng)求的數(shù)據(jù),相應(yīng)數(shù)據(jù)67ppt課件JMeter主要組件查看結(jié)果樹

顯示取樣器請(qǐng)求和響應(yīng)的細(xì)節(jié),JMeter主要組件表格查看結(jié)果

顯示每一請(qǐng)求的信息,包括發(fā)起請(qǐng)求的線程,開(kāi)始時(shí)間,請(qǐng)求響應(yīng)時(shí)間,請(qǐng)求字節(jié)數(shù)68ppt課件JMeter主要組件表格查看結(jié)果

顯示每一請(qǐng)求的信息,包括發(fā)JMeter主要組件圖形結(jié)果69ppt課件JMeter主要組件圖形結(jié)果18ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制利用Badboy進(jìn)行腳本錄制,再轉(zhuǎn)為JMeter腳本7070ppt課件腳本錄制使用JMeter的代理服務(wù)器功能進(jìn)行腳本錄制1919使用JMeter錄制在測(cè)試計(jì)劃中添加線程組,在線程組中添加“配置元件”-“HTTP請(qǐng)求默認(rèn)值”,設(shè)置被測(cè)系統(tǒng)的IP和端口。在“工作臺(tái)”中添加“非測(cè)試元件”-“HTTP代理服務(wù)器”。端口:即代理服務(wù)器的監(jiān)聽(tīng)端口,設(shè)為9999。目標(biāo)控制器選擇測(cè)試計(jì)劃中的線程組;分組選擇:不對(duì)樣本分組。排除模式:.*.jpg,.*.gif配置瀏覽器代理,和“HTTP代理服務(wù)器”設(shè)置保持一致啟動(dòng)JMeter工作臺(tái)“HTTP代理服務(wù)器”;打開(kāi)瀏覽器,登錄測(cè)試網(wǎng)站,在測(cè)試網(wǎng)頁(yè)上進(jìn)行操作;完成后,停止JMeter工作臺(tái)“HTTP代理服務(wù)器”;7171ppt課件使用JMeter錄制在測(cè)試計(jì)劃中添加線程組,在線程組中添加“使用JMeter錄制7272ppt課件使用JMeter錄制2121ppt課件使用Badboy錄制使用Badboy錄制選擇“File->ExporttoJMeter”菜單,導(dǎo)出為JMeter腳本,使用JMeter打開(kāi)7373ppt課件使用Badboy錄制使用Badboy錄制2222ppt課件運(yùn)行JMeter進(jìn)行測(cè)試圖形界面命令行模式運(yùn)行JMeter.sh-n–ttest.jmx-llog.jtl-n告知JMeter采用非圖形化運(yùn)行JMeter腳本-t指定要運(yùn)行的腳本文件-l指定保存執(zhí)行結(jié)果的文件名74ppt課件運(yùn)行JMeter進(jìn)行測(cè)試圖形界面23ppt課件參數(shù)化設(shè)置在我們的過(guò)程中,通常會(huì)提交一些參數(shù),使用不同的參數(shù)值來(lái)模擬才更接近實(shí)際情況。參數(shù)定義后,使用${paramName}既可以使用7575ppt課件參數(shù)化設(shè)置在我們的過(guò)程中,通常會(huì)提交一些參數(shù),使用不同的參數(shù)參數(shù)化設(shè)置用戶自定義變量使用測(cè)試計(jì)劃中的用戶定義變量作為參數(shù)一般定義全局變量,如:IP,端口文件參數(shù)利用配置元件中的CSVDataSetConfig進(jìn)行參數(shù)化設(shè)置函數(shù)參數(shù)使用JMeter提供的函數(shù)進(jìn)行參數(shù)化JMeter提供“函數(shù)助手”的向?qū)?676ppt課件參數(shù)化設(shè)置用戶自定義變量使用測(cè)試計(jì)劃中的用戶定義變量作為參數(shù)用戶自定義變量7777ppt課件用戶自定義變量2626ppt課件文件參數(shù)在一個(gè)HTTP請(qǐng)求中,要提交多個(gè)參數(shù),其中category,query兩個(gè)參數(shù)需要做參數(shù)化,數(shù)據(jù)保存在文件中7878ppt課件文件參數(shù)在一個(gè)HTTP請(qǐng)求中,要提交多個(gè)參數(shù),其中categ文件參數(shù)使用配置元件-CSVDataSetConfig79Filename文件名:即參數(shù)化要引用的文件名Fileencoding:文件編碼:可以不填。VariableNames(comma-delimited)變量名(用逗號(hào)分割):多個(gè)變量可以引用同一個(gè)文件,用逗號(hào)分割。這里是num1,num2Delimiter:參數(shù)文件中多個(gè)變量值的分隔符,\t表示用tab鍵分割,默認(rèn)是逗號(hào)。RecycleonEOF:結(jié)束后是否循環(huán)?默認(rèn)是True.79ppt課件文件參數(shù)使用配置元件-CSVDataSetConfig函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù);8080ppt課件函數(shù)參數(shù)JMeter函數(shù)助手的功能,里面內(nèi)置了多個(gè)函數(shù);29文件參數(shù)選擇一個(gè)功能_Random。設(shè)定最小值為1。設(shè)定最大值為100。函數(shù)名稱設(shè)為num1。點(diǎn)擊生成將生成一個(gè)引用字符串${_Random(0,100,num1},在需要的請(qǐng)求參數(shù)中拷貝該字符串即可。其中函數(shù)名稱用來(lái)在引用中作區(qū)別,即我們可以設(shè)定不同的名稱在不同的地方引用同一個(gè)函數(shù)的功能。8181ppt課件文件參數(shù)選擇一個(gè)功能_Random。3030ppt課件動(dòng)態(tài)關(guān)聯(lián)在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)器相應(yīng)的動(dòng)態(tài)數(shù)據(jù),這些數(shù)據(jù)需要進(jìn)行關(guān)聯(lián)才能使得每一次請(qǐng)求都能成功得被服務(wù)器接受,在JMeter中采用正則表達(dá)式提取器來(lái)獲取這些動(dòng)態(tài)的數(shù)據(jù)。正則表達(dá)式允許用戶從服務(wù)器響應(yīng)中獲取數(shù)據(jù),作為一個(gè)后置處理器,正則表達(dá)式提取器會(huì)在每一個(gè)請(qǐng)求執(zhí)行后再執(zhí)行,正則表達(dá)式提取請(qǐng)求的參數(shù)值,產(chǎn)生模板字符串,并將結(jié)果保存到給出的變量中。8282ppt課件動(dòng)態(tài)關(guān)聯(lián)在HTTP請(qǐng)求的參數(shù)中經(jīng)常會(huì)遇到一些參數(shù)的值是從服務(wù)動(dòng)態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運(yùn)行一遍錄制的腳本,使用“察看結(jié)果樹”監(jiān)聽(tīng)器,分析那些需要做動(dòng)態(tài)關(guān)聯(lián)(一般建議先使用HttpWatch分析那些要做動(dòng)態(tài)關(guān)聯(lián));以基于WEB_BAS的SQMAS為例。經(jīng)過(guò)分析,在登錄時(shí),會(huì)cookie會(huì)記錄一個(gè)JSESSIONID,每次提交請(qǐng)求時(shí),會(huì)post一個(gè)ticket。8383ppt課件動(dòng)態(tài)關(guān)聯(lián)在腳本錄制完畢以后,運(yùn)行一遍錄制的腳本,使用“察看結(jié)動(dòng)態(tài)關(guān)聯(lián)添加一個(gè)正則表達(dá)式提取器,提取JSESSIONID;可以添加一個(gè)響應(yīng)斷言,測(cè)試提取結(jié)果;${jessionid_g1}表示匹配第一組數(shù)值,這里只有一個(gè),也可以直接使用${jessionid}8484ppt課件動(dòng)態(tài)關(guān)聯(lián)添加一個(gè)正則表達(dá)式提取器,提取JSESSIONID;動(dòng)態(tài)關(guān)聯(lián)運(yùn)行測(cè)試計(jì)劃,測(cè)試提取結(jié)果8585ppt課件動(dòng)態(tài)關(guān)聯(lián)運(yùn)行測(cè)試計(jì)劃,測(cè)試提取結(jié)果3434ppt課件動(dòng)態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID8686ppt課件動(dòng)態(tài)關(guān)聯(lián)修改ticket,使用提取的JSESSIONID35場(chǎng)景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實(shí)現(xiàn)多樣化的場(chǎng)景控制。常用的邏輯控制器有:循環(huán)控制器,事務(wù)控制器8787ppt課件場(chǎng)景設(shè)置JMeter的邏輯控制器提供了一系列的組件,可以實(shí)現(xiàn)JMeter測(cè)試實(shí)例HTTPGET測(cè)試基于WEB_BAS的測(cè)試實(shí)例HTTPXML測(cè)試8888ppt課件JMeter測(cè)試實(shí)例HTTPGET測(cè)試3737ppt課件目錄89JMeter介紹JMeter與Loadrunner的對(duì)比JMeter在測(cè)試工作的應(yīng)用JMeter二次開(kāi)發(fā)自定義協(xié)議實(shí)現(xiàn)思路應(yīng)用舉例89ppt課件目錄38JMeter介紹38ppt課件HTTPGET測(cè)試9090ppt課件HTTPGET測(cè)試3939ppt課件基于WEB_BAS的測(cè)試實(shí)例9191ppt課件基于WEB_BAS的測(cè)試實(shí)例4040ppt課件JMeter二次開(kāi)發(fā)JMeter取樣器提供了一些協(xié)議的測(cè)試支持。如果不能滿足測(cè)試需要,需要做二次開(kāi)發(fā)。JMeter是基于Java語(yǔ)言實(shí)現(xiàn)的,例如http請(qǐng)求,它只是用Java代碼封裝了Http的協(xié)議,內(nèi)部其實(shí)使用了Java的類庫(kù)來(lái)對(duì)應(yīng)用發(fā)送請(qǐng)求的,所以通過(guò)Java請(qǐng)求的性能測(cè)試,我們可以做任意自定義協(xié)議請(qǐng)求的性能測(cè)試9292ppt課件JMeter二次開(kāi)發(fā)JMeter取樣器提供了一些協(xié)議的測(cè)試支JMeter自定義協(xié)議實(shí)現(xiàn)思路新建一個(gè)測(cè)試類,繼承org.apache.

tocol.java.sampler.AbstractJavaSamplerClient實(shí)現(xiàn)getDefaultParameters,setupTest,runTest,teardownTest方法getDefaultParameters是配置參數(shù)的方法setupTest和teardownTest與JUnit中的類似,分別在測(cè)試的開(kāi)始和結(jié)束時(shí)執(zhí)行。runTest為主要測(cè)試方法,所有測(cè)試程序都在這里完成。9393ppt課件JMeter自定義協(xié)議實(shí)現(xiàn)思路新建一個(gè)測(cè)試類,繼承org.a應(yīng)用舉例盤古索引項(xiàng)目需要對(duì)后臺(tái)分布式索引系統(tǒng)進(jìn)行性能測(cè)試,經(jīng)過(guò)分析,直接對(duì)web搜索頁(yè)面進(jìn)行測(cè)試得到不能得到真實(shí)的性能情況。解決方法:使用JMeter二次開(kāi)發(fā),調(diào)用分布文件系統(tǒng)的查詢API進(jìn)行性能測(cè)試9494ppt課件應(yīng)用舉例盤古索引項(xiàng)目需要對(duì)后臺(tái)分布式索引系統(tǒng)進(jìn)行性能測(cè)試,經(jīng)應(yīng)用舉例創(chuàng)建一個(gè)indexBaseTest類95publicclassindexBaseTestextendsAbstractJavaSamplerClientimplementsSe

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論