hello,更新幾天的分享,線程數現在才分享,感覺怪怪的,原諒我沒有考慮到一個順序問題哈,那里總結好了,我就發那里,先把組件都寫完,再來項目實戰,希望大家不要責怪哈,內容有寫的不詳細的,或者我說錯了,請大家回復我下,畢竟不想誤人子弟,感謝各位的指點哈,不啰嗦了,上主題, 詳解下線程組,當我們說多少多少並發的時候,也可以說一秒內,多少線程組*循環次數,這里需要注意的,這里的時間,是分配線程用的,比如線程數10,時間是5秒,循環2次,也就是說,一秒會執行兩個線程*2次循環,一秒並發4次請求,這個大白話說的夠白了。。。。

我們先說下這個:

Thread Group
- Name:任意,具有有意義的名字
- Comments:備注信息
- Action to be taken after a Sampler error
- a.Contiune:繼續。某一個請求遇到錯誤后,其他請求繼續執行。我們在大量用戶並發的時候,某個請求失敗屬正常現象
- b.Start Next Thread Loop:如遇到錯誤后面的請求將不再執行,等下一輪再開始執行。例如線程組中包含登錄和發帖2個請求,若登錄請求失敗,發帖請求將不再執行,等下一次重新迭代,從登錄開始執行。
- c.Stop Thread:遇到錯誤就停止線程再也不執行了。例如線程組中有50個線程,其中某一個線程的某個請求遇到錯誤即停止線程不再執行,剩下49個線程繼續執行。若線程錯誤的比較多,剩余的線程就較少,此時負載數量就不足了,測試結果不滿足測試要求,因此一般不會勾選此項。
- d.Stop Test:某個線程某個請求遇到錯誤,停止所有線程,也就是停止整個測試,但是線程中的余下的請求還是會執行完再停止。例如線程1中包含登錄和發帖2個請求,其他線程遇到錯誤,現在要全部停下來,線程1發帖請求還是會執行,然后再停止測試。
- e.Stop Test Now:遇到錯誤立即停止所有線程,即整個測試。
Thread Properties
- a.Number of Threads(users) :線程數,一個線程相當於一個虛擬用戶
- b.Ramp-Up Period(in second):線程啟動開始運行的時間間隔,單位秒。即所有線程在多長時間內全部啟動。例如線程60個,Ramp-Up Period設置為20s,那么每秒啟動60/20=3個線程,不填寫默認設置為0,即所有線程在開啟場景后立即啟動。
- c.Loop Count:循環次數。勾選forever,將一直執行,除非手動停止或崩潰

Delay Thread creation until needed : 默認不勾選,測試開始的時候,所有線程就被創建完。勾選了此選項,那么線程只會在合適的需要用到的時候創建。
勾選,例如50個線程Ramp-Up Period為10s,那么每隔1s啟動50/10=5個線程並運行下面的請求(狀態為running);不勾選,測試計划開始后啟動所有線程(狀態為new),但是不立即執行下面的請求。例如50個線程Ramp-Up Period為10s,那么計划開始后所有線程全部就緒,但第一秒只有5個線程開始運行請求。實際應用中選擇哪種都可以,不影響測試結果。
個人理解:例如銀行辦業務10個人,勾選,櫃台只有一個人在辦理(running狀態),剩下的人可以坐在位置上等候;不勾選,10個人都站在櫃台外面排隊等候(不是坐着),等待叫號。

Scheduler:調度器
- a.Duration(seconds):持續時間,測試計划持續多長時間。
- b.Startup delay(seconds):啟動延時。點擊啟動按鈕后,僅初始化場景,不運行線程,等待延時時間到才運行。
啟動時間結束時間,要注意下,小白的我,已為設置了時間就可以了,等我看時間到了,怎么還沒有執行呢?后來想想,FUCK了,忘記點擊開始按鈕了,不要學我哈。。。。
這里要注意,如果設置開啟延遲時間跟啟動時間的話,啟動時間失效,已啟動延遲時間為准。
如果設置了無限循環,持續時間才可生效
