Jmeter提供了一個非常有用的定時器,稱為Constant Throughput Timer (常數(shù)吞吐量定時器),該定時器可以方便地控制給定的取樣器發(fā)送請求的吞吐量。
右鍵點擊fnng.cnblogs.com ,彈出菜單(添加--->定時器--->Constant Throughput Timer)選擇Constant Throughput Timer
Constant Throughput Timer 的主要屬性介紹:
名稱:定時器的名稱
Target throughput(in samples per minute):目標(biāo)吞吐量。注意這里是每分鐘發(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é)束后等待合理的時間后再次運行。活躍線程指同一時刻同時運行的線程。
All active threads in current thread group:設(shè)置的target Throughput將分配在當(dāng)前線程組的每一個活躍線程上,當(dāng)測試計劃中只有一個線程組時,該選項和All active threads選項的效果完全相同。
All active threads (shared ):與All active threads 的選項基本相同,的區(qū)別是,每個活躍線程都會在所有活躍線程上一次運行結(jié)束后等待合理的時間后再次運行。
All cative threads in current thread group (shared ):與All active threads in current thread group 基本相同,的區(qū)別是,每個活躍線程都會在所有活躍線程的上一次運行結(jié)束后等待合理的時間后再次運行。
如上圖,該元件僅作用于fnng.cnblogs.com ,設(shè)置定時器的Target throughput為1200/分鐘(20 QPS),設(shè)置Calculate Throughput based on 的值為All active threads 。
當(dāng)然,Constant Throughput Timer只有在線程組中的線程產(chǎn)生足夠多的request 的情況下才有意義,因此,即使設(shè)置了Constant Throughput Timer的值,也可能由于線程組中的線程數(shù)量不夠,或是定時器設(shè)置不合理等原因?qū)е驴傮w的QPS不能達到預(yù)期目標(biāo)。
添加監(jiān)聽器(Listener)
--------------------------------------------------------------------------------
腳本的主要部分設(shè)置完成后,需要通過某種方式獲得性能測試中的測試結(jié)果,在本例中,我們關(guān)心的是請求的響應(yīng)時間。
Jmeter 中使用監(jiān)聽器元件收集取樣器記錄的數(shù)據(jù)并以可視化的方式來呈現(xiàn)。Jmeter有各種不同的監(jiān)聽器類型,因為上HTTP請求,我們可在添加聚合報告,更為直觀的查看測試結(jié)果。
添加聚合報告,右鍵點擊線程組,在彈的菜單(添加--->監(jiān)聽器--->聚合報告)中選擇聚合報告。