Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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.4k
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
hackers_champloo_2026_tidb
makocchi
0
180
TiDBの始め方 〜今からでも遅くない分散SQL〜
makocchi
0
240
いまこそNewSQLを使ってみよう
makocchi
0
1.9k
Argo Workflowsコトハジメ
makocchi
0
520
クラウドネイティブなDBを使ってみよう!Kubernetes で TiDB を構築・運用する際のポイントを紹介 / how to use tidb with kubernetes
makocchi
2
5.6k
使いこなせ!Argo Workflows / How to use Argo Workflows
makocchi
6
21k
Kubernetes で TiDB を使ってみよう / TiDB on Kubernetes
makocchi
0
990
Kubernetes の Runtime Class について知ろう
makocchi
0
1.2k
GKE Autopilot Gatekeeper の Rego を眺めてみる
makocchi
2
1.2k
Other Decks in Technology
See All in Technology
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
220
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
1
500
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
120
【Oracle AI SPOTLIGHT ウェビナー】事例から見る!なぜOCIが選ばれたのか ― AI時代のクラウド戦略を紐解く ―
oracle4engineer
PRO
1
130
How we choose session proposals
kawaguti
PRO
1
190
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
400
Vue.jsのGitHubから学ぶ意思決定
yut0naga1_fa
1
340
Don't write the architecture only in the prompt.
neohsu
0
240
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
120
Claude for Google Workspaces ポン出し/claude-for-google-workspace-slide-conversion
emiki
0
13k
AIで選択肢が広がった組織設計の理想と現実
konifar
15
6.8k
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
120
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
610
Between Models and Reality
mayunak
4
530
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
430
KATA
mclloyd
PRO
35
16k
Designing Powerful Visuals for Engaging Learning
tmiket
1
620
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Six Lessons from altMBA
skipperchong
29
4.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
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 ご清聴ありがとうございました!