待ち行列理論で考えるGKEの最適なポッド数
by
inuverse
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
待ち行列理論で考えるGKEの 最適なポッド数 Inuverse エンジニアたちのゆるっと数学勉強会 #10 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカ フェ 1
Slide 2
Slide 2 text
目次 0. 自己紹介 1. 動機と示したいこと 2. 準備 GKEとは 待ち行列とは Poisson分布と指数分布 3. 解析 4. 結果 5. 結論と展望 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 2
Slide 3
Slide 3 text
自己紹介 Inuverse(いぬばーす) (=こだま) @mochi_dog_phys 2年目 小売企業Tの基幹システムでo11y計装, API 開発, 負荷検証 物理学、とくに宇宙が好き 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカ フェ 3
Slide 4
Slide 4 text
動機と示したいこと 動機 負荷検証でGKEのポッドにAPIで大量のリクエスト Cloud LoggingやCloud Traceで負荷状況を観測 負荷とポッドのリソースはどのような関係だろう。 。 。 負荷 処理能力 示したいこと 負荷と処理能力を軸にして、どれくらいのポッドの数であれば安全? SLOを満たすポッド数は? 待ち行列理論で考えるGKEの最適なポッド数 1. 負荷 処理能力を厳密に定義しているわけなく、当初の個人的な想像である。例えば負荷が 負荷 のときを想定すると、明らかに上記の式は破綻する。 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 4
Slide 5
Slide 5 text
準備 待ち行列理論 (Queueing theory) とは 確率が時間発展し、混雑状況が時事刻々と変化する系を記述するための理論 到着過程 サービス過程 M/M/cモデル 今回採用するモデル 負荷がランダムに到着し、処理の時間もランダムで、それを実行してくれるサ ーバが 個存在する、という意味 到着がランダム Poisson分布、処理時間がランダム 指数分布 待ち行列理論で考えるGKEの最適なポッド数 1. A. K. Erlang (1909) Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 5
Slide 6
Slide 6 text
解析 :待ち行列に 個のプロセスが残っている確率 :単位時間あたりの平均リクエスト数(到着率) : 個のプロセスが残っているときの、単位時間あたりの平均処理数(サービ ス率) ※ 最終的に待ちが発生する平均時間が知りたい。 待ち行列理論で考えるGKEの最適なポッド数 1. 今回はAPIのリクエストで負荷をかけているという状況を考えているが、一般にこの限りではない。 2. https://ia601403.us.archive.org/13/items/in.ernet.dli.2015.134547/2015.134547.Queueing-Systems-Volume-1-Theory.pdf Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 6
Slide 7
Slide 7 text
解析 ポッド数を調整するとして、最終的にポッド数は落ち着くはず 負荷が高いままならHPAする 状態 から状態 への流れ 状態 から への流れ 状態 から への流れ これが成り立つとき、詳細釣り合いの式 ある程度CPU使用が高い状態を維持しているとき、リクエストの早さと処理の速 さが同じ、ということを表しています。 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 7
Slide 8
Slide 8 text
解析 平均待ち時間 95%ile待ち時間を とし、平均待ち時間を とします。待ち時間が を越さな い確率が なので これを について解くと これは待ち時間なので、ユーザが体感する応答時間 は 、 待ち行列理論で考えるGKEの最適なポッド数 指数分布を使用しています。 は、実は に依存します。 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 8
Slide 9
Slide 9 text
結果 負荷と処理能力を軸にして、どれく らいのポッドの数であれば安全? SLOを満たすポッド数は? e.g., SLO: 95%ile時間が 以 内に収める 件 : 件 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市 天神エンジニアカフェ 9
Slide 10
Slide 10 text
まとめ 定常状態において、想定される負荷と処理能力をきちんと評価できれば、ビジネ スを満たすポッド数を決めることができる(もしくは範囲を制限することができ る) 実務を続けていく中で、定常状態って仮定があんまりよろしくない。基本的に気 にすることはバースト負荷があるとき。 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 10
Slide 11
Slide 11 text
Appendix 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 11
Slide 12
Slide 12 text
ポアソン分布 平均リクエスト数を とする。 観測時間を とし、 となるように分割。 中にリクエストが来る確率 は十分小さいとする 平均リクエスト数を とする 時間 中に 回のリクエスト なので、このリクエストが来る確率を とすると...... 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 12
Slide 13
Slide 13 text
ポアソン分布 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 13
Slide 14
Slide 14 text
指数分布 1つのポッドあたりの単位時間あたりの平均処理数を 上記がポアソン過程であるとする(単位時間あたりに 個の処理を捌く) までの間、一度も処理されない確率は? つまり、処理時間が を超える確率は 逆に、時間 以内に処理が完了する確率は、上記の余事象を考えれば良くて 以下で処理が完了する確率密度関数は 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 14
Slide 15
Slide 15 text
(i) ポッド数未満のリクエスト 単位時間あたりの処理数は 詳細釣り合いの式 待ち 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 15
Slide 16
Slide 16 text
(ii) ポッド数以上のリクエスト( ) 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 16
Slide 17
Slide 17 text
を求める です。左辺を計算すると 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 17
Slide 18
Slide 18 text
を求める よって、 です。 なので、行列になんの処理もない確率は上記のようになります。 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 18
Slide 19
Slide 19 text
平均待ち行列長 リクエストが処理を待っているときの行列の平均の長さ 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 19
Slide 20
Slide 20 text
平均待ち行列長 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 20
Slide 21
Slide 21 text
平均待ち行列長 もともと であったので、 待ち です。これで「待ち」が発生する確率を表すことができ、それゆえ、 を「待 ち」の長さとみなすことができます。 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 21
Slide 22
Slide 22 text
平均待ち時間 cf. は単位時間あたりの平均的な負荷の量 平均待ち時間が なので、待ち時間が 以下である確率は 待ち行列理論で考えるGKEの最適なポッド数 Inuverse/エンジニアたちのゆるっと数学勉強会 #10@2025-09-30, 福岡市天神エンジニアカフェ 22