性能測試中我們經(jīng)常提到一個(gè)概念就是“并發(fā)”爷怀,其實(shí)在實(shí)際真實(shí)的性能測試中是不存在真正的并發(fā)的阻肩。為了更真實(shí)的模擬對一個(gè)請求的并發(fā)測試場景,我們通常設(shè)置一個(gè)集合點(diǎn)运授,JMeter中提供了這樣的一個(gè)功能設(shè)置烤惊。
那么集合點(diǎn)的大致概念是什么呢?
簡單理解就是:設(shè)置一個(gè)閥值(請求數(shù)量)吁朦,當(dāng)請求數(shù)達(dá)到這個(gè)閥值時(shí)柒室,允許請求同時(shí)發(fā)出。例如:想測試一座橋的并發(fā)(忽略載重等其他因素逗宜,只考慮通過)雄右,那么并發(fā)的請求就是類似于多少輛車可同時(shí)通過橋,而車輛一般情況下是不可能同時(shí)通過橋的纺讲,因而我們可以在橋頭A擂仍,設(shè)置一個(gè)集合點(diǎn),等車輛數(shù)滿足一定的數(shù)量熬甚,同時(shí)讓車輛通過此橋逢渔。
添加路徑:右鍵單擊線程組,依次選擇【添加/定時(shí)器/Synchronizing Timer】即可添加集合點(diǎn)
添加后乡括,顯示如下圖所示:
PS:超時(shí)時(shí)間為0時(shí)肃廓,默認(rèn)無超時(shí)限制。
實(shí)際運(yùn)行過程中诲泌,可能出現(xiàn)請求數(shù)當(dāng)不滿足集合點(diǎn)設(shè)置的請求數(shù)時(shí)亿昏,JMeter一直卡頓在如下頁面:
解決辦法是:設(shè)置同步定時(shí)器的超時(shí)時(shí)間。
同步定時(shí)器(Synchronizing Timer)的超時(shí)時(shí)間設(shè)置要求:
超時(shí)時(shí)間 > 請求集合數(shù)量 * 1000 / (線程數(shù) / 線程加載時(shí)間)