SlideShare a Scribd company logo
1 of 27
ITproActive製品選択支援セミナー
アプリケーション性能を管理するのに必要なこと
株式会社ビッグツリーキャピタル
SI事業部
高安 厚思
1Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ITproActive製品選択支援セミナー
1 2 3 4 5自己紹介
高安 厚思
▌ 活動領域・キーワード
▌ 20年にわたり、ソフトウエアエンジニアリングを適用した
システム開発やコンサルティングに携わる。
▌ 最新技術を適切に利用した、柔軟なシステムの構築、
品質管理を中心として技術マネージメントなどを主要テーマとして活動。
▌ 開発方法論、アーキテクチャ設計コンサルティング、システム全体設計を
得意分野とする。
▌ 東京電機大学非常勤講師、SQuBOK設計開発領域 検討委員、
ITSS-DS検討委員
▌関連事例
▌ ソーシャルアプリケーション構築プロジェクト 性能分析
▌ B2B ECサイト移行プロジェクト 性能分析
▌ 公共機関 性能改善プロジェクト アーキテクト
その他多数
2Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ITproActive製品選択支援セミナー
1 2 3 4 5対外活動
最近の著書、訳書
▌ 「システム設計の謎を解く(ソフトバンク)」
▌ 「StrutsによるWebアプリケーション スーパーサンプル(ソフトバンク)」
▌ 「Seasar入門[(ソフトバンク)」
▌ 「Javaルールブック(エクスメディア)
▌ 「ITアーキテクトのためのシステム設計実践ガイド アーキテクチャ編(日経
BP)」など。
連載記事執筆
▌ 日経SYSTEMS誌「Webアーキテクチャ再入門」
講演
▌ SODEC ミッションクリティカル開発
▌ 日本テクノセンター セミナー講師
▌ UML Forum講師
▌ 日経BP社 ITアーキテクトのためのシステム設計フォーラム 特別講演 講師
▌ Developers Summit 2013 Summer
▌ QCon 2014
▌ ITpro Active製品選択支援セミナー
3Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ITproActive製品選択支援セミナー
1 2 3 4 5会社案内
▌社名:株式会社ビッグツリーキャピタル(Big Tree Capital.LTD.)
▌Webサイト:http://www.bt-capital.com
▌サービスメニュー:
▌ テクノロジー
▌ システムインテグレーション(基幹系システム、ECサイト構築等)
▌ プラットフォーム(AWS、Solr、Hadoop、仮想化基盤等)
▌ コンサルティング
▌ IT戦略コンサルティング(ビジネスモデリング、TCO削減等)
▌ プロジェクトマネジメント(PMO/PgMO、IT調達支援等)
▌ 技術コンサルティング(アーキテクチャ設計、技術検証等)
4Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ITproActive製品選択支援セミナー
1 2 3 4 5アジェンダ
▌1 性能とは
▌2 性能を決定する要素
▌3 性能改善の技術
▌4 ライフサイクルと性能
▌5 結論のようなもの
▌付録 ライフサイクルと性能の詳細
5Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ITproActive製品選択支援セミナー
1 性能とは
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 6
ITproActive製品選択支援セミナー
1 2 3 4 5性能にまつわるよくある話
▌性能に関するステークホルダは多岐にわたり、性能にかかわる要素も
多いため、以下のような会話がされることがある。
7Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
アプリケーションとしては十分に
テストしているので問題ない。
十分なシステムリソースがないのでは?
リソースが空いている状態なので、
アプリケーションの問題では?
インフラ担当社 アプリ担当社
責任範囲が不明確なため、お互いに疑心暗鬼になりやすい
ITproActive製品選択支援セミナー
1 2 3 4 5性能とは
▌『性能』という言葉の定義を明確にし、ステークホルダー間で同意し
ておくことが重要
8Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
性能は非機能要件(上記の定義、ハードウェアコストの制約)によって
あらわすことができる。
オンライン
アプリ
 レスポンスタイム(処理時間、応答時間)
 スループット(同時アクセス数)
バッチ
アプリ
 処理時間
 処理可能データ量
同時アクセス数と処理時間はトレードオフ
オンラインバッチの場合、オンラインの
影響に留意
ITproActive製品選択支援セミナー
1 2 3 4 5性能を考える上での原則
▌性能を設計、改善する場合には守るべき原則がある
9Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
何事も計測すべし
ボトルネックを改善せよ
仮説検証を繰り返せ
この原則を無視した施策は効果がでにくい
ITproActive製品選択支援セミナー
2 性能を決定する要素
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 10
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要因・要素
▌粒度の異なる複数の要因・要素によって性能が決まる
11Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
性能は階層の異なる複数の要因によって決定され、
システムリソースがボトルネックとして表れる
要因
要素
計算量、計算処理量、リソースの利用方法
性能を構成する要素(システムリソース)
影響
観測可能
観測困難
推測
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要因
▌性能を決定する要因は、外的要因、内的要因、ミドルウェア特性、
アプリロジックに大別できる
12Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
複数の要因によって性能が決定される
外的要因
内的要因
ミドルウェア
特性
アプリ
ロジック
同時アクセス数
データ量
処理内容
システムリソースの利用方法
処理内容
システムリソースの利用方法
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要素
▌性能を構成する最終要素
▌CPU等のシステムリソースがボトルネックになって、
性能の上限が決まる
13Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
CPU
メモリ
ディスク
N/W
 同時アクセス数の増加
 計算量の増加
 同時アクセス数の増加
 データ量の増加
 メモリ確保の増加
 CPU待ち時間の発生
 スワップの発生
 GCの発生
 メモリ不足による
システムダウン
 アクセス特性
 データ量の増加
 アクセス待ち時間の
発生
 同時アクセス数の増加
 データ量の増加
 アクセス待ち時間の
発生
システム
リソース
要因 現象
ITproActive製品選択支援セミナー
3 性能改善の技術
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 14
ITproActive製品選択支援セミナー
1 2 3 4 5性能改善の技術
▌ システムリソースのボトルネックを改善するためには以下のような技術が有効
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 15
圧縮
キャッシュ
分散
計算量の減少
同じデータや構造の繰り返しを別の構造で
表現することによって、データ量を削減する
繰り返し利用されるデータをアクセス速度の
高いリソースに配置することによって、
アクセス速度を向上させる
ボトルネックになるリソースを複数準備し、
それぞれ並列で処理させることによって、
ボトルネックを解消する
ループの回数やデータ構造を変更することに
よって、計算量を減少させる
これらの技術を直接あるいは間接的に利用し、性能を
維持する。
ITproActive製品選択支援セミナー
1 2 3 4 5分散方法
▌システムリソースのボトルネックを解消する手段として、
「分散」が用いられる
16Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ステートレスの場合
ステートフルの場合
 状態に依存せず振り分け先を決定できる。
 処理するノードを増加させ、振り分けを行うことで実現する。
 振り分け装置(HW/SW)の性能に依存するがスケールしやすい。
 例)ロードバランサーによるWebサーバの分散
 状態に依存していて、単純に振り分けができない。
振り分けロジックと振り分けに必要な情報によって振り分けを
行うことで実現する。
 分散先を決定するノードによる処理がボトルネックになり、ス
ケールしにくい。
 例)ユーザIDをキーとするシャーディングによる
DBサーバの分散
ITproActive製品選択支援セミナー
4 ライフサイクルと性能
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 17
ITproActive製品選択支援セミナー
1 2 3 4 5ライフサイクル
▌アプリケーションの性能を管理するには各工程で性能を
意識する必要がある
18Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
要件定義
設計
実装
テスト
運用
 性能の定義
 性能を表す非機能要件
 アーキテクチャ設計(性能設計)
 リリース・拡張方式設計
 性能監視設計
 性能・負荷・限界テスト及び改善
 アルゴリズム選択
 単体レベルの性能計測・改善
 性能監視・改善
 拡張計画とリリース
本当の意味で、性能を管理するためには全工程での配慮が必要
ITproActive製品選択支援セミナー
5 結論
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 19
ITproActive製品選択支援セミナー
1 2 3 4 5結論めいたもの
20Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
 性能はプロジェクト全体の課題と位置づけ、
アーキテクトを中心にして、
全てのステークホルダで取り組む
 原則をとらえた性能改善に取り組む
 性能を改善するためには全工程で
取り組みが必要
ITproActive製品選択支援セミナー
付録 ライフサイクルと性能の詳細
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 21
ITproActive製品選択支援セミナー
1 2 3 4 5要件定義工程
▌業務要求から検証可能な性能要件に変換する
▌性能の定義のあいまいさやコストとのトレードオフとなることから、
組織標準があると良い
22Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
業務要求
性能要件
業務側から要求される性能のレベル
他の制約は考慮されない場合が多い
他の制約を含め、調整された性能のレベル
定量的に計測できる場合が多い
拡張性要件 拡張の条件やリードタイムの条件
制約 ハードウェアコスト・運用コストなどの制約
調整・確定
ITproActive製品選択支援セミナー
1 2 3 4 5設計工程
▌アーキテクチャ設計において、性能を考える(パフォーマンスモデル)
▌リリース・拡張方式設計において、各構成要素について拡張を設計する
▌運用設計の中で、性能監視を考える
23Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
パフォーマンスモデル
リリース設計
性能を改善してリリースするライフサイクルを意識し、
容易にリリースできるようなインフラ・アプリ構成とする。
詳細は「ソフトウェアシステムアーキテクチャ構築の原理」を参照
ITproActive製品選択支援セミナー
1 2 3 4 5開発工程
▌アルゴリズムの選択が重要
▌単体レベルの性能計測・改善を実施
24Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
アルゴリズムの選択
性能計測
データ量、ループ回数、性能条件の厳しい処理の回避・軽減
(キャッシュ、分散など)
補足事項
 単一プログラム内での検討
 複数プログラム、ミドルウェアを
利用する場合はアーキテクチャ設計の
守備範囲
ロジック上の性能課題を洗い出すために、
開発中に単体機能(単一プログラム)における性能測定をおこなう
(JUnitで記述することでJUnitPerfも利用できる)
ITproActive製品選択支援セミナー
1 2 3 4 5テスト工程
▌性能テスト、負荷テスト、限界テストの目的を理解し、どのように
おこなうかを検討する
25Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
性能テスト
負荷テスト
負荷のかからない通常レベルの処理量において、
性能を計測し、性能課題がないかを確認する
ピーク時の負荷を疑似的に発生させ、性能要件を
満たしているかを確認する
限界テスト
性能要件を超えた負荷をかけた場合の動作及び
性能特性(ボトルネック発生個所の特定)を確認する
一般的には、負荷テストのみが計画されるケースが多いが
テスト計画段階で、この組み合わせを考える必要がある
ITproActive製品選択支援セミナー
1 2 3 4 5運用フェーズ
▌通常時はシナリオで監視する
▌繁忙期は、監視のトリガーに合わせて自動リリースを組み込むという
対応も検討する
26Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
通常監視
Web監視の例
http://www.zabbix.com/jp/web_scenarios.php から引用
 ユーザが利用するサービス単位で
監視を構成する
 監視によって負荷が
増加しないように留意する
繁忙期監視
 サービスが維持できているかを
確認する
 流量制御や自動リリースで
システムをダウンさせないように
する
ITproActive製品選択支援セミナー
1 2 3 4 5お問い合わせなど
27Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ご清聴ありがとうございました。
ご質問、ご依頼事項がございましたら
atsushi.takayasu@bt-capital.com
へ、お気軽にご連絡ください。

More Related Content

What's hot

Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Shingo Kitayama
 
Excelからのクラウドオーケストレーション
ExcelからのクラウドオーケストレーションExcelからのクラウドオーケストレーション
ExcelからのクラウドオーケストレーションOSSラボ株式会社
 
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜Teruo Adachi
 
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介Kodai Terashima
 
AnsibleによるHWプロビジョニング -OneViewの連携-
AnsibleによるHWプロビジョニング  -OneViewの連携-AnsibleによるHWプロビジョニング  -OneViewの連携-
AnsibleによるHWプロビジョニング -OneViewの連携-Takahiro Kida
 
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会マジセミ by (株)オープンソース活用研究所
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---Open Source Software Association of Japan
 
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較Hinemos
 
第2回 OSS運用管理勉強会 運用あるある(Zabbix)
第2回 OSS運用管理勉強会 運用あるある(Zabbix)第2回 OSS運用管理勉強会 運用あるある(Zabbix)
第2回 OSS運用管理勉強会 運用あるある(Zabbix)真治 米田
 
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
今日からはじめるディープラーニング
今日からはじめるディープラーニング今日からはじめるディープラーニング
今日からはじめるディープラーニングShingo Kitayama
 
Zabbix 3.4の新機能 @OSC 2017 Tokyo/Spring
Zabbix 3.4の新機能 @OSC 2017 Tokyo/SpringZabbix 3.4の新機能 @OSC 2017 Tokyo/Spring
Zabbix 3.4の新機能 @OSC 2017 Tokyo/SpringAtsushi Tanaka
 
Hinemosは誤解されている?
Hinemosは誤解されている?Hinemosは誤解されている?
Hinemosは誤解されている?Hinemos
 
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューション
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューションM&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューション
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューションRWSJapan
 

What's hot (20)

OpenQRM Intoroduction
OpenQRM IntoroductionOpenQRM Intoroduction
OpenQRM Intoroduction
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
 
Excelからのクラウドオーケストレーション
ExcelからのクラウドオーケストレーションExcelからのクラウドオーケストレーション
Excelからのクラウドオーケストレーション
 
OpenStack入門 2016/06/27
OpenStack入門 2016/06/27OpenStack入門 2016/06/27
OpenStack入門 2016/06/27
 
150726cmdbuild jtf2015
150726cmdbuild jtf2015150726cmdbuild jtf2015
150726cmdbuild jtf2015
 
Cndt2021 casareal
Cndt2021 casarealCndt2021 casareal
Cndt2021 casareal
 
CMDBあれこれ
CMDBあれこれCMDBあれこれ
CMDBあれこれ
 
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
DevelopersのためのSonicGardenで実践しているシステム運用での11の常識 〜監視編〜
 
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介
Zabbix 2.2の新機能とZabbixオフィシャルサービスの紹介
 
AnsibleによるHWプロビジョニング -OneViewの連携-
AnsibleによるHWプロビジョニング  -OneViewの連携-AnsibleによるHWプロビジョニング  -OneViewの連携-
AnsibleによるHWプロビジョニング -OneViewの連携-
 
Zabbix勉強会
Zabbix勉強会Zabbix勉強会
Zabbix勉強会
 
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会
オープンソースのOTRSで、ITIL準拠の運用管理ができるって、本当ですか?どこから始めればよいですか?OTRS勉強会
 
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---オープンソース統合運用管理ツール『Hinemos』  --- その利便性及びインシデント管理について ---
オープンソース統合運用管理ツール『Hinemos』 --- その利便性及びインシデント管理について ---
 
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
 
第2回 OSS運用管理勉強会 運用あるある(Zabbix)
第2回 OSS運用管理勉強会 運用あるある(Zabbix)第2回 OSS運用管理勉強会 運用あるある(Zabbix)
第2回 OSS運用管理勉強会 運用あるある(Zabbix)
 
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
Openstack管理運用ソフトの決定版?!かもしれないAppFormix - OpenStack最新情報セミナー(2017年3月)
 
今日からはじめるディープラーニング
今日からはじめるディープラーニング今日からはじめるディープラーニング
今日からはじめるディープラーニング
 
Zabbix 3.4の新機能 @OSC 2017 Tokyo/Spring
Zabbix 3.4の新機能 @OSC 2017 Tokyo/SpringZabbix 3.4の新機能 @OSC 2017 Tokyo/Spring
Zabbix 3.4の新機能 @OSC 2017 Tokyo/Spring
 
Hinemosは誤解されている?
Hinemosは誤解されている?Hinemosは誤解されている?
Hinemosは誤解されている?
 
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューション
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューションM&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューション
M&A専業ベンダーとOSSソリューションプロバイダーのコラボによる、知財侵害やライセンス違反を抑止するための最強のソリューション
 

Similar to アプリケーション性能を管理するのに必要なこと

[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリングMasanori Kaneko
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方MLSE
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のためにIBM Systems @ IBM Japan, Ltd.
 
メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?IoTビジネス共創ラボ
 
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...Insight Technology, Inc.
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成Rakuten Group, Inc.
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre正善 大島
 
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割Yusuke Oi
 
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証Kuniharu(州晴) AKAHANE(赤羽根)
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0正善 大島
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402IO Architect Inc.
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Insight Technology, Inc.
 
これからのITサービス部門のあり方とは
これからのITサービス部門のあり方とはこれからのITサービス部門のあり方とは
これからのITサービス部門のあり方とはUNIRITA Incorporated
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏Yusuke Suzuki
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentTaiji Tsuchiya
 
要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議Atsushi Takayasu
 

Similar to アプリケーション性能を管理するのに必要なこと (20)

[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために最適なビックデータ・システムの構築のために
最適なビックデータ・システムの構築のために
 
メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?メタバースの始め方、たとえば製造業でのデジタルツインとは?
メタバースの始め方、たとえば製造業でのデジタルツインとは?
 
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
20160927_守るべきは、大量の情報資産を管理するデータベース! ~ユーザ事例から見るデータベースのセキュリティ対策~ by 株式会社インサイトテクノ...
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
 
Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
 
クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割クラウド時代にこそ求められるIt部門の役割
クラウド時代にこそ求められるIt部門の役割
 
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
お客様が望んでいるモダンデスクトップアプリとは?/傾向と対策 Part1
 
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証
「効率・品質・統制」の共通課題に着目した現場主導によるITS導入の効果検証
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
 
Ms retail update ra 20191030
Ms retail update ra 20191030Ms retail update ra 20191030
Ms retail update ra 20191030
 
Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402Otrs&OTOBO_document 20210402
Otrs&OTOBO_document 20210402
 
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
Database as code in Devops - DBを10分間で1000個構築するDB仮想化テクノロジーとは?(Ishikawa)
 
NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)NIFcLab Tech Laboratoryはじめます(もうすぐ)
NIFcLab Tech Laboratoryはじめます(もうすぐ)
 
これからのITサービス部門のあり方とは
これからのITサービス部門のあり方とはこれからのITサービス部門のあり方とは
これからのITサービス部門のあり方とは
 
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile Development
 
要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議要求開発アライアンス 9月定例会議
要求開発アライアンス 9月定例会議
 

More from Atsushi Takayasu

要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)Atsushi Takayasu
 
20180130 設計イベント
20180130 設計イベント20180130 設計イベント
20180130 設計イベントAtsushi Takayasu
 
アジャイル勉強会 公開資料
アジャイル勉強会 公開資料アジャイル勉強会 公開資料
アジャイル勉強会 公開資料Atsushi Takayasu
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Atsushi Takayasu
 
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Atsushi Takayasu
 

More from Atsushi Takayasu (6)

要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)要求開発アライアンス納涼会 LT (フロント開発)
要求開発アライアンス納涼会 LT (フロント開発)
 
20180130 設計イベント
20180130 設計イベント20180130 設計イベント
20180130 設計イベント
 
アジャイル勉強会 公開資料
アジャイル勉強会 公開資料アジャイル勉強会 公開資料
アジャイル勉強会 公開資料
 
solr勉強会資料
solr勉強会資料solr勉強会資料
solr勉強会資料
 
Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料Developer's Summit 夏 EnterpriseTED 資料
Developer's Summit 夏 EnterpriseTED 資料
 
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
Developers summit 2013 summer TED Speaker 公募資料 (設計要素マラソン)
 

Recently uploaded

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 

Recently uploaded (8)

【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 

アプリケーション性能を管理するのに必要なこと

  • 2. ITproActive製品選択支援セミナー 1 2 3 4 5自己紹介 高安 厚思 ▌ 活動領域・キーワード ▌ 20年にわたり、ソフトウエアエンジニアリングを適用した システム開発やコンサルティングに携わる。 ▌ 最新技術を適切に利用した、柔軟なシステムの構築、 品質管理を中心として技術マネージメントなどを主要テーマとして活動。 ▌ 開発方法論、アーキテクチャ設計コンサルティング、システム全体設計を 得意分野とする。 ▌ 東京電機大学非常勤講師、SQuBOK設計開発領域 検討委員、 ITSS-DS検討委員 ▌関連事例 ▌ ソーシャルアプリケーション構築プロジェクト 性能分析 ▌ B2B ECサイト移行プロジェクト 性能分析 ▌ 公共機関 性能改善プロジェクト アーキテクト その他多数 2Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
  • 3. ITproActive製品選択支援セミナー 1 2 3 4 5対外活動 最近の著書、訳書 ▌ 「システム設計の謎を解く(ソフトバンク)」 ▌ 「StrutsによるWebアプリケーション スーパーサンプル(ソフトバンク)」 ▌ 「Seasar入門[(ソフトバンク)」 ▌ 「Javaルールブック(エクスメディア) ▌ 「ITアーキテクトのためのシステム設計実践ガイド アーキテクチャ編(日経 BP)」など。 連載記事執筆 ▌ 日経SYSTEMS誌「Webアーキテクチャ再入門」 講演 ▌ SODEC ミッションクリティカル開発 ▌ 日本テクノセンター セミナー講師 ▌ UML Forum講師 ▌ 日経BP社 ITアーキテクトのためのシステム設計フォーラム 特別講演 講師 ▌ Developers Summit 2013 Summer ▌ QCon 2014 ▌ ITpro Active製品選択支援セミナー 3Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
  • 4. ITproActive製品選択支援セミナー 1 2 3 4 5会社案内 ▌社名:株式会社ビッグツリーキャピタル(Big Tree Capital.LTD.) ▌Webサイト:http://www.bt-capital.com ▌サービスメニュー: ▌ テクノロジー ▌ システムインテグレーション(基幹系システム、ECサイト構築等) ▌ プラットフォーム(AWS、Solr、Hadoop、仮想化基盤等) ▌ コンサルティング ▌ IT戦略コンサルティング(ビジネスモデリング、TCO削減等) ▌ プロジェクトマネジメント(PMO/PgMO、IT調達支援等) ▌ 技術コンサルティング(アーキテクチャ設計、技術検証等) 4Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
  • 5. ITproActive製品選択支援セミナー 1 2 3 4 5アジェンダ ▌1 性能とは ▌2 性能を決定する要素 ▌3 性能改善の技術 ▌4 ライフサイクルと性能 ▌5 結論のようなもの ▌付録 ライフサイクルと性能の詳細 5Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
  • 6. ITproActive製品選択支援セミナー 1 性能とは Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 6
  • 7. ITproActive製品選択支援セミナー 1 2 3 4 5性能にまつわるよくある話 ▌性能に関するステークホルダは多岐にわたり、性能にかかわる要素も 多いため、以下のような会話がされることがある。 7Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. アプリケーションとしては十分に テストしているので問題ない。 十分なシステムリソースがないのでは? リソースが空いている状態なので、 アプリケーションの問題では? インフラ担当社 アプリ担当社 責任範囲が不明確なため、お互いに疑心暗鬼になりやすい
  • 8. ITproActive製品選択支援セミナー 1 2 3 4 5性能とは ▌『性能』という言葉の定義を明確にし、ステークホルダー間で同意し ておくことが重要 8Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 性能は非機能要件(上記の定義、ハードウェアコストの制約)によって あらわすことができる。 オンライン アプリ  レスポンスタイム(処理時間、応答時間)  スループット(同時アクセス数) バッチ アプリ  処理時間  処理可能データ量 同時アクセス数と処理時間はトレードオフ オンラインバッチの場合、オンラインの 影響に留意
  • 9. ITproActive製品選択支援セミナー 1 2 3 4 5性能を考える上での原則 ▌性能を設計、改善する場合には守るべき原則がある 9Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 何事も計測すべし ボトルネックを改善せよ 仮説検証を繰り返せ この原則を無視した施策は効果がでにくい
  • 11. ITproActive製品選択支援セミナー 1 2 3 4 5性能を決定する要因・要素 ▌粒度の異なる複数の要因・要素によって性能が決まる 11Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 性能は階層の異なる複数の要因によって決定され、 システムリソースがボトルネックとして表れる 要因 要素 計算量、計算処理量、リソースの利用方法 性能を構成する要素(システムリソース) 影響 観測可能 観測困難 推測
  • 12. ITproActive製品選択支援セミナー 1 2 3 4 5性能を決定する要因 ▌性能を決定する要因は、外的要因、内的要因、ミドルウェア特性、 アプリロジックに大別できる 12Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 複数の要因によって性能が決定される 外的要因 内的要因 ミドルウェア 特性 アプリ ロジック 同時アクセス数 データ量 処理内容 システムリソースの利用方法 処理内容 システムリソースの利用方法
  • 13. ITproActive製品選択支援セミナー 1 2 3 4 5性能を決定する要素 ▌性能を構成する最終要素 ▌CPU等のシステムリソースがボトルネックになって、 性能の上限が決まる 13Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. CPU メモリ ディスク N/W  同時アクセス数の増加  計算量の増加  同時アクセス数の増加  データ量の増加  メモリ確保の増加  CPU待ち時間の発生  スワップの発生  GCの発生  メモリ不足による システムダウン  アクセス特性  データ量の増加  アクセス待ち時間の 発生  同時アクセス数の増加  データ量の増加  アクセス待ち時間の 発生 システム リソース 要因 現象
  • 15. ITproActive製品選択支援セミナー 1 2 3 4 5性能改善の技術 ▌ システムリソースのボトルネックを改善するためには以下のような技術が有効 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 15 圧縮 キャッシュ 分散 計算量の減少 同じデータや構造の繰り返しを別の構造で 表現することによって、データ量を削減する 繰り返し利用されるデータをアクセス速度の 高いリソースに配置することによって、 アクセス速度を向上させる ボトルネックになるリソースを複数準備し、 それぞれ並列で処理させることによって、 ボトルネックを解消する ループの回数やデータ構造を変更することに よって、計算量を減少させる これらの技術を直接あるいは間接的に利用し、性能を 維持する。
  • 16. ITproActive製品選択支援セミナー 1 2 3 4 5分散方法 ▌システムリソースのボトルネックを解消する手段として、 「分散」が用いられる 16Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. ステートレスの場合 ステートフルの場合  状態に依存せず振り分け先を決定できる。  処理するノードを増加させ、振り分けを行うことで実現する。  振り分け装置(HW/SW)の性能に依存するがスケールしやすい。  例)ロードバランサーによるWebサーバの分散  状態に依存していて、単純に振り分けができない。 振り分けロジックと振り分けに必要な情報によって振り分けを 行うことで実現する。  分散先を決定するノードによる処理がボトルネックになり、ス ケールしにくい。  例)ユーザIDをキーとするシャーディングによる DBサーバの分散
  • 18. ITproActive製品選択支援セミナー 1 2 3 4 5ライフサイクル ▌アプリケーションの性能を管理するには各工程で性能を 意識する必要がある 18Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 要件定義 設計 実装 テスト 運用  性能の定義  性能を表す非機能要件  アーキテクチャ設計(性能設計)  リリース・拡張方式設計  性能監視設計  性能・負荷・限界テスト及び改善  アルゴリズム選択  単体レベルの性能計測・改善  性能監視・改善  拡張計画とリリース 本当の意味で、性能を管理するためには全工程での配慮が必要
  • 19. ITproActive製品選択支援セミナー 5 結論 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 19
  • 20. ITproActive製品選択支援セミナー 1 2 3 4 5結論めいたもの 20Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.  性能はプロジェクト全体の課題と位置づけ、 アーキテクトを中心にして、 全てのステークホルダで取り組む  原則をとらえた性能改善に取り組む  性能を改善するためには全工程で 取り組みが必要
  • 22. ITproActive製品選択支援セミナー 1 2 3 4 5要件定義工程 ▌業務要求から検証可能な性能要件に変換する ▌性能の定義のあいまいさやコストとのトレードオフとなることから、 組織標準があると良い 22Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 業務要求 性能要件 業務側から要求される性能のレベル 他の制約は考慮されない場合が多い 他の制約を含め、調整された性能のレベル 定量的に計測できる場合が多い 拡張性要件 拡張の条件やリードタイムの条件 制約 ハードウェアコスト・運用コストなどの制約 調整・確定
  • 23. ITproActive製品選択支援セミナー 1 2 3 4 5設計工程 ▌アーキテクチャ設計において、性能を考える(パフォーマンスモデル) ▌リリース・拡張方式設計において、各構成要素について拡張を設計する ▌運用設計の中で、性能監視を考える 23Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. パフォーマンスモデル リリース設計 性能を改善してリリースするライフサイクルを意識し、 容易にリリースできるようなインフラ・アプリ構成とする。 詳細は「ソフトウェアシステムアーキテクチャ構築の原理」を参照
  • 24. ITproActive製品選択支援セミナー 1 2 3 4 5開発工程 ▌アルゴリズムの選択が重要 ▌単体レベルの性能計測・改善を実施 24Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. アルゴリズムの選択 性能計測 データ量、ループ回数、性能条件の厳しい処理の回避・軽減 (キャッシュ、分散など) 補足事項  単一プログラム内での検討  複数プログラム、ミドルウェアを 利用する場合はアーキテクチャ設計の 守備範囲 ロジック上の性能課題を洗い出すために、 開発中に単体機能(単一プログラム)における性能測定をおこなう (JUnitで記述することでJUnitPerfも利用できる)
  • 25. ITproActive製品選択支援セミナー 1 2 3 4 5テスト工程 ▌性能テスト、負荷テスト、限界テストの目的を理解し、どのように おこなうかを検討する 25Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 性能テスト 負荷テスト 負荷のかからない通常レベルの処理量において、 性能を計測し、性能課題がないかを確認する ピーク時の負荷を疑似的に発生させ、性能要件を 満たしているかを確認する 限界テスト 性能要件を超えた負荷をかけた場合の動作及び 性能特性(ボトルネック発生個所の特定)を確認する 一般的には、負荷テストのみが計画されるケースが多いが テスト計画段階で、この組み合わせを考える必要がある
  • 26. ITproActive製品選択支援セミナー 1 2 3 4 5運用フェーズ ▌通常時はシナリオで監視する ▌繁忙期は、監視のトリガーに合わせて自動リリースを組み込むという 対応も検討する 26Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 通常監視 Web監視の例 http://www.zabbix.com/jp/web_scenarios.php から引用  ユーザが利用するサービス単位で 監視を構成する  監視によって負荷が 増加しないように留意する 繁忙期監視  サービスが維持できているかを 確認する  流量制御や自動リリースで システムをダウンさせないように する
  • 27. ITproActive製品選択支援セミナー 1 2 3 4 5お問い合わせなど 27Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. ご清聴ありがとうございました。 ご質問、ご依頼事項がございましたら atsushi.takayasu@bt-capital.com へ、お気軽にご連絡ください。

Editor's Notes

  1. ただいま、ご紹介いただきました高安です。よろしくお願いいたします。 まず、自己紹介を