待ち行列ネットワークとボトルネック

このページの目次

要求はキャッシュ、アプリ、データベースを順に訪れ、戻ったり複数の子要求へ分岐したりします。待ち行列ネットワークは、外部要求数を各資源が処理する仕事量へ変換します。

待ちを求める前に流量を解く

ノード への外部到着率を 、ノード の完了後に へ進む確率を とすると、定常流量保存は:

これは経路の記帳で、各ノードのM/M/1分布を保証しません。開放Jacksonネットワークには、独立な外部Poisson到着、指数処理、適切に独立な無記憶経路、無限待機容量、各ノードの安定負荷などが必要です。内部過程も無条件に独立標本とは扱えません。

鍵はJacksonの定常積形式です。本章の単一窓口ノードでは:

同じ定常時刻の各ノード占有数の独立性であり、経路上の待ち時間の独立性ではありません。戻りがあると内部到着はPoissonでなくてもよく、この周辺分布から平均占有とネットワーク平均時間を求められます。条件と区別は MITのJackson網講義を参照してください。

戻りのある2ノードネットワーク外部到着 λ₀ノード1:μ₁ = 100/sノード2:μ₂ = 250/s1−pで退出、pで1へ戻る

実験ではノード1、2を通り、確率 で1へ戻り、残りは退出します。各業務の各ノード平均訪問数は 、内部流量はともに 。処理率は100/sと250/sで、安定には が必要です。

各ノード平均系内数を足し、ネットワークのLittleの法則を使って導けるため、一要求の経路上の遅延が独立である必要はありません。既定値 /s、 では 、内部各50/s、平均31.25 msです。

図を準備しています
待ち行列ネットワークとボトルネック · 実験

外部Poisson到着はノード1、2の順に進み、2から確率pで1へ戻ります。独立指数処理の単一窓口、μ₁=100/s、μ₂=250/s。ボトルネック以上では定常遅延を表示しません。

外部流量を固定して戻り確率を上げると、内部負荷が増えます。ボトルネック以上では定常条件が「いいえ」となり、平均時間は — です。有限の図から存在しない定常解を出しません。

サービス需要とボトルネック界

業務一件あたり資源 の平均サービス需要は 。単一容量資源の利用率は なので、必要なスループット上界は:

は占有処理だけで待機を含みません。応答時間を入れると混雑を固有仕事量と誤認します。交換可能な資源が 個なら にできますが、割当可能性と共有ボトルネックなしが前提です。上界は任意の遅延目標で到達できる性能の保証ではありません。

固定 ユーザー、平均思考時間 の閉鎖系では 。完了してから次を送るユーザーは応答が遅いと流入を減らします。外部予定で到着し続ける開放系とは違います。

ファンアウトと裾

子要求の全完了を待つと時間に が含まれます。子時間が独立同分布でCDFが の場合だけ、最大値のCDFは 。一子が閾値内に終わる確率0.99でも、独立な100子が全部終わる確率は です。

共通DB、ネットワーク、障害は依存を作るため、無条件に掛け算できません。直列段の平均は足せますが、各段p99の和は一般に全体p99ではありません。結合測定、適切な確率界、依存モデルが必要です。

確認問題

  1. 業務一件がDBを平均3回、各5 ms占有します。単一資源の上界はいくつですか。
考え方

s/件なので /s。待ち目標、別の資源、変動により実用流量はさらに低くなり得ます。

  1. 10ユーザー、 で平均応答が0.1 sから1 sになると閉鎖負荷試験はどう変わりますか。
考え方

定常式では100/sから10/sへ下がります。生成器も対象と一緒に遅くなったのであり、継続的な開放100/sに耐えた証拠ではありません。

続けて読む

CMUの性能講義は操作定律、開放・閉鎖系、ネットワークを扱います。分割と経路の実例は Kafkaアーキテクチャへ進めます。