Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Docker_Meetup_Tokyo_23_gVisor_network_traffic_b...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
makocchi
May 15, 2018
Technology
6.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Docker_Meetup_Tokyo_23_gVisor_network_traffic_benchmark
makocchi
May 15, 2018
More Decks by makocchi
See All by makocchi
TiDBの始め方 〜今からでも遅くない分散SQL〜
makocchi
0
190
いまこそNewSQLを使ってみよう
makocchi
0
1.8k
Argo Workflowsコトハジメ
makocchi
0
490
クラウドネイティブなDBを使ってみよう!Kubernetes で TiDB を構築・運用する際のポイントを紹介 / how to use tidb with kubernetes
makocchi
2
5.5k
使いこなせ!Argo Workflows / How to use Argo Workflows
makocchi
6
20k
Kubernetes で TiDB を使ってみよう / TiDB on Kubernetes
makocchi
0
930
Kubernetes の Runtime Class について知ろう
makocchi
0
1.2k
GKE Autopilot Gatekeeper の Rego を眺めてみる
makocchi
2
1.2k
CRI についておさらいしよう
makocchi
3
1.6k
Other Decks in Technology
See All in Technology
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
240
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
13
6.1k
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
2
270
シンガポールで登壇してきます
yama3133
0
120
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.8k
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
2.7k
Claude Codeとハーネスについて考えてみる
oikon48
18
9.4k
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
4
2.9k
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
1
170
穢れた技術選定について
watany
4
420
生成AIの活用/high_school2026
okana2ki
0
130
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Chasing Engaging Ingredients in Design
codingconduct
0
230
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
The agentic SEO stack - context over prompts
schlessera
0
840
Unsuck your backbone
ammeep
672
58k
Raft: Consensus for Rubyists
vanstee
141
7.6k
GraphQLとの向き合い方2022年版
quramy
50
15k
Navigating Team Friction
lara
192
16k
Skip the Path - Find Your Career Trail
mkilby
1
160
The Language of Interfaces
destraynor
162
27k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
Docker Meetup Tokyo #23 / makocchi Docker Meetup Tokyo #23
LT: gVisor の Network Traffic の性能を比較してみた makocchi
Docker Meetup Tokyo #23 / makocchi about gVisor Google が公開した
OSS のコンテナ runtime Application 側の system call を gVisor が hook し、実行する (Host の Kernel には直接渡されな い) gVisor の中身は 「Sentry」と「Gofer」という 2 つの process に分かれている https://github.com/google/gvisor/blob/master/README.md
Docker Meetup Tokyo #23 / makocchi install gVisor gVisor の導入の仕方は簡単
・「bazel build runsc」で binary を作成することができる ・が、最近は nightly build で手に入るようになった https://storage.googleapis.com/gvisor/releases/nightly/latest/runsc ・Docker で動かす場合は runtime を追加してあげれば OK 追加したら run 時に --runtime=runsc で gVisor を使うことができる docker run --runtime=runsc hello-world
Docker Meetup Tokyo #23 / makocchi limitation of gVisor Docker
で動かすなら 17.09 以上が必要 まだ Pod の中に 1 つのコンテナしかサポートしていない まだ一部の system call (ioctl(FIOASYNC)) が動かない GCP 上では GAE の node.js と java8 で動いているらしい EXPERIM ENTAL
Docker Meetup Tokyo #23 / makocchi gVisor’s Network Performance Network
の性能を検証するにあたり・・・ ・iperf3 を使ってコンテナの中と外の通信トラフィックを計測 (今回はコンテナ同士のトラフィックではなく、コンテナと VM 間) ・比較のために VM 同士及び runc(docker-runc) も計測 (実は kata(cc)-runtime も検証したかったが、iperf3 が動かなかった)
Docker Meetup Tokyo #23 / makocchi gVisor’s Network Performance
Docker Meetup Tokyo #23 / makocchi gVisor’s Network Performance 通常の
gVisor(runsc) だとかなり Network 性能が落ちる ・これは Sentry が packet を処理するからそこがネックになっていると 思われる ・独自の network stack(user space) が実装されていて Host kernel とは隔離されている ・隔離性を犠牲にすれば --network=host を使うことで性能を出すことが可能
Docker Meetup Tokyo #23 / makocchi gVisor’s Network Performance
Docker Meetup Tokyo #23 / makocchi gVisor’s Network Performance 稼働させる時に
2 つの platform を指定することができる --platform=ptrace (default) ・アプリケーションの system call が SYSEMU で実行される ptrace() が実行できる環境であれば gVisor(runsc) を実行することができる --platform=kvm (experimental) ・仮想化支援(Intel-VT とか)を使うことができる ・kvm module が load されてないと実行できない
Docker Meetup Tokyo #23 / makocchi Wrap-up ・gVisor の性能は Sentry
の出来次第 ・Network はかなり性能が落ちるが、--network=host を設定することで ある程度はパフォーマンスを出すことができる ・実は Disk IO も計測したが、やはり他の runtime に比べると性能が劣る ・ptrace と kvm という2つの実行の仕方がある 仮想化支援を使える kvm の方が性能が出そうだが、検証した環境では ptrace の方が性能が良かった (まぁ platform=kvm はまだ experimental ) ・まだ完成度は低いので今後に期待
Docker Meetup Tokyo #23 / makocchi Docker Meetup Tokyo #23
LT: gVisor の Network Traffic の性能を比較してみた makocchi ご清聴ありがとうございました!