SlideShare une entreprise Scribd logo
1  sur  18
システムパフォーマンス
勉強会
#0
産業第1事業部
鈴木真吾
注意
• このスライドは勉強会後に SlideShare にアップロードする予
定です
• メーリングリストで告知予定
今回の内容
今回は勉強会のキックオフ回
• 勉強会について
• 勉強会の対象・目的・目標
• システムパフォーマンスについて
• システムパフォーマンスとは
• パフォーマンス分野の作業
• パフォーマンスエンジニアリングの難しさ
• 詳解システム・パフォーマンスについて
• 勉強会で扱う範囲
• 勉強会の進め方
勉強会について
今回はシステムパフォーマンスを題材にした勉強会です
• 対象
• パフォーマンスで困ったことがある人
• パフォーマンスを意識した設計・実装を行いたい人
• 低レイヤの基礎知識がほしい人
• 目的
• パフォーマンスを意識した設計・実装・アーキテクトの知識を得る
• 目標
• 詳解システム・パフォーマンスの基礎部分を一通り読む(予定)
パフォーマンスエンジニアリング
“Performance engineering encompasses the techniques applied during a systems
development life cycle to ensure the non-functional requirements for performance
(such as throughput, latency, or memory usage) will be met.”
(en.wikipedia.org から引用)
• パフォーマンスエンジニアリングとは開発のライフサイクルに
おいて性能に関する非機能要件を達成する技術・学問
• 特にシステム全体にかかわるときにシステムパフォーマンスエンジニ
アリング(systems performance engineering)という
システムパフォーマンスエンジニアリング
• 対象
• すべての物理コンポーネント、ソフトウェアスタックが対象
• パフォーマンスに影響するものは何でも!
• 誰が扱うか
• システム管理者、アプリケーションデベロッパなど
• 担当業務の一部として
• 場合によってはすべてのチームで協力する
• 企業によってはパフォーマンスエンジニアという職種がある
パフォーマンスエンジニアリングは難しい
• パフォーマンス問題は主観的になりがち
• システムは複雑
• 同時に複数のパフォーマンス問題
パフォーマンス問題は主観的になりがち
• パフォーマンスの問題は客観的な評価を下しずらい
• そもそも問題なのかどうか明確でない
• 問題だとしても修復されたかどうか明確でない
• 一人のユーザがパフォーマンスが「良い」と思っても、別のユーザは
「悪い」と思うことがある。
• モデルを作り目標を定義しよう
• 平均応答時間の目標
• 要求の一定割合が特定の範囲のレイテンシに収まる
• レイテンシ分析など⇒(本の2章「メソドロジ」で紹介)
システムは複雑
• 全体的なアプローチが必要になることが多い
• 切り離して分析するとパフォーマンスはよいのに結合すると問題が起
きる
• ボトルネックも複雑
• 予想外の形で連関しているかもしれない
• ひとつのボトルネックを修復しても、システム内のどこか別の場所に移動してい
るだけかも
• 本番環境の負荷の特性のために実験環境では再現しない問題
⇒本の6章から10章までシステムリソースごとの分析手法を紹介
同時に複数のパフォーマンス問題
• 複雑なシステムでは複数のパフォーマンス問題が同時に
• 本当の仕事は問題を見つけることではなく、もっとも重大な意
味を持つ問題を見つけること
• ⇒問題の大きさを定量化する必要がある
• レイテンシなどの指標を使う
詳解システム・パフォーマンス
• 著者 Brendan Gregg
• @brendangregg
• Sun Microsystems, Oracle etc
• 現在 Netflix でパフォーマンスアーキテクトとして活動中
• 2017/2 出版
• DTrace
• 動的トレーシングツール、書籍でも紹介
• 原著「Systems Performance: Enterprise and Cloud」
• 2013/10 出版
• 原著を買ってから一ヶ月後に日本語版が出るとアナウンスがあった
• 日本語版は amazon で★★★★☆
• 大体良著との評価
• 訳と構成について問題があり
詳解システム・パフォーマンスの対象
• OS
• Linux , Solaris
• 想定読者
• OS・アプリのパフォーマンスについて理解が必要な人
• 学生
本の目次
• 1 章 イントロダクション
• 2 章 メソドロジ
• 3 章 オペレーティングシステム
• 4 章 可観測性ツール
• 5 章 アプリケーション
• 6 章 CPU
• 7 章 メモリ
• 8 章 ファイルシステム
• 9 章 ディスク
• 10 章 ネットワーク
• 11 章 クラウドコンピューティング
• 12 章 ベンチマーキング
• 13 章 ケーススタディ
各章の構成
• 5章から11章 (CPU,メモリ,etc) は次のような構成
• 基礎知識
• 章が対象とするものの基礎知識・用語
• 基本となるモデル
• パフォーマンスに関する主要な概念
• アーキテクチャ
• 対象のアーキテクチャ
• メソドロジ
• 対象の観察・実験方法
• (応用) 分析
• ツールの使用方法・結果の確認方法など
• (応用) チューニング
• チューニング可能なパラメータの紹介
本でおすすめされているツール
以下のツール(特に systemtap)については勉強会の4章あたりの
際に詳しくやりたい
• DTrace
• 動的トレーシングツール
• 実行中のソフトウェアを止めずにあらゆる個所の経過時間を動的に計測
• Solaris 向けだが Linux 向けにも移植されている
• systemtap
• 動的トレーシングツール
• 機能は DTrace に似ている(設計方針が同じ)
• systemtap については使い方・データの読み方を紹介しておきたい
勉強会で扱う範囲
• 1章「イントロダクション」から11章「クラウドコンピューティン
グ」まで
• 1章から4章までは全体の基礎となる部分なのでこの順序で
• 5章以降は面白そうな部分から
• CPU,メモリ,ネットワーク,クラウドコンピューティングはやっておきたい
• ファイルシステム,ディスクはそれほどでもない (個人の意見)
• 基礎部分に重点を置きたい
• 基礎知識、アーキテクチャ、メソドロジ
• Solaris 部分はあまり触れない方向で
• 社内で触れる環境は用意できそうにない
• クラウドだと富士通が SPARC/Solaris クラウドを提供していた
• が、安く使えそうな感じではないのでパス
勉強会の進め方
• 2 週間ごとに 1 回
• 1 回あたり 45 分まで
• それ以上は疲れる
• しばらくは shingo-s がプレゼン
• 希望があればだれかやってもらえばいい
• どこでやるか?
• 参加者に依存する
まとめ
• パフォーマンスエンジニアリングは難しい
• 広範囲の知識が必要
• 詳解システムパフォーマンスは良著なので勉強会にかかわらず
読もう

Contenu connexe

Similaire à システムパフォーマンス勉強会 #0

Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development OveviewShinya Yanagihara
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することyuichi_kuwahara
 
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】Tomoharu ASAMI
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】Tomoharu ASAMI
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門Kiro Harada
 
プレゼンテーション講義スライド
プレゼンテーション講義スライドプレゼンテーション講義スライド
プレゼンテーション講義スライドTokai University
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCYusuke Suzuki
 
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティスDOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティスdecode2016
 
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜SFDG ROOKIES
 
大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015Itsuki Sakitsu
 
SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践Takashi Makino
 
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンテスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンyuichi_kuwahara
 
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンテスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンyuichi_kuwahara
 
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~日本マイクロソフト株式会社
 
プレゼンテーション講義スライド
プレゼンテーション講義スライドプレゼンテーション講義スライド
プレゼンテーション講義スライドTokai University
 
20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptx20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptxQlikPresalesJapan
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?Atsushi Fukui
 

Similaire à システムパフォーマンス勉強会 #0 (20)

Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development Oveview
 
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決することテスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
 
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
要求 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第12回】
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
設計/アーキテクチャ設計 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第19回】
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
 
プレゼンテーション講義スライド
プレゼンテーション講義スライドプレゼンテーション講義スライド
プレゼンテーション講義スライド
 
クラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCCクラウドを超えた先の企業システム像 20091008 JJUG CCC
クラウドを超えた先の企業システム像 20091008 JJUG CCC
 
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティスDOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
 
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
幅広い技術力が身につくSalesforceエンジニアのススメ〜入門編〜
 
大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015大規模スクラムの失敗から学んだこと #AgileJapan2015
大規模スクラムの失敗から学んだこと #AgileJapan2015
 
SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践SIerにおくる、アジャイルプロセスの実践
SIerにおくる、アジャイルプロセスの実践
 
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンテスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
 
テスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオンテスト駆動&オブジェクト指向ハンズオン
テスト駆動&オブジェクト指向ハンズオン
 
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
【de:code 2020】 今日から始めたくなる Power Platform 入門編 ~デモで分かるローコード開発の無限の可能性~
 
プレゼンテーション講義スライド
プレゼンテーション講義スライドプレゼンテーション講義スライド
プレゼンテーション講義スライド
 
20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptx20240213_TechTalk_TalendStudio.pptx
20240213_TechTalk_TalendStudio.pptx
 
WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
 
13_B_5 Who is a architect?
13_B_5 Who is a architect?13_B_5 Who is a architect?
13_B_5 Who is a architect?
 

Plus de shingo suzuki

システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8shingo suzuki
 
システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6shingo suzuki
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5shingo suzuki
 
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5shingo suzuki
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4shingo suzuki
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4shingo suzuki
 
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1shingo suzuki
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5shingo suzuki
 
社内 DDD 勉強会 #4
社内 DDD 勉強会 #4社内 DDD 勉強会 #4
社内 DDD 勉強会 #4shingo suzuki
 
社内 DDD 勉強会 #3
社内 DDD 勉強会 #3社内 DDD 勉強会 #3
社内 DDD 勉強会 #3shingo suzuki
 
Google I/O 2016 報告会
Google I/O 2016 報告会Google I/O 2016 報告会
Google I/O 2016 報告会shingo suzuki
 
社内 DDD 勉強会 #2
社内 DDD 勉強会 #2社内 DDD 勉強会 #2
社内 DDD 勉強会 #2shingo suzuki
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回shingo suzuki
 

Plus de shingo suzuki (14)

システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8システムパフォーマンス勉強会#8
システムパフォーマンス勉強会#8
 
システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6システムパフォーマンス勉強会#6
システムパフォーマンス勉強会#6
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5
 
システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5システムパフォーマンス勉強会#5
システムパフォーマンス勉強会#5
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4システムパフォーマンス勉強会#4
システムパフォーマンス勉強会#4
 
システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1システムパフォーマンス勉強会#1
システムパフォーマンス勉強会#1
 
社内 DDD 勉強会 #5
社内 DDD 勉強会 #5社内 DDD 勉強会 #5
社内 DDD 勉強会 #5
 
社内 DDD 勉強会 #4
社内 DDD 勉強会 #4社内 DDD 勉強会 #4
社内 DDD 勉強会 #4
 
社内 DDD 勉強会 #3
社内 DDD 勉強会 #3社内 DDD 勉強会 #3
社内 DDD 勉強会 #3
 
Google I/O 2016 報告会
Google I/O 2016 報告会Google I/O 2016 報告会
Google I/O 2016 報告会
 
社内 DDD 勉強会 #2
社内 DDD 勉強会 #2社内 DDD 勉強会 #2
社内 DDD 勉強会 #2
 
社内 DDD 勉強会第1回
社内 DDD 勉強会第1回社内 DDD 勉強会第1回
社内 DDD 勉強会第1回
 
SPIN で
SPIN でSPIN で
SPIN で
 

システムパフォーマンス勉強会 #0