52

分散システム

スケールの裾野

扇状展開では裾野のレイテンシが支配する。

条文

もし

多数の要素へ扇状に処理を広げるサービスでは、ノード単位の稀な遅延(GC 停止・競合・不良ディスク)がほぼ毎リクエストどこかのノードで発生する。ゆえに中央値が健全に見えても、裾野のレイテンシ(p99・p99.9)が体感を支配する。

ならば

平均ではなく p99/p99.9 で SLO を引け。すべてのノードを均一に速くしようとするより、ヘッジドリクエストやマイクロ分割といった裾野耐性の技法を導入せよ。

ただし

冗長化には代償があるヘッジドリクエストや連動リクエストは負荷を増やす。中央値が体感を決める場面で裾野を追うな

1リクエストが100枚の葉に扇状展開したとき、少なくとも1枚が遅い確率リクエスト遅い葉各葉は独立に1%の確率で遅い扇状展開P(1枚以上が遅い)1枚1%10枚10%100枚63%
100回に1回だけ遅い葉は、単体では見えない。それを100枚に扇状展開すると、同じ葉レベルの p99 が利用者の体感の中央値になる——63%のリクエストが遅れた1枚を待つ。スケールにおける裾野レイテンシは、ノード単体の性質ではなく、扇状展開の算術的な帰結である。

出典

Jeffrey Dean & Luiz André Barroso, The Tail at Scale (Communications of the ACM, 2013)。

原典へ

関連する条文