Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
YS
Uploaded by
Yuta Shimada
PDF, PPTX
4,258 views
コンテナにおけるパフォーマンス調査でハマった話
CloudNative Days Spring 2021 ONLINE の登壇スライドになります 2021/3/12 17:55~18:15 Track-A
Technology
◦
Related topics:
Cloud Computing Insights
•
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 25
2
/ 25
3
/ 25
Most read
4
/ 25
5
/ 25
6
/ 25
7
/ 25
8
/ 25
9
/ 25
10
/ 25
11
/ 25
12
/ 25
13
/ 25
14
/ 25
15
/ 25
16
/ 25
17
/ 25
18
/ 25
19
/ 25
Most read
20
/ 25
21
/ 25
22
/ 25
Most read
23
/ 25
24
/ 25
25
/ 25
More Related Content
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PPTX
Dockerからcontainerdへの移行
by
Akihiro Suda
PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
PDF
マルチテナントのアプリケーション実装〜実践編〜
by
Yoshiki Nakagawa
PDF
[GKE & Spanner 勉強会] GKE 入門
by
Google Cloud Platform - Japan
PDF
マイクロサービス 4つの分割アプローチ
by
増田 亨
PPTX
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
PDF
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
Dockerからcontainerdへの移行
by
Akihiro Suda
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
マルチテナントのアプリケーション実装〜実践編〜
by
Yoshiki Nakagawa
[GKE & Spanner 勉強会] GKE 入門
by
Google Cloud Platform - Japan
マイクロサービス 4つの分割アプローチ
by
増田 亨
OpenStackで始めるクラウド環境構築入門
by
VirtualTech Japan Inc.
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
What's hot
PPTX
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
PDF
データセンターネットワークの構成について
by
MicroAd, Inc.(Engineer)
PDF
DockerとPodmanの比較
by
Akihiro Suda
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PDF
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
by
whywaita
PDF
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
PDF
Mavenの真実とウソ
by
Yoshitaka Kawashima
PDF
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
PPTX
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
PPTX
NGINXをBFF (Backend for Frontend)として利用した話
by
Hitachi, Ltd. OSS Solution Center.
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PPT
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
PPTX
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
by
VirtualTech Japan Inc.
PPTX
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
PDF
Akkaとは。アクターモデル とは。
by
Kenjiro Kubota
分散トレーシングAWS:X-Rayとの上手い付き合い方
by
Recruit Lifestyle Co., Ltd.
Dockerからcontainerdへの移行
by
Kohei Tokunaga
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
by
Trainocate Japan, Ltd.
データセンターネットワークの構成について
by
MicroAd, Inc.(Engineer)
DockerとPodmanの比較
by
Akihiro Suda
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
by
whywaita
Fluentdのお勧めシステム構成パターン
by
Kentaro Yoshida
Mavenの真実とウソ
by
Yoshitaka Kawashima
Dockerfileを改善するためのBest Practice 2019年版
by
Masahito Zembutsu
BuildKitによる高速でセキュアなイメージビルド
by
Akihiro Suda
NGINXをBFF (Backend for Frontend)として利用した話
by
Hitachi, Ltd. OSS Solution Center.
Docker Compose 徹底解説
by
Masahito Zembutsu
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
Cassandraのしくみ データの読み書き編
by
Yuki Morishita
コンテナネットワーキング(CNI)最前線
by
Motonori Shindo
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
by
VirtualTech Japan Inc.
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
Akkaとは。アクターモデル とは。
by
Kenjiro Kubota
Similar to コンテナにおけるパフォーマンス調査でハマった話
PDF
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
PDF
負荷試験入門公開資料 201611
by
樽八 仲川
PDF
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
by
JustSystems Corporation
PDF
コンテナ時代にインフラエンジニアは何をするのか
by
gree_tech
PDF
『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤
by
Recruit Lifestyle Co., Ltd.
PDF
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
by
Hadoop / Spark Conference Japan
PDF
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
by
Developers Summit
PDF
cassandra 100 node cluster admin operation
by
oranie Narut
PDF
NGINX & OpenShift webinar for Energy Sector
by
NGINX, Inc.
PDF
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
by
Hiroshi Toda
PPTX
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
by
Takahiro Moteki
PDF
コンテナ導入概要資料2018
by
Masahito Zembutsu
PDF
Cloudera Manager4.0とNameNode-HAセミナー資料
by
Cloudera Japan
PDF
Using docker infrastructure
by
Junya Niwa
PPTX
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
PPTX
KubeCon EU報告(ランタイム関連,イメージ関連)
by
Akihiro Suda
PDF
Acm2.1 short public
by
Yuhki Hanada
PDF
【HinemosWorld2014】A1-5_01_大企業のシステム基盤として利用されるAWSの運用監視の重要性を考える
by
Hinemos
PDF
Scalable and Cost Effective Systems Architecture on AWS
by
Eiji Shinohara
PDF
Distributed data stores in Hadoop ecosystem
by
NTT DATA OSS Professional Services
ゲームのインフラをAwsで実戦tips全て見せます
by
infinite_loop
負荷試験入門公開資料 201611
by
樽八 仲川
Spring Boot の Web アプリケーションを Docker に載せて AWS ECS で動かしている話
by
JustSystems Corporation
コンテナ時代にインフラエンジニアは何をするのか
by
gree_tech
『じゃらん』『ホットペッパーグルメ』を支えるクラウド・データ基盤
by
Recruit Lifestyle Co., Ltd.
マルチテナント Hadoop クラスタのためのモニタリング Best Practice
by
Hadoop / Spark Conference Japan
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
by
Developers Summit
cassandra 100 node cluster admin operation
by
oranie Narut
NGINX & OpenShift webinar for Energy Sector
by
NGINX, Inc.
とある社内ビックデータ基盤にバッチ用コンテナ基盤を構築してみた
by
Hiroshi Toda
[CWT2017]Infrastructure as Codeを活用したF.O.Xのクラウドビッグデータ環境の変化
by
Takahiro Moteki
コンテナ導入概要資料2018
by
Masahito Zembutsu
Cloudera Manager4.0とNameNode-HAセミナー資料
by
Cloudera Japan
Using docker infrastructure
by
Junya Niwa
作られては消えていく泡のように儚いクラスタの運用話
by
Tsuyoshi Torii
KubeCon EU報告(ランタイム関連,イメージ関連)
by
Akihiro Suda
Acm2.1 short public
by
Yuhki Hanada
【HinemosWorld2014】A1-5_01_大企業のシステム基盤として利用されるAWSの運用監視の重要性を考える
by
Hinemos
Scalable and Cost Effective Systems Architecture on AWS
by
Eiji Shinohara
Distributed data stores in Hadoop ecosystem
by
NTT DATA OSS Professional Services
コンテナにおけるパフォーマンス調査でハマった話
1.
コンテナにおけるパフォーマンス調 査でハマった話 TDCソフト株式会社 島田雄太 - Container’s monitoring
is hard way -
2.
発表者について 名前: 島田 雄太 (@yuta1979) 所属:TDCソフト株式会社 ITアーキテクト 最近の業務経歴:AWS構築支援、顧客業務システムのCI/CD環境構築・運用 資格:PMP、AWSソリューションアーキテクト
アソシエイト 好きなAWSサービス:Route53・CLI 最近の楽しみ:子供と過ごす時間 2
3.
本日の発表について - コンテナのメトリクス収集に苦労した話 以下は触れません - Saas型のモニタリングサービスについて(ex
Datadog,Mackerel) - デプロイ周りの話 - コンテナ入門について(特徴のみ説明) 3
4.
コンテナの特徴 - コンテナはホストOS上の独立したアプリケーションの実行環 境 - コンテナランタイムによって作成された、ホスト OSのリソース を隔離・制限したプロセス -
コンテナをイメージ化することで、開発、ステージ、本番環境 での差異を解消(設定値は環境変数で割当可能 ) 4
5.
コンテナを導入している現場で 実際にあった話 5
6.
背景:STG環境で負荷試験を実施 コンテナ上でリソースの見え方ってそもそもどうなっているんだっけ?? - 複数のコンテナ(実際にはk8sのpod)にアプリケーションをデプロイ - リリース前に負荷試験を行ったら、メモリの張り付きが発生した 6
7.
Step1:とりあえず調べてみた 7
8.
簡単に調べるなら? オンプレ時代から使っているLinuxのコマンドを利用 - メモリ: free
コマンドで使用量を確認 - CPU:psコマンドでプロセスで利用しているCPU利用率を確認 <環境について> AWS: t2.medium (2vCPU / 4GiB Memory) OS: Amazon Linux 2 →左図のような構成を用意 コンテナA コンテナB EC2インスタンス CentOS 7-1 CentOS 7-2 8
9.
2台のコンテナを起動 コンテナの起動コマンド (docker run
--name “コンテナ名” -it -d イメージ名) 2台のコンテナが起動していることを確認 (docker ps -a) 9
10.
メモリ調査(free) ホスト コンテナ ホストと同じ値 ここの値は正確か? 10
11.
メモリ調査(free) コンテナ上でfreeコマンドを使った考察 - freeコマンドは、ホストの/proc/meminfoの値を見ている可能性が高い - ホストのメモリと同値のため、実際にコンテナで利用可能な値を示していない可 能性が高い ホストの割り当てメモリ 11
12.
CPU調査(ps) stressコマンドを使って1つのコンテナで負荷をかけた後、psコマンドで確認 CPUの値が上昇 別のコンテナに影響なし # stress -c
1 -q & 12
13.
CPU調査(ps) コンテナ上でpsコマンドを使った考察 コンテナはそれぞれ名前空間(PID)を分けて起動していることから、psコマンド を利用することでコンテナ毎のCPU使用率を取得することが出来た 名前空間:実行中のプロセスに対する隔離を提供し、システムリソースに対する アクセスを制限する 13
14.
Step2:コンテナのメトリクスについて 深掘りする 14
15.
コンテナのメトリクスについて コンテナはアクセス可能なシステムのリソース(CPUやメモリなど)を厳密に制限 するために、Linuxカーネルの機能であるcgroupを利用する cgroup:タスクをグループ化したり、グループ内のタスクに様々なリソース制御 を行う仕組み。先程の名前空間はホスト名やPIDなどのリソースを制御する。 cgroupはCPUやメモリなどの物理的なリソースを制御する。 15
16.
リソースの制御について 実際に起動するコンテナのメモリ上限値を100Mしてみる cgroupの“memory.limits_in_bytes”で100MBと表示される ホストからdocker statsコマンドでもLIMITの設定が有効であることを確認 kaka 16
17.
負荷をかけてみる 再度stressコマンドで64MBの負荷をかけ、psコマンドで確認する RSS(物理メモリ)合計値:2,784+3,020+856+66,176+3,460=76,296KB≒74.5MB ホストからdocker stats コマンドのMEM
USAGEを確認する 66.72MiB メモリに関する値が上昇 # stress -m 1 --vm-bytes 64M --vm-hang 0 & 17
18.
負荷をかけてみる 厳密にイコールにならないと推測するが、差分がそれなりにある?? cgroupの”memory.usage_in_bytes”の値も確認する memory.usage_in_bytesの値:77,041,664byte≒73.47MB 18
19.
公式ドキュメントを確認する Linuxでは、Docker CLIは合計メモリ使用量からページキャッシュ使用量を差し引いてメモリ使用量を報告します。 APIはこのような 計算を実行せず、クライアントが必要に応じてデータを使用できるように、合計メモリ使用量とページキャッシュからの量を提供しま す。 https://docs.docker.com/engine/reference/commandline/stats/ Linuxでは、Docker CLIは合計メモリ使用量からページキャッシュ使用量を差し引いてメモリ使用量を 報告します。APIはこのような計算を実行せず、クライアントが必要に応じてデータを使用できるように、 合計メモリ使用量とページキャッシュからの量を提供します。 https://docs.docker.com/engine/reference/commandline/stats/ →docker
statsコマンドではページキャッシュが含まれていない usage_in_bytes:他のカーネルコンポーネントと同様に、メモリcgroupは、最適化を使用して不 要なキャッシュラインの誤った共有を回避します。 usage_in_bytesはメソッドの影響を受け、メモ リ(およびスワップ)使用の「正確な」値を表示しません。効率的なアクセスのためのファズ値です。 (もちろん、必要な場合は同期されます。)より正確なメモリ使用量を知りたい場合は、 memory.statのRSS + CACHE(+ SWAP)値を使用する必要があります(5.2を参照)。 https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt →memory.statはRSS+ページキャッシュの合計値を利用する 19
20.
参考: memory.statの値 rss+cache=74,907,648≒71.43MB 20
21.
考察 - CPUはpsやdocker statsコマンドで使用率をみることができた (cpu 測定時のdocker
statsコマンドについては割愛) - メモリは用途に応じてpsやdocker stats / cgroup を使い分ける (freeでは求める結果は得られない) - リソースの値は絶えず変化するため、横串でみるのは少し難しい(測定 するときは軸を決めましょう) docker stats: 実メモリの利用率を確認 cgroup.memory.stat:キャッシュを含めたメモリ利用量を確認 21
22.
Appendix 補足事項 - 本番環境ではSaas型のモニタリングサービスの利用がオススメ (GUIを提供/ドキュメントやライブラリが充実) - 次はk8sのリソース制御についても同様にまとめて発表したい! 22
23.
Appendix 謝辞 今回のコンテンツを作成するにあたり、案件で参画しているチームの方とディスカッ ションをさせていただいたことで整理することが出来ました。 本当にありがとうございました!! 23
24.
Appendix 参考にさせていただいたサイト Docker公式: - https://docs.docker.com/engine/reference/commandline/stats/ - https://docs.docker.com/config/containers/runmetrics/#metrics-from-cgroups-memory-cpu-block-io -
http://docs.docker.jp/engine/articles/runmetrics.html メモリについて: - https://qiita.com/kunihirotanaka/items/70d43d48757aea79de2d cgroup について: - https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt - https://www.itbook.info/network/docker06.html - https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/resource_management_guide/ch01 24
25.
ご清聴ありがとうございました! 25
Download