文章目錄
- 臨界部分控制器
- 存在問題
臨界部分控制器
在進行壓力測試時,需要按照順序進行壓測,比如按照接口1、接口2、接口3、接口4 進行執行
查詢結果是很混亂的,如果請求次數少,可能會按照順序執行,但是隨著次數增加,則會越來越不按照順序執行,從而會導致有些請求出現報錯。
因此需要臨界部分控制器
將請求加在此控制器下面進行執行,即一直都會按照順序執行,便不會再出現報錯的情況。
存在問題
使用臨界部分控制器后,請求執行的順序確實是按照自定義的順序執行,但是執行時間遠大于接口取樣器隨機接口執行,或者使用臨界部分控制器后吞吐量相當低,也就是服務器所受到的壓力遠小于隨機執行的情況,這是人為的導致性能測試指標錯誤。
簡單來說就是并發請求(線程)這個控制器,會根據鎖名稱生成一個鎖,鎖定控制器下的所有子元素,等待所有子元素都執行完后,鎖才會進行釋放,下一個請求才會繼續執行。
把原本的并發請求的并行處理方式,變成了串行處理,導致結果不準確。
把鎖名稱變成動態的方法有多種:
隨機函數
時間戳函數
線程數函數
。。。。。。
把鎖名稱設為動態值后,當某個線程調用的時候,就會自動生成一個新的鎖名稱。
這樣就解決了臨界部分控制器所出現的問題。