版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
jmeter安裝Jmeter下載與安裝官網(wǎng)下載:/download_jmeter.cg安裝JDK:JMeter是Java程序,需要先安裝JDK來運(yùn)行它,建議使用
JDK1.8
,安裝JDK不再贅述。Jmeter運(yùn)行:進(jìn)入到Jmeter目錄中,再進(jìn)入到名為bin的目錄,如果是Windows系統(tǒng):雙擊名為
jmeter.bat
的文件,即可打開JMeter管理界面程序。如果是Mac系統(tǒng),在命令行窗口中,進(jìn)入到j(luò)meter的bin目錄執(zhí)行命令
shjmeter.sh設(shè)置Jmeter語言為中文環(huán)境1、臨時(shí)設(shè)置Jmeter菜單欄選擇OptionceChooseLanguageChinese(Simplified)這種方法,重啟軟件后又變?yōu)橛⑽沫h(huán)境了。2、永久設(shè)置進(jìn)入apache-jmeter-5.2.1\bin目錄,找到“perties”文件,在文件中添加“l(fā)anguage=zh_CN”,保存之后再打開jmeter就永久變?yōu)橹形沫h(huán)境了。Jmeter主要元件測試計(jì)劃是使用JMeter進(jìn)行測試的起點(diǎn),它是其它JMeter測試元件的容器線程組代表一定數(shù)量的用戶,它可以用來模擬用戶并發(fā)發(fā)送請求。實(shí)際的請求內(nèi)容在Sampler中定義,它被線程組包含,可以設(shè)置線程數(shù)、循環(huán)次數(shù)等。常見有前置線程組、后置線程組、普通線程組等
配置元件維護(hù)Sampler需要的配置信息,并根據(jù)實(shí)際的需要修改請求的內(nèi)容。前置處理器負(fù)責(zé)在請求之前工作,常用來修改請求的設(shè)置定時(shí)器負(fù)責(zé)定義請求之間的延遲間隔。取樣器(Sampler)是性能測試中向服務(wù)器發(fā)送請求,記錄響應(yīng)信息、響應(yīng)時(shí)間的最小單元,如:HTTPRequestSampler、FTPRequestSample、TCPRequestSample、JDBCRequestSampler等,每一種不同類型的sampler可以根據(jù)設(shè)置的參數(shù)向服務(wù)器發(fā)出不同類型的請求。后置處理器負(fù)責(zé)在請求之后工作,常用獲取返回的值。斷言用來判斷請求響應(yīng)的結(jié)果是否如用戶所期望的。監(jiān)聽器負(fù)責(zé)收集測試結(jié)果,同時(shí)確定結(jié)果顯示的方式。邏輯控制器可以自定義JMeter發(fā)送請求的行為邏輯,它與Sampler結(jié)合使用可以模擬復(fù)雜的請求序列。Jmeter并發(fā)和順序執(zhí)行默認(rèn)是并發(fā)順序執(zhí)行:需要在Jmeter線程組下勾選setUp和tearDown線程組線程組的配置信息?線程數(shù):模擬用戶并發(fā)數(shù)(虛擬用戶數(shù))。一個(gè)虛擬用戶占用一個(gè)進(jìn)程或線程。????????Ramp-Up時(shí)間(秒):設(shè)置的虛擬用戶數(shù)需要多長時(shí)間全部啟動(dòng)。如果線程數(shù)為20,準(zhǔn)備時(shí)長為10,那么需要10秒鐘啟動(dòng)20個(gè)線程。也就是每秒鐘啟動(dòng)2個(gè)線程。????????循環(huán)次數(shù):每個(gè)線程發(fā)送請求的次數(shù)。如果線程數(shù)為20,循環(huán)次數(shù)為100,那么每個(gè)線程發(fā)送100次請求??傉埱髷?shù)為20*100=2000。如果勾選了“永遠(yuǎn)”,那么所有線程會一直發(fā)送請求,一到選擇停止運(yùn)行腳本。A.繼續(xù)。某一個(gè)請求遇到錯(cuò)誤后,其他請求繼續(xù)執(zhí)行。我們在大量用戶并發(fā)的時(shí)候,某個(gè)請求失敗屬正?,F(xiàn)象B.啟動(dòng)下一進(jìn)程循環(huán):如遇到錯(cuò)誤后面的請求將不再執(zhí)行,等下一輪再開始執(zhí)行。例如線程組中包含登錄和發(fā)帖2個(gè)請求,若登錄請求失敗,發(fā)帖請求將不再執(zhí)行,等下一次重新迭代,從登錄開始執(zhí)行。C.停止線程:遇到錯(cuò)誤就停止線程再也不執(zhí)行了。例如線程組中有50個(gè)線程,其中某一個(gè)線程的某個(gè)請求遇到錯(cuò)誤即停止線程不再執(zhí)行,剩下49個(gè)線程繼續(xù)執(zhí)行。若線程錯(cuò)誤的比較多,剩余的線程就較少,此時(shí)負(fù)載數(shù)量就不足了,測試結(jié)果不滿足測試要求,因此一般不會勾選此項(xiàng)。D.停止測試:某個(gè)線程某個(gè)請求遇到錯(cuò)誤,停止所有線程,也就是停止整個(gè)測試,但是線程中的余下的請求還是會執(zhí)行完再停止。例如線程1中包含登錄和發(fā)帖2個(gè)請求,其他線程遇到錯(cuò)誤,現(xiàn)在要全部停下來,線程1發(fā)帖請求還是會執(zhí)行,然后再停止測試。E.立即停止測試:遇到錯(cuò)誤立即停止所有線程,即整個(gè)測試。線程組內(nèi)元件一般的的執(zhí)行順序
1.配置元件
2.前置處理器
3.定時(shí)器
4.取樣器
5.后置處理器
6.斷言
7.邏輯控制器
8.監(jiān)聽元件調(diào)度器持續(xù)時(shí)間,測試計(jì)劃持續(xù)多長時(shí)間啟動(dòng)延時(shí)。點(diǎn)擊啟動(dòng)按鈕后,僅初始化場景,不運(yùn)行線程,等待延時(shí)時(shí)間到才運(yùn)行Http請求默認(rèn)值HTTP請求協(xié)議:向目標(biāo)服務(wù)器發(fā)送HTTP請求時(shí)的協(xié)議,可以是http或者是https或者File,默認(rèn)值為http服務(wù)器名稱或IP:HTTP請求發(fā)送的目標(biāo)服務(wù)器名稱或IP地址端口號:目標(biāo)服務(wù)器的端口號,默認(rèn)值為80,https的端口為443http請求:發(fā)送HTTP請求的方法,可用方法包括GET、POST等路徑:目標(biāo)URL路徑(不包括服務(wù)器地址和端口)/可以寫完整路徑,但不規(guī)范內(nèi)容編碼:內(nèi)容的編碼方式,默認(rèn)值為iso8859;一般都填入utf-8自動(dòng)重定向:如果選中該選項(xiàng),當(dāng)發(fā)送HTTP請求后得到的響應(yīng)是302/301時(shí),JMeter會自動(dòng)重定向到新的頁面,但是Jmeter是不記錄重定向的過程內(nèi)容。跟隨重定向:HttpRequest取樣器的默認(rèn)選項(xiàng),當(dāng)響應(yīng)code是3xx時(shí),自動(dòng)跳轉(zhuǎn)到目標(biāo)地址。與自動(dòng)重定向不同,Jmeter會記錄重定向過程中的所有請求響應(yīng),在查看結(jié)果樹時(shí)可以看到服務(wù)器返回的內(nèi)容,如有多個(gè)跳轉(zhuǎn)則多個(gè)請求都會被記錄下來,此為默認(rèn)選項(xiàng)使用keepAlive:當(dāng)該選項(xiàng)被選中時(shí),jmeter和目標(biāo)服務(wù)器之間使用KeepAlive方式進(jìn)行HTTP通信,默認(rèn)選中。對post使用multipart/from-data:當(dāng)發(fā)送POST請求時(shí),使用multipart/from-data方法或者application/x-www-form-urlencoded方法發(fā)送,默認(rèn)不選中。與瀏覽器兼容的頭:當(dāng)勾選multipart/form-data時(shí),勾選此項(xiàng)會截掉http請求頭中的Content-Type和Content-Transfer-Encoding,而只發(fā)送Content-Disposition部分。參數(shù):可以將URL中所有參數(shù)設(shè)置在本表中,表中的每一行是一個(gè)參數(shù)值對,此時(shí)編碼這個(gè)選項(xiàng)設(shè)置為UTF-8并勾選最好,防止參數(shù)值內(nèi)含有ASCIIControlChars或者Non-ASCIIcharacters或者其他符號導(dǎo)致亂碼問題。消息體數(shù)據(jù):同請求一起發(fā)送的數(shù)據(jù)信息,這里可以支持多種數(shù)據(jù)格式,json、xml等;文件上傳:同請求一起發(fā)送的文件信息,參數(shù)名稱就是發(fā)送文件對應(yīng)的參數(shù),MINEType為資源媒體類型高級界面選項(xiàng)介紹實(shí)現(xiàn):發(fā)送http請求的方式,可選項(xiàng)為java和HttpClient4,默認(rèn)為HttpClient4連接:連接超時(shí)時(shí)間設(shè)置,單位為毫秒響應(yīng):響應(yīng)等待超時(shí)時(shí)間設(shè)置,單位為毫秒從HTML文件獲取所有內(nèi)含的資源:當(dāng)該選項(xiàng)被選中時(shí),jmeter在發(fā)出HTTP請求并獲得響應(yīng)的HTML文件內(nèi)容后,還對該HTML進(jìn)行解析并獲取HTML中包含的所有資源(圖片、flash等)并行下載:設(shè)置是否使用自設(shè)資源池,勾選后可設(shè)置大小數(shù)量:資源池大小,默認(rèn)為6網(wǎng)址必須匹配:URL匹配過濾,填寫此項(xiàng)則只會下載與此內(nèi)容項(xiàng)匹配的url的資源源地址:只用于http協(xié)議且Implementation為HttpClient4的情況,此屬性用于啟用IP欺騙。會重寫了這個(gè)http請求使用的默認(rèn)本地IP地址。用于Jmeter主機(jī)具有多個(gè)IP地址(即IP別名、網(wǎng)絡(luò)接口、設(shè)備)的情況。該值可以是主機(jī)名、IP地址或網(wǎng)絡(luò)接口設(shè)備,如“ey0”或“l(fā)0”或“wlan0”。代理服務(wù)器:代理服務(wù)器的相關(guān)配置信息保存響應(yīng)為MD5哈希:選中該項(xiàng),在執(zhí)行時(shí)僅記錄服務(wù)端響應(yīng)數(shù)據(jù)的MD5值,而不記錄完整的響應(yīng)數(shù)據(jù)。在需要進(jìn)行數(shù)據(jù)量非常大的測試時(shí),建議選中該項(xiàng)以減少取樣器記錄響應(yīng)數(shù)據(jù)的開銷查看結(jié)果樹介紹簡要介紹查看結(jié)果樹的內(nèi)容、查看結(jié)果樹保存的文件CSV配置元件●文件名:csv文件存儲全路徑●文件編碼:默認(rèn)的編碼是UTF-8?!褡兞棵Q:和csv文件第一行的字段相對應(yīng),名稱自定義,多個(gè)字段用逗號分隔●忽略首行:通常情況下csv的文件首行標(biāo)注數(shù)據(jù)的含義,不是具體的數(shù)據(jù),所以要設(shè)置忽略(設(shè)為true),前提是設(shè)置了變量名稱才生效。●分割符:默認(rèn)英文逗號分隔?!袷欠裨试S帶引號:如果csv文件中有json數(shù)據(jù),或者帶有引號的數(shù)據(jù),建議設(shè)為True●遇到文件結(jié)束符再次循環(huán):如果文件執(zhí)行結(jié)束了想重復(fù)執(zhí)行數(shù)據(jù),可以設(shè)置為True,多次循環(huán)。●遇到文件結(jié)束符停止線程:配置文件讀取完畢之后,就結(jié)束當(dāng)前線程?!窬€程共享模式:標(biāo)示這個(gè)CSV數(shù)據(jù)文件作用范圍是:所以線程/當(dāng)前線程組/當(dāng)前線程/編輯(自定義),默認(rèn)方式:所有線程。user_name,password,phone,real_namejiujiu1,123456啾啾測試錄1jiujiu2,123456啾啾測試錄2jiujiu3,123456啾啾測試錄3jiujiu4,123456啾啾測試錄4jiujiu5,123456啾啾測試錄5jiujiu6,123456啾啾測試錄6jiujiu7,123456啾啾測試錄7接口地址:路徑:/post請求體{
"user_name":${user_name},
"password":${password},
"phone":${phone},
"real_name":${real_name}
}查看結(jié)果樹可發(fā)現(xiàn)線程組只讀區(qū)了csv第一行用戶數(shù)據(jù),如果想要讀取csv所有行的用戶數(shù)據(jù),可以添加循環(huán)控制器來依次讀取csv文件的數(shù)據(jù)行。怎么解決此問題,可在循環(huán)控制器內(nèi)添加http請求和csv數(shù)據(jù)文件
設(shè)置循環(huán)控制器-循環(huán)次數(shù)為7,表示循環(huán)控制器內(nèi)的組件會循環(huán)之行7次,讀取csv前7行的用戶數(shù)據(jù)循環(huán)控制器在循環(huán)控制器內(nèi)添加http請求和csv數(shù)據(jù)文件,設(shè)置循環(huán)控制器-循環(huán)次數(shù)為7,表示循環(huán)控制器內(nèi)的組件會循環(huán)之行7次,讀取csv前7行的用戶數(shù)據(jù)再次執(zhí)行,查看結(jié)果樹,可以看到循環(huán)控制器內(nèi)的提取器執(zhí)行了7次,依次讀取csv文件的前7行用戶數(shù)據(jù)json提取器接口地址當(dāng)需要獲取某個(gè)城市天氣數(shù)據(jù)json時(shí)候,需要傳入一個(gè)城市代碼編碼作為入?yún)?,地址?api/weather/city/xxxxx,其中xxxxx即為城市代碼。例如獲取北京天氣:/api/weather/city/101010100JsonPathTester,提取結(jié)果中的某個(gè)值,標(biāo)準(zhǔn)寫法是$.key,其中key為返回結(jié)果map中的一個(gè)鍵,如果是多層則繼續(xù)用.key即可。如果遇到key的value值為一個(gè)list,則使用.key[n],其中n為list中元素的編號JSON提取器Applyto:應(yīng)用范圍,一般默認(rèn)為Mainsampleonly,可根據(jù)實(shí)際使用需求選擇MatchNo.:取第幾個(gè)數(shù)值,0代表隨機(jī),-1代表取全部數(shù)組數(shù)據(jù),1代表取一個(gè)變量數(shù)值,與設(shè)置的變量名稱有關(guān),本次示例填-1(說明:如果填寫1,后面引用變量的時(shí)候要用var1即可,如果填寫?1,返回的是一個(gè)數(shù)組,后面引用變量的時(shí)候要用{var_1},${var_2}的形式)Computeconcatenationvar(suffix_ALL):匹配到的所有數(shù)值并保存,默認(rèn)為空即可DefaultValue:取值失敗時(shí)展示的內(nèi)容,默認(rèn)為空即可DebugSampler調(diào)試作用:可以用來調(diào)試,驗(yàn)證表達(dá)式是否正確正則表達(dá)式提取接口路徑:/api/weather/city/101010100方法get斷言元件判斷返回是否符合預(yù)期。三種常見的斷言元件(響應(yīng)斷言、JSON斷言、BeanShell斷言)響應(yīng)斷言APPlyto:
Mainsampleandsub-samples:作用于主取樣器及對應(yīng)子取樣器
Mainsampleonly:僅作用于主取樣器
Sub-samplesonly:僅作用于子取樣器
JMeterVariable:作用于jmeter變量(輸入框內(nèi)可輸入jmeter的變量名稱)
測試字段:響應(yīng)文本、響應(yīng)代碼、
響應(yīng)信息、響應(yīng)頭部......
模式匹配規(guī)則:包括、匹配、Equals、字符串、否、或者
測試模式:可以添加/刪除需要判斷的內(nèi)容,按鈕“添加”、“刪除”進(jìn)行指定內(nèi)容的管理。JSON斷言在查看結(jié)果樹這里先測試,測試ok了再直接放在JSON斷言中JSON斷言界面參數(shù)說明:名稱:節(jié)點(diǎn)的名稱,顯示在查看結(jié)果樹中,自己根據(jù)實(shí)際情況定義。注釋:對該節(jié)點(diǎn)進(jìn)行注釋。斷言存在JSON路徑:斷言JSON元素的路徑。附加斷言值:如果要使斷言具有某個(gè)值,把這個(gè)值勾選上。如果寫了(3)JSON元素的路徑,要把這個(gè)值勾選上。匹配為正則表達(dá)式:如果要使用正則表示式,選中該復(fù)選框。預(yù)期值:JSON元素路徑對應(yīng)的值。反轉(zhuǎn)斷言:就是否的意思,即如果符合就失敗。$表示跟節(jié)點(diǎn)。
[]表示數(shù)組,0表示第一個(gè);$[0]
表示跟節(jié)點(diǎn)后的第一個(gè)對象。
data即key,這里要獲取data的值,所以填寫20240630sampler-jdbc請求Jmeter連接數(shù)據(jù)庫mysql驅(qū)動(dòng)下載官網(wǎng):/downloads/connector/j/下載解壓后將jar包放到j(luò)meter安裝目錄lib下測試計(jì)劃導(dǎo)入數(shù)據(jù)庫驅(qū)動(dòng)jar包配置JDBCConnectionConfigurationVariableNameforcreatedpool:連接名稱隨意,需要唯一標(biāo)識,后面的JDBC請求中需要用到,所以需要與JDBC取樣器中的名稱一致,簡單理解就是jdbcrequest的時(shí)候需要確定去請求哪個(gè)數(shù)據(jù)庫MaxNumberofConnections:連接池中允許的最大數(shù)據(jù)庫連接數(shù),默認(rèn)10,做性能測試時(shí),建議填0MaxWait(ms):在連接池中取回連接最大等待時(shí)間,單位毫秒,默認(rèn)10000,默認(rèn)即可TimeBetweenEvictionRuns(ms):線程可空閑時(shí)間,單位毫秒,默認(rèn)60000,默認(rèn)即可
AutoCommit:自動(dòng)提交sql語句,有三個(gè)選項(xiàng):True、False、編輯(JMeter提供的函數(shù)設(shè)置),默認(rèn)為true,默認(rèn)即可TransactionIsolation:事務(wù)隔離級別,默認(rèn)為DEFAULT,默認(rèn)即可TestWhileIdle:當(dāng)連接空閑時(shí)是否斷開,默認(rèn)為True,默認(rèn)即可SoftMinEvictableIdleTime(ms):連接池中連接的最小空閑時(shí)間,以毫秒為單位。當(dāng)連接池中的連接處于空閑狀態(tài)且超過了“SoftMinEvictableIdleTime”的設(shè)定值時(shí),連接池可能會選擇回收這些空閑連接,默認(rèn)為5000,默認(rèn)即可ValidationQuery:驗(yàn)證sql語法,默認(rèn)為select1,默認(rèn)即可DatabaseURL:數(shù)據(jù)庫連接URL,可以帶上字符集characterEncoding=utf-8,也可允許多條sql執(zhí)行allowMultiQueries=true,還可指定時(shí)區(qū)serverTimezone=UTC,比如jdbc:mysql://04:33066/u_backend?serverTimezone=UTC&characterEncoding=utf-8&allowMultiQueries=trueJDBCDriverclass:JDBC的類,默認(rèn)為空,必填項(xiàng),mysql就選擇com.mysql.jdbc.DriverUsername:數(shù)據(jù)庫的用戶名Password:數(shù)據(jù)庫的密碼發(fā)送數(shù)據(jù)庫請求引用數(shù)據(jù)庫查詢變量名稱:隨意命名VariableNameofPooldeclaredinJDBCConnectionConfiguration:要與JDBCConnectionConfiguration中的VariableNameforcreatedpool值保持一致?。ueryType:【查詢】操作選擇SelectStatement,【增刪改】操作選擇UpdateStatementSQLQurry:輸入對應(yīng)的sql語句Variablenames:對應(yīng)sql查詢結(jié)果的字段值,字段值有多少個(gè),則對應(yīng)值就有多少個(gè)。例如sql查有兩個(gè)字段值:username,password,那么下面就對應(yīng)兩個(gè)變量resusername,respassword。username對應(yīng)變量resusername,password對應(yīng)變量respassword。HandleResultSet:默認(rèn)為StoreasString,選擇默認(rèn)值即可,當(dāng)選擇此選項(xiàng)時(shí),查詢結(jié)果將以字符串的形式存儲在變量中JMeter分布式集群---部署多臺機(jī)器進(jìn)行性能壓力測試有些時(shí)候,我們在進(jìn)行壓力測試的時(shí)候,隨著模擬用戶的增加,電腦的性能(CPU,內(nèi)存)占用是非常大的,為了我們得到更加理想的測試結(jié)果,我們可以利用jmeter的分布式來緩解機(jī)器的負(fù)載壓力,分布到多臺機(jī)器同時(shí)運(yùn)行。1.J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年研發(fā)合作合同(共享成果)
- 2025版?zhèn)€人房產(chǎn)買賣合同示范協(xié)議4篇
- 2025年食品飲料品牌獨(dú)家代理銷售合同范本6篇
- 二零二五版1209兩人合伙成立網(wǎng)絡(luò)直播平臺合作協(xié)議3篇
- 個(gè)人獨(dú)資企業(yè)股權(quán)變更協(xié)議模板一
- 2025年度物流倉儲設(shè)施租賃合同范本12篇
- 個(gè)性化翻譯合作合同(2024年版)一
- 教育信息化背景下的研究探索與挑戰(zhàn)
- 智慧教育背景下的數(shù)學(xué)競賽輔導(dǎo)方法探討
- 2025年度個(gè)人貸款合同擔(dān)保期限及續(xù)約規(guī)定3篇
- 餐廚垃圾收運(yùn)安全操作規(guī)范
- 皮膚內(nèi)科過敏反應(yīng)病例分析
- 電影《獅子王》的視聽語言解析
- 妊娠合并低鉀血癥護(hù)理查房
- 煤礦反三違培訓(xùn)課件
- 向流程設(shè)計(jì)要效率
- 2024年中國航空發(fā)動(dòng)機(jī)集團(tuán)招聘筆試參考題庫含答案解析
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- 動(dòng)力管道設(shè)計(jì)手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
評論
0/150
提交評論