性能優化- Jemeter 壓力測試

1. jemeter 線程組介紹

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個人都站在櫃檯外面排隊等候(不是坐着),等待叫號。

2 . beanshell 預處理程序介紹

BeanShell 是小型的嵌入式java的解釋器,能夠執行java語法 ,具體使用方法可以查詢

使用場景:比如可以生成動態流水等等

3. 函數助手(tools->函數助手對話框)

可以使用函數助手生成函數變量,在請求報文中使用

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章