SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
密かに話題のBufferbloat
Linux Network Schedulerの最適化

おおかわ かずひと
Kauli, Inc.
Bufferbloatとは
不適切なネットワークキューイングや、過剰なバッファにより、
レイテンシーが悪化、または不安定な状態
さらにレイテンシーの悪化、揺らぎにより、
TCPの輻輳制御の混乱を招き、スループットの低下も起こる
全部LinuxのNetwork Schedulerが悪いんや…
LinuxのNetwork SchedulerのデフォルトはFIFO
Queueing Discipline
in

out
S
K
B

IP Stack

ap

db

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

NIC
Buffler

S
K
B
極端な例で問題点を説明
なにも考えないで順番にキューイングしているだけ
優先度、効率等は考慮されない
Queueing Discipline
in

out
S
K
B

IP Stack

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

NIC
Buffler

Low Latency

ap
p

db

S
K
B
High
Latency

S
K
B
同時に起こるNICのバッファサイズの問題
NICのバッファが大きいと・・・
Ring Buffer
バッファが大きいほどロスが増加

in
Queue

S
K
B
High
Latency

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

Low Latency

S
K
B

S
K
B

out
S
K
B

NIC
遅いもの、大きいものは処理に時間がかかる
速いもの、小さいものはその逆
しかも、後者の方が優先度高めのケースが多数

VoIPとかDNSとか
近年議論が活発になり、対策が続々と登場
アクティブキューイング (かっこいい!)
FIFOを廃止し、キューイングをさまざまな方法で制御
代表的なもの
CoDel (Controlled Delay)
RTTやプロトコル等を考慮して必要に応じて割り込む
Queueing Discipline
in

out
S
K
B

IP Stack

S
K
B

S
K
B

S
K
B

S
K
B

S
K
B

NIC
Buffler

Low Latency

ap
p

db

S
K
B
High
Latency

S
K
B
キューの制限をする
TCP small queues
Byte Queue Limits
このあたりで力尽きたからオチ
カーネルとOSは新しいに越したことないですね。。。
おわり
フランちゃんウフフなインフラエンジニアかもしれないよ

Weitere ähnliche Inhalte

Was ist angesagt?

CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説Takateru Yamagishi
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル裕士 常田
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所Hiroaki Goto
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
ファイルシステム比較
ファイルシステム比較ファイルシステム比較
ファイルシステム比較NaoyaFukuda
 
電子工作のための電子回路基礎ー後編
電子工作のための電子回路基礎ー後編電子工作のための電子回路基礎ー後編
電子工作のための電子回路基礎ー後編fumi_maker
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwardingMasakazu Asama
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介OSSラボ株式会社
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたHiraku Toyooka
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築Tomocha Potter
 
普通の人でもわかる Paxos
普通の人でもわかる Paxos普通の人でもわかる Paxos
普通の人でもわかる Paxostyonekura
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選Tomoya Kawanishi
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Google Cloud Platform - Japan
 

Was ist angesagt? (20)

CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアルKiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
 
std::pin の勘所
std::pin の勘所std::pin の勘所
std::pin の勘所
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
ファイルシステム比較
ファイルシステム比較ファイルシステム比較
ファイルシステム比較
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
電子工作のための電子回路基礎ー後編
電子工作のための電子回路基礎ー後編電子工作のための電子回路基礎ー後編
電子工作のための電子回路基礎ー後編
 
Linux packet-forwarding
Linux packet-forwardingLinux packet-forwarding
Linux packet-forwarding
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介
 
mTCP使ってみた
mTCP使ってみたmTCP使ってみた
mTCP使ってみた
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
LinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみたLinuxのFull ticklessを試してみた
LinuxのFull ticklessを試してみた
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
普通の人でもわかる Paxos
普通の人でもわかる Paxos普通の人でもわかる Paxos
普通の人でもわかる Paxos
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
 

Andere mochten auch

netfilterを利用したDSP監視
netfilterを利用したDSP監視netfilterを利用したDSP監視
netfilterを利用したDSP監視Kazuhito Ohkawa
 
Nutanix@Open Source Conference 2015 Tokyo/Fall
Nutanix@Open Source Conference 2015 Tokyo/FallNutanix@Open Source Conference 2015 Tokyo/Fall
Nutanix@Open Source Conference 2015 Tokyo/FallSatoshi Shimazaki
 
AHVでみるCVM Autopathの仕組み
AHVでみるCVM Autopathの仕組みAHVでみるCVM Autopathの仕組み
AHVでみるCVM Autopathの仕組みKazuhito Ohkawa
 
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kazuhito Ohkawa
 
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形Satoshi Shimazaki
 
Nutanixを導入してみて思ったこと(仮)
Nutanixを導入してみて思ったこと(仮)Nutanixを導入してみて思ったこと(仮)
Nutanixを導入してみて思ったこと(仮)Kazuhito Ohkawa
 
VMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングVMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングKazuhito Ohkawa
 

Andere mochten auch (9)

netfilterを利用したDSP監視
netfilterを利用したDSP監視netfilterを利用したDSP監視
netfilterを利用したDSP監視
 
Nutanix@Open Source Conference 2015 Tokyo/Fall
Nutanix@Open Source Conference 2015 Tokyo/FallNutanix@Open Source Conference 2015 Tokyo/Fall
Nutanix@Open Source Conference 2015 Tokyo/Fall
 
AHVでみるCVM Autopathの仕組み
AHVでみるCVM Autopathの仕組みAHVでみるCVM Autopathの仕組み
AHVでみるCVM Autopathの仕組み
 
Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例Kauli SSPにおけるVyOSの導入事例
Kauli SSPにおけるVyOSの導入事例
 
Nutanixってナニ?
Nutanixってナニ?Nutanixってナニ?
Nutanixってナニ?
 
Nutanix 概要紹介
Nutanix 概要紹介Nutanix 概要紹介
Nutanix 概要紹介
 
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形
インフラエンジニアなら知っておきたい 仮想化環境とストレージの新しい形
 
Nutanixを導入してみて思ったこと(仮)
Nutanixを導入してみて思ったこと(仮)Nutanixを導入してみて思ったこと(仮)
Nutanixを導入してみて思ったこと(仮)
 
VMware ESXi トラブルシューティング
VMware ESXi トラブルシューティングVMware ESXi トラブルシューティング
VMware ESXi トラブルシューティング
 

密かに話題のBufferbloat