密かに話題のbufferbloat

Post on 24-May-2015

1.577 Views

Category:

Technology

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

Linux Network Schedulerの最適化

TRANSCRIPT

密かに話題のBufferbloat

Linux Network Schedulerの最適化

おおかわ かずひとKauli, Inc.

Bufferbloatとは

不適切なネットワークキューイングや、過剰なバッファにより、

レイテンシーが悪化、または不安定な状態

さらにレイテンシーの悪化、揺らぎにより、

TCPの輻輳制御の混乱を招き、スループットの低下も起こる

全部LinuxのNetwork Schedulerが悪いんや…

SKB

SKB

SKB

SKB

SKB

SKB

Queueing Discipline

NICBufflerIP Stack

ap db

in out

SKB

SKB

LinuxのNetwork SchedulerのデフォルトはFIFO

極端な例で問題点を説明

SKB

SKB

SKB

SKB

SKB

SKB

Queueing Discipline

NICBufflerIP Stack

app db

in out

SKB

SKB

なにも考えないで順番にキューイングしているだけ優先度、効率等は考慮されない

HighLatency

Low Latency

SKB

同時に起こるNICのバッファサイズの問題

SKB

SKB

SKB

SKB

SKB

SKB

SKB

SKB

SKB

Ring Buffer

Queue

in out

NICのバッファが大きいと・・・

HighLatency

NICSKB

バッファが大きいほどロスが増加

Low Latency

遅いもの、大きいものは処理に時間がかかる

速いもの、小さいものはその逆

しかも、後者の方が優先度高めのケースが多数

VoIPとかDNSとか

近年議論が活発になり、対策が続々と登場

アクティブキューイング (かっこいい!)

FIFOを廃止し、キューイングをさまざまな方法で制御

代表的なもの

CoDel (Controlled Delay)

SKB

SKB

SKB

SKB

SKB

SKB

Queueing Discipline

NICBufflerIP Stack

app db

in out

SKB

SKB

RTTやプロトコル等を考慮して必要に応じて割り込む

HighLatency

Low Latency

キューの制限をする

TCP small queues

Byte Queue Limits

このあたりで力尽きたからオチ

カーネルとOSは新しいに越したことないですね。。。

おわり

フランちゃんウフフなインフラエンジニアかもしれないよ

top related