我有一个连接了约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.有没有办法提交这么多的请求非常快?
谢谢。