2016-05-09 41 views
1

我有大量的apis的un部署過程。如何在線程間共享一個巨大的進程

我會通過查詢restservice其返回每個API ID我需要執行一些常用的取消部署JSON響應

{ "count" : 10000 ,[ {api_id:"1" , api_name:"xyz"},{api_id:"2",api_name:"abc"},....,{api_id:"999",api_name:"uuf"}]} 

得到的API列表..

現在單線程這個洞過程需要很長時間。

我想增加線程,因此處理時間減少。

當前我的線程組顯示如下click to see Image按預期運行進程,但我想在線程之間共享這個大任務,當線程1正在執行api_id的取消部署3時,則線程2不應嘗試取消部署相同的api_id 3。因爲所有的線程都試圖訪問相同的數據,並嘗試做同樣的過程,我得到的錯誤。

現在我正在尋找一種解決方案,它沒有壓倒一切的問題,並且想要分享這個過程。我想在線程之間共享(1000 /線程= chunck),然後爲每個線程啓動索引是0到chunck,chunk + 1到2 * chunck等等,但我不確定實現。

謝謝。

回答

1

鑑於你已經提取您的API ID(或名稱),你有1000個變量,如:

api_name_1=xyz 
api_name_2=abc 
api_name_3=uuf 

你可以只用__counter()功能,每它被稱爲時間增量所以無論你有多少線程有每個迭代中的每個線程都會選取下一個API來執行取消部署。請參閱下一個API名稱,如:

${__V(api_name_${__counter(FALSE,)})} 

Counter functions

How to Use a Counter in a JMeter Test此文出於不同JMeter的計數器類型以及有關如何使用它們的更多信息。

相關問題