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
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
710
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
790
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.4k
制約理論(ToC)入門 2026版
recruitengineers
PRO
8
2.2k
猫付きpingコマンドを自作
uyuki234
0
200
モバイルアプリ開発概論2026
recruitengineers
PRO
5
560
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
720
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
250
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
280
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
240
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Making the Leap to Tech Lead
cromwellryan
135
10k
Scaling GitHub
holman
464
140k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
We Are The Robots
honzajavorek
0
300
Automating Front-end Workflow
addyosmani
1369
210k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
GraphQLとの向き合い方2022年版
quramy
50
15k
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.