Jenkinsサーバーに約50台のスレーブが接続されています。 私はJenkins Build Queueでいくつかのストレステストをしようとしています。なぜなら、Jenkins Build Queueに関するドキュメンテーションが見つかりませんでした。Jenkinsビルドキューに15Kのタスクを追加する
私は、1つのステップで簡単なパラメータ化されたジョブを持っていますが、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
このジョブを15,000回実行します。
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タスクが提出されたので、私はループを殺したとジェンキンスがキューを構築パージ: は、最初に私は、コマンドラインからジェンキンスREST APIを使用しようとしました。
私の2回目の試みは、システムのGroovyスクリプトを使用して 'job.scheduleBuild' APIを呼び出すことによって、この 'TEST_SIMPLE'ジョブをトリガーする別のジョブを使用することでした。現在1.5時間稼働しており、15Kのうち8Kのタスクしか提出していません。
スレーブがキュー
この取り組みの目的は、多くの多くのテストが含まれている私たちのテストスイートのための非常に古いエグゼキュータ/ディスパッチャを交換することである(から1を取るときにのみタスクがキューに追加されているようです〜15K)、私はJenkinsとPOCをやっています。私たちが既にビルドに使用していて、この古いエグゼクティブを実行しているからです。
私の質問は次のとおりです。 1.ビルドキューのサイズに制限はありますか? 2.非常に多くのリクエストを非常に早く提出する方法はありますか?
ありがとうございました。