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.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
180
いまこそNewSQLを使ってみよう
makocchi
0
1.8k
Argo Workflowsコトハジメ
makocchi
0
490
クラウドネイティブなDBを使ってみよう!Kubernetes で TiDB を構築・運用する際のポイントを紹介 / how to use tidb with kubernetes
makocchi
2
5.4k
使いこなせ!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
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
3
560
アジャイルな経理と Claude Code と経営の未来
kawaguti
PRO
3
190
技術・能力を向上する原理原則 #きのこセッションa #きのこ2026
bash0c7
0
120
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.8k
從開發到部署全都交給 AI:實作 AI 驅動的自動化流程
appleboy
0
160
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
200
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
120
コミットの「なぜ」を読む
ota1022
0
120
フィジカル版Github Onshapeの紹介
shiba_8ro
0
320
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
180
AI-DLCを “そのまま導入しなかった”話 ~組織に合わせてアジャストした 私たちの実践共有~
hiroramos4
PRO
1
420
Claude Codeをどのように キャッチアップしているか
oikon48
13
8.8k
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
GitHub's CSS Performance
jonrohan
1033
470k
Producing Creativity
orderedlist
PRO
348
40k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Site-Speed That Sticks
csswizardry
13
1.2k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
KATA
mclloyd
PRO
35
15k
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 ご清聴ありがとうございました!