Content encoding :內(nèi)容的編碼方式,默認值為iso8859
路徑:目標URL路徑(不包括服務(wù)器地址和端口)
自動重定向:如果選中該選項,當發(fā)送HTTP請求后得到的響應(yīng)是302/301時,JMeter 自動重定向到新的頁面。
Use keep Alive : 當該選項被選中時,jmeter 和目標服務(wù)器之間使用 Keep-Alive方式進行HTTP通信,默認選中。
Use multipart/from-data for HTTP POST :當發(fā)送HTTP POST 請求時,使用Use multipart/from-data方法發(fā)送,默認不選中。
同請求一起發(fā)送參數(shù) : 在請求中發(fā)送URL參數(shù),對于帶參數(shù)的URL ,jmeter提供了一個簡單的對參數(shù)化的方法。用戶可以將URL中所有參數(shù)設(shè)置在本表中,表中的每一行是一個參數(shù)值對(對應(yīng)RUL中的 名稱1=值1)。
同請求一起發(fā)送文件:在請求中發(fā)送文件,通常,HTTP文件上傳行為可以通過這種方式模擬。
從HTML文件獲取所有有內(nèi)含的資源:當該選項被選中時,jmeter在發(fā)出HTTP請求并獲得響應(yīng)的HTML文件內(nèi)容后,還對該HTML進行Parse 并獲取HTML中包含的所有資源(圖片、flash等),默認不選中,如果用戶只希望獲取頁面中的特定資源,可以在下方的Embedded URLs must match 文本框中填入需要下載的特定資源表達式,這樣,只有能匹配指定正則表達式的URL指向資源會被下載。
用作監(jiān)視器:此取樣器被當成監(jiān)視器,在Monitor Results Listener 中可以直接看到基于該取樣器的圖形化統(tǒng)計信息。默認為不選中。
Save response as MD5 hash? :選中該項,在執(zhí)行時僅記錄服務(wù)端響應(yīng)數(shù)據(jù)的MD5值,而不記錄完整的響應(yīng)數(shù)據(jù)。在需要進行數(shù)據(jù)量非常大的測試時,建議選中該項以減少取樣器記錄響應(yīng)數(shù)據(jù)的開銷。
在這里我們添加兩個HTTP請求,分別用于對fnng.cnblogs.com 和 tt-topia.rhcloud.com發(fā)送請求。
設(shè)置QPS限制
本次性能測試的需求中提到測試的目的是“了解博客的首頁在負載達到20 QPS時的響應(yīng)時間”,因此需要控制向博客首頁發(fā)送請求的負載為20QPS。
一種可行的方法是逐步調(diào)整測試計劃中的線程計算的數(shù)量以及為取樣器(Sampler)添加定時器(Timer),以使HTTP取樣器發(fā)出的請求的QPS保持在20個左右。但這種方法耗時耗力,需要經(jīng)過多次嘗試才能達到;另一方法,完全通過設(shè)置定時器來控制QPS,一旦取樣器的響應(yīng)時間發(fā)生改變(網(wǎng)絡(luò)環(huán)境發(fā)生改變),需要重新調(diào)整定時器的等待時間。
Jmeter提供了一個非常有用的定時器,稱為Constant Throughput Timer (常數(shù)吞吐量定時器),該定時器可以方便地控制給定的取樣器發(fā)送請求的吞吐量。
右鍵點擊fnng.cnblogs.com ,彈出菜單(添加--->定時器--->Constant Throughput Timer)選擇Constant Throughput Timer
Constant Throughput Timer 的主要屬性介紹:
名稱 :定時器的名稱
Target throughput(in samples per minute):目標吞吐量。注意這里是每分鐘發(fā)送的請求數(shù),因此,對應(yīng)測試需求中所要求的20 QPS ,這里的值應(yīng)該是1200 。
Calculate Throughput based on :有5個選項,分別是:
This thread only :控制每個線程的吞吐量,選擇這種模式時,總的吞吐量為設(shè)置的 target Throughput 乘以矣線程的數(shù)量。
All active threads : 設(shè)置的target Throughput 將分配在每個活躍線程上,每個活躍線程在上一次運行結(jié)束后等待合理的時間后再次運行;钴S線程指同一時刻同時運行的線程。
All active threads in current thread group :設(shè)置的target Throughput將分配在當前線程組的每一個活躍線程上,當測試計劃中只有一個線程組時,該選項和All active threads選項的效果完全相同。
All active threads (shared ):與All active threads 的選項基本相同,的區(qū)別是,每個活躍線程都會在所有活躍線程上一次運行結(jié)束后等待合理的時間后再次運行。