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
makocchi
May 15, 2018
Technology
6.3k
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
220
いまこそNewSQLを使ってみよう
makocchi
0
1.8k
Argo Workflowsコトハジメ
makocchi
0
500
クラウドネイティブなDBを使ってみよう!Kubernetes で TiDB を構築・運用する際のポイントを紹介 / how to use tidb with kubernetes
makocchi
2
5.5k
使いこなせ!Argo Workflows / How to use Argo Workflows
makocchi
6
21k
Kubernetes で TiDB を使ってみよう / TiDB on Kubernetes
makocchi
0
970
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
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
3
3.5k
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
330
V8コントリビュート超入門
riyaamemiya
0
130
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
330
ブラウザアプリの継続的パフォーマンスモニタリング (序) / Continuous Browser Application Performance Monitoring; Act 1
moznion
0
100
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
280
AIエージェントの開発・提供におけるセキュリティリスクの論点と対策
flatt_security
1
530
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
0
200
KAEN Company Deck
kaen
PRO
0
290
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
790
AIエージェントを雇う前に決める5つのこと
knishioka
1
150
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
3
750
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Un-Boring Meetings
codingconduct
0
410
Ethics towards AI in product and experience design
skipperchong
2
360
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
490
What's in a price? How to price your products and services
michaelherold
247
13k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
The Invisible Side of Design
smashingmag
301
52k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Code Reviewing Like a Champion
maltzj
528
40k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
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 ご清聴ありがとうございました!