Soumettre la recherche
Mettre en ligne
コンテナにおけるパフォーマンス調査でハマった話
•
1 j'aime
•
2,950 vues
Y
Yuta Shimada
Suivre
CloudNative Days Spring 2021 ONLINE の登壇スライドになります 2021/3/12 17:55~18:15 Track-A
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 25
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
Recommandé
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
NTT DATA Technology & Innovation
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
BuildKitの概要と最近の機能
BuildKitの概要と最近の機能
Kohei Tokunaga
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢
JiraとConfluenceのTips集
JiraとConfluenceのTips集
Hiroshi Ohnuki
Contenu connexe
Tendances
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Kumazaki Hiroki
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
Ryuji Tsutsui
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
Hitachi, Ltd. OSS Solution Center.
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
Yoshiyasu SAEKI
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Hibino Hisashi
Tendances
(20)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
TLS, HTTP/2演習
TLS, HTTP/2演習
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
分散システムについて語らせてくれ
分散システムについて語らせてくれ
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Docker Compose 徹底解説
Docker Compose 徹底解説
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
Similaire à コンテナにおけるパフォーマンス調査でハマった話
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢
JiraとConfluenceのTips集
JiraとConfluenceのTips集
Hiroshi Ohnuki
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
Dai Utsui
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
Yasuhiro Matsuo
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
Amazon Web Services Japan
BPStudy20121221
BPStudy20121221
Shinichiro Takezaki
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-mart
Akihiro Sei
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
オラクルエンジニア通信
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
Hinemos
AWS Summit Tokyo 2014_NTTデータセッション(前半:InfrastructureAsCode/ImmutableInfrastruc...
AWS Summit Tokyo 2014_NTTデータセッション(前半:InfrastructureAsCode/ImmutableInfrastruc...
Hinemos
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
Takekazu Omi
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
Insight Technology, Inc.
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
griddb
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
TAKUYA OHTA
20180630 interact2018 rev1
20180630 interact2018 rev1
Takano Masaru
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
NTT Communications Technology Development
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
samemoon
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
Movable typeseminar 20120925
Movable typeseminar 20120925
Six Apart
Quantastor Solution plan
Quantastor Solution plan
Toshimi Kawabata
Similaire à コンテナにおけるパフォーマンス調査でハマった話
(20)
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
JiraとConfluenceのTips集
JiraとConfluenceのTips集
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
JAWS目黒 EC2チューニングTips #jawsmeguro #jawsug
AWS Black Belt Techシリーズ Amazon ElastiCache
AWS Black Belt Techシリーズ Amazon ElastiCache
BPStudy20121221
BPStudy20121221
Cassandra Summit Tokyo 2015 - intra-mart
Cassandra Summit Tokyo 2015 - intra-mart
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
しばちょう先生が語る!オラクルデータベースの進化の歴史と最新技術動向#2
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
【HinemosWorld2015】A1-3_コンテナ技術Dockerの導入事例と完全運用自動化
AWS Summit Tokyo 2014_NTTデータセッション(前半:InfrastructureAsCode/ImmutableInfrastruc...
AWS Summit Tokyo 2014_NTTデータセッション(前半:InfrastructureAsCode/ImmutableInfrastruc...
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
クラウドデザイン パターンに見るクラウドファーストなアプリケーション設計 Data Management編
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
C14 Greenplum Database Technology - Large Scale-out and Next generation Analy...
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
オープンソースのIoT向けスケールアウト型データベース GridDB 〜性能ベンチマーク結果とOSSを利用したビッグデータ分析環境〜
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
IT エンジニアのための 流し読み Windows 10 - Windows のネットワーク最適化機能
20180630 interact2018 rev1
20180630 interact2018 rev1
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
20130714 July Tech Festa 日本CloudStackユーザー会
20130714 July Tech Festa 日本CloudStackユーザー会
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
Movable typeseminar 20120925
Movable typeseminar 20120925
Quantastor Solution plan
Quantastor Solution plan
Dernier
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
Dernier
(8)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
コンテナにおけるパフォーマンス調査でハマった話
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
Télécharger maintenant