我有一個連接了約50個從站的Jenkins服務器。 我想對Jenkins構建隊列做一些壓力測試,因爲我還沒有找到關於它的任何文檔。將15K任務添加到Jenkins構建隊列
我只有一個簡單的參數化作業,BRANCH和COUNT是作業參數。工作在10到30秒之間隨機休息:
#bash
RESULT="/path/to/results_dir/$BRANCH/$BUILD_ID.txt"
SEC=$(shuf -i10-30 -n1)
sleep $SEC
echo -e "$NODE_NAME\t$BUILD_TAG\t$SEC\t$COUNT" > $RESULT
我想運行這個工作15K次。 起初,我試圖從命令行中使用詹金斯REST API:
for c in $(seq 1 15000); do curl -X POST http://<server ip>:8080/job/TEST_SIMPLE/buildWithParameters --data-urlencode "token=TEST" --data-urlencode "BRANCH=<branch name>" --data-urlencode "COUNT=${c}"; done
但已提交只有4K工作一個小時後,所以我殺了循環和淨化詹金斯建立隊列。
我第二次嘗試使用另一個作業,通過使用系統groovy腳本並調用'job.scheduleBuild'API來觸發此'TEST_SIMPLE'作業。它目前運行了1.5小時,並且只提交了15K中的8K任務。
看來只能當奴隸需要一個從隊列
這項工作的目的是要取代一個非常古老的執行/調度我們的測試套件,包含了許多許多的測試(即任務添加到隊列〜15K),並且我和詹金斯一起做POC,因爲我們已經將它用於我們的構建並運行這個老執行者。
所以我的問題是: 1.是否有構建隊列的大小限制? 2.有沒有辦法提交這麼多的請求非常快?
謝謝。