GPU・HPCインフラ

ジョブキューとは|使用率を80%から95%に上げたら、待ちが7.6分から43.0分になった

ジョブキューはどこまで詰めてよいのか待ち時間はどう伸びるのか並べる順番で何が変わるのか

窓口4台を使用率80%で回すと、平均の待ちは7.6分でした。処理そのものは10分です。

95%まで上げると43.0分になります。使用率を1.19倍にして、待ちは5.7倍です。

この記事の要点

  • 使用率80%で待ち7.6分
  • 95%で43.0分
  • 98%なら87.0分
  • 短い順に流すと5.2分

使用率を80%から95%に上げたら、待ちが7.6分から43.0分になった

使用率と待ち時間は比例しません。ある点から先は、少し詰めるだけで待ちが跳ねます。

ジョブキューでいちばん効くのがどこまで詰めるかです。実際に走らせて、待ちの伸び方を測りました。

窓口4台、1件あたり平均10分という条件で、仕事4万件を流します。到着と処理はどちらも指数分布で置きました。

使用率を動かす

text
狙った使用率  実測の使用率  平均の待ち  95%点の待ち  待ちが処理時間の何倍か
50%                  49.6%        0.8分         6.0分                   0.08倍
70%                  69.5%        3.5分        17.8分                   0.35倍
80%                  79.4%        7.6分        32.4分                   0.76倍
90%                  89.3%       20.3分        75.0分                   2.03倍
95%                  94.3%       43.0分       148.1分                   4.30倍
98%                  97.3%       87.0分       270.5分                   8.70倍

50%では待ちが0.8分です。処理の10分に対して1割以下なので、ほぼ待たされません

80%でも7.6分で、処理時間より短い水準です。ここまでは素直に増えています。

折れ曲がる場所がある

90%を超えると様子が変わります。80%から90%へ上げただけで、待ちは7.6分から20.3分へ2.7倍です。

95%では43.0分、98%では87.0分になります。使用率を1.19倍にして、待ちは5.7倍という関係です。

出典もキューの役割を仕事はジョブキューへ投入され、計算環境で実行できるようになるまでそこに留まると説明しています。留まる時間が、この表です。

使用率と待ちは比例しない。ある点から跳ね上がる。

271050%70%80%90%95%98%処理そのもの 10分95%点の待ち平均の待ち窓口4台・処理平均10分・仕事4万件での実測。横軸は狙った使用率。
図1 ── 使用率ごとの待ち時間
出典AWS「Job queues」(AWS Batch ユーザーガイド)2026-08-18 確認
Jobs are submitted to a job queue where they reside until they can be scheduled to run in a compute environment.
原文AWS「Job queues」(AWS Batch ユーザーガイド) この内容の有効期限2027-02-18

同じ使用率でも、ばらつきが大きいと待ちは4倍になる

平均が同じでも、処理時間のばらつきで待ちが変わります。並べる順番でも変わります。

ジョブキューの待ちは、使用率だけでは決まりません。処理時間のばらつきも効きます。

仕事2万件のうち8割を短い仕事(平均2分)、2割を長い仕事(平均42分)にしました。全体の平均は10分で、使用率は8割です。

前の節と同じ条件のはずが

text
並べ方          仕事の種類  平均の待ち  中央値  95%点   99%点
来た順             短い仕事           31.8分    11.1分   123.8分   223.3分
来た順             長い仕事           31.9分    11.0分   121.6分   253.0分
短いものから          短い仕事            5.2分     1.1分    24.7分    49.3分
短いものから          長い仕事           20.7分     3.8分    91.5分   196.2分

来た順に流した場合、平均の待ちは31.8分です。前の節の使用率80%は7.6分でした。

使用率も平均処理時間も同じなのに4倍になっています。差は処理時間のばらつきだけです。

長い仕事が窓口を42分ふさぐあいだ、短い仕事が後ろで待ちます。平均で設計すると、この分が抜けます

並べる順番を変える

短いものから流すと、短い仕事の待ちは5.2分まで落ちます。6分の1です。

長い仕事も31.9分から20.7分へ減りました。行列が短くなるので、全体が速くなります。

ただし種類による差は開きます。来た順ではほぼ同じ待ちでしたが、短いものからでは約4倍の差が付きます。

出典もこの調整を異なる並べ方の方針を指定すれば、自分の必要に応じて計算資源を割り当てられるとしています。

並べ方を変えると、待ちの中央値と裾の両方が動く。

p50 ─ p99(分)来た順・短い仕事11.1/223.3来た順・長い仕事11/253短い順・短い仕事1.1/49.3短い順・長い仕事3.8/196.2仕事2万件での実測。使用率はどちらの並べ方でも同じ8割。
図2 ── 並べ方ごとの待ち時間の幅
出典AWS「Fair-share scheduling policies」(AWS Batch ユーザーガイド)2026-08-18 確認
By specifying a different scheduling policy, you can allocate compute resources according to your specific needs.
原文AWS「Fair-share scheduling policies」(AWS Batch ユーザーガイド) この内容の有効期限2027-02-18

決めるのは、台数と順番と上限の3つ

台数は使用率を決めます。順番は待ちの配り方を決めます。上限は詰まったときの逃げ道です。

ジョブキューを設計するとき、決めるのは台数・順番・上限の3つです。

台数は使用率で決める

許せる待ちの上限を先に置きます。その上限に収まる使用率まで台数を足すという向きです。

この計測なら、待ちを処理時間以下にしたければ使用率80%までです。90%を狙うと20.3分かかります。

順番は方針で決まる

順番を指定しなければ来た順になります。出典もジョブキューに並べ方の方針があれば、その方針が実行の順番を決めると述べています。

  1. 来た順。公平だが、長い仕事の後ろが詰まる
  2. 短いものから。全体の待ちは減るが、種類による差が開く
  3. 優先度つき。急ぐ仕事を先に通す
  4. 枠を分ける。種類ごとに窓口を確保する

4番目は、種類ごとに使用率が別々になります。片方が空いていても、もう片方は待つという形です。

上限を置く

行列の長さに上限を置かないと、詰まったときに待ちが伸び続けます。あふれた分は断るか、別の先へ回します

一括で流す処理なら、断らずに翌日へ回す手もあります。バッチ処理の記事では、その組み方を扱っています。

台数・順番・上限のどれかが欠けると、詰まったときに止まらない。

充足 2 / 4許せる待ちの上限を決めている使用率80%で7.6分、95%で43.0分と、詰めるほど待ちが跳ねる処理時間のばらつきを見ている平均が同じでも、ばらつきが大きいと待ちが4倍になる使用率を高く保つことを目標にしている98%まで詰めると、待ちが処理時間の8.70倍になる行列の長さに上限がない詰まったときに待ちが伸び続け、断る判断ができない窓口4台・処理平均10分での実測にもとづく。
図3 ── 設計する前の点検項目
余談 この計測での注意

到着と処理は指数分布という置き方です。実際の到着は時間帯で偏り、処理時間も裾が重いことがあります。偏りが強いほど、同じ使用率でも待ちは伸びます。ここで見せているのは、使用率と待ちが比例しないことと、平均が同じでもばらつきで待ちが変わるという関係です。

出典AWS「Fair-share scheduling policies」(AWS Batch ユーザーガイド)2026-08-18 確認
If the job queue has a scheduling policy, the scheduling policy determines the order that jobs are run in.
原文AWS「Fair-share scheduling policies」(AWS Batch ユーザーガイド) この内容の有効期限2027-02-18

よくある質問

ジョブキューはどこまで詰めてよいですか
待ちの伸び方で決まります。この計測では80%で7.6分だった待ちが、95%では43.0分になりました。
使用率を上げるほど得ではないのですか
資源の効率は上がりますが、待ちは急に伸びます。90%を超えたあたりから伸び方が変わりました。
並べる順番で改善しますか
この計測では、短いものから流すと平均の待ちが31.8分から5.2分になりました。長い仕事も31.9分から20.7分へ減りました。
平均だけ見ればよいですか
95%点も見てください。使用率95%では平均43.0分に対し、95%点は148.1分でした。

まとめ

  • 仕事を並べて順に処理する
  • 使用率を上げると待ちが急に伸びる
  • 並べる順番で待ちは変えられる
  • 見るのは平均と95%点

今日から始められること

  1. いまの使用率と待ち時間を測る
  2. 使用率を上げたときの待ちを見積もる
  3. 許せる待ちの上限を決める
  4. その上限に収まる使用率まで台数を足す

実務で組んだジョブキューのワークフローには、値段が付きます

同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。

出品の仕組みを見る