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
Performance Evaluation of Docker
Search
nasunom
July 04, 2014
Technology
7.8k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Performance Evaluation of Docker
Docker Meetup Tokyo #3
nasunom
July 04, 2014
Other Decks in Technology
See All in Technology
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
110
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
3
340
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
4
1.5k
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
430
壊して学ぶAWS CDK: そのcdk deployで消えるもの、残るもの
k_adachi_01
1
440
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
460
AIレビューはどこまで任せられるのか?自動化と人が背負うレビューの境界
sansantech
PRO
3
1.2k
データエンジニアリングとドメイン駆動設計
masuda220
PRO
10
1.7k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AICoEでAIネイティブ組織への進化
yukiogawa
0
210
そのドキュメント、自動化しませんか?
yuksew
1
360
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Designing for Performance
lara
611
70k
Designing for Timeless Needs
cassininazir
1
380
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Rails Girls Zürich Keynote
gr2m
96
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Product Roadmaps are Hard
iamctodd
55
12k
Google's AI Overviews - The New Search
badams
0
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Thoughts on Productivity
jonyablonski
76
5.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
Transcript
Copyright 2014 ASCADE, Inc. Performance Evaluation of Docker 那須野 淳
ASCADE, Inc. Docker Meetup Tokyo #3 2014-07-04
Copyright 2014 ASCADE, Inc. 自己紹介 名前: 那須野 淳
[email protected]
職場:
株式会社アスケイド 経緯: 国立情報学研究所(NII) 横山教授らが進める 「アカデミックインタークラウド」実現に 向けたプロジェクトに係わり、技術検証・ プロトタイプ開発を行っています。 Dockerはクラウド基盤連携のための主要な 要素技術の一つ。 基礎性能数値を把握し、アプリケーションの 性能予測に役立てることが目的。 2
Copyright 2014 ASCADE, Inc. 性能測定の観点 Docker のオーバーヘッド測定 • 物理サーバ(ベアメタルマシン)を
そのまま使う場合と比べて、遅くなるのか? • VM上に配備した場合はどうか? • その他 − コンテナ / daemon オプション (-c, -m, -v, --privileged, -s, ...) − 並列コンテナのスケーラビリティ − 入れ子構造 "Docker-in-Docker" − 仮想ネットワーク機能 (Linux bridge + vEth + NAT) VM方式との性能比較 • 仮想化方式として、VM(Hypervisor) と Docker どちらを選択したらよいか? 3
Copyright 2014 ASCADE, Inc. 測定環境・ベンチマークツール ハードウェア・スペック ソフトウェア 4 OS Ubuntu
13.10 (64bit) Kernel 3.11.0-19-generic Docker 0.10.0 OpenStack 2013.2 (Havana) UnixBench 5.1.3 Bonnie++ 1.97.1 Intel Xeon E5-2670 2.60GHz 32cpu (2socket x 8core x 2thread) RAM 96 GB
Copyright 2014 ASCADE, Inc. UnixBenchスコア (on Baremetal) 5 16並列の場合、 ・Execl
Throughput ・Shell Scripts の劣化が目立つ。 AUFS 管理下の /lib/* 共有ライブラリへの Read Overhead が 大きく影響する。
Copyright 2014 ASCADE, Inc. Storage Driver を Device Mapperへ 6
・Execl Throughput ・Shell Scripts の性能は大幅に改善
Copyright 2014 ASCADE, Inc. Storage Driver の指定方法 Docker daemon 起動オプション:
-s devicemapper または /etc/default/docker.io に書く(※ubuntuの場合) DOCKER_OPTS="-s devicemapper" docker info コマンドで確認 7 変更すると、既存の イメージは管理位置が 変わり、docker images コマンドで見えなく なります。 ~# docker info Containers: 1 Images: 39 Storage Driver: devicemapper Pool Name: docker-8:5-61931522-pool Data file: /mnt/docker/devicemapper/devicemapper/data Metadata file: /mnt/docker/devicemapper/devicemapper/metadata Data Space Used: 3274.9 Mb Data Space Total: 102400.0 Mb Metadata Space Used: 4.3 Mb Metadata Space Total: 2048.0 Mb Execution Driver: native-0.1
Copyright 2014 ASCADE, Inc. 指定しない場合の優先順位は? (docker-1.0.1) daemon/graphdriver/driver.go 8 v1.1.0 で変更されていない
ことを確認済み。
Copyright 2014 ASCADE, Inc. UnixBenchスコア (on VM) 9 on Baremetal
の場合と ほぼ同様の傾向を示す。 (-s devicemapper) (OpenStack / KVM のVMインスタンスで計測)
Copyright 2014 ASCADE, Inc. ファイル I/O 性能 (AUFS) 10 Bonnie++による
5回計測の平均値で比較 Block I/O size=4GB files=128*1024 dirs=128 AUFS 領域の read 性能劣化 が著しい。 -v オプションで ホスト側を共有
Copyright 2014 ASCADE, Inc. ファイル I/O 性能 (Device Mapper) 11
Device Mapper により read 性能を維持できる
Copyright 2014 ASCADE, Inc. 仮想化方式(VM / Docker) の比較 12 (-s
devicemapper) 一般的な VM / Baremetal 比較結果と同じような傾向 となった。ただし… Context Switching を除いて。 Context Switching: ⇒今回の環境では Baremetal側 のスケジューラの問題により、 Rescheduling Interrupts がVMと 比べ大量に発生したことが原因。 CPU割当(cpu affinity) を固定 するとBaremetalの方が 予想通り速い結果に。
Copyright 2014 ASCADE, Inc. まとめ • Docker のオーバーヘッドは、Linux環境で動作する 一般的なアプリケーションの処理ならば、Baremetal マシンやVMをそのまま使う場合と変わらないレベル。
• AUFS 領域への読み込み性能は極端に低下する場合 があり、用途によっては AUFS以外の Storage Driver (devicemapper など) を選択するほうがよい。 • (補) Dockerの標準ネットワーク設定では、NATルータを経由しても レイテンシー、スループットともに大きな差異は見られなかった。 ⇒ Host Networking機能のパフォーマンス的なメリットは少ないか? 13
Copyright 2014 ASCADE, Inc. 14 Thanks.