Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
ITproActive製品選択支援セミナー
アプリケーション性能を管理するのに必要なこと
株式会社ビッグツリーキャピタル
SI事業部
高安 厚思
1Copyright (C) 2015 Atsushi Takayasu All Rights R...
ITproActive製品選択支援セミナー
1 2 3 4 5自己紹介
高安 厚思
▌ 活動領域・キーワード
▌ 20年にわたり、ソフトウエアエンジニアリングを適用した
システム開発やコンサルティングに携わる。
▌ 最新技術を適切に利用した、柔...
ITproActive製品選択支援セミナー
1 2 3 4 5対外活動
最近の著書、訳書
▌ 「システム設計の謎を解く(ソフトバンク)」
▌ 「StrutsによるWebアプリケーション スーパーサンプル(ソフトバンク)」
▌ 「Seasar入...
ITproActive製品選択支援セミナー
1 2 3 4 5会社案内
▌社名:株式会社ビッグツリーキャピタル(Big Tree Capital.LTD.)
▌Webサイト:http://www.bt-capital.com
▌サービスメニュー...
ITproActive製品選択支援セミナー
1 2 3 4 5アジェンダ
▌1 性能とは
▌2 性能を決定する要素
▌3 性能改善の技術
▌4 ライフサイクルと性能
▌5 結論のようなもの
▌付録 ライフサイクルと性能の詳細
5Copyrigh...
ITproActive製品選択支援セミナー
1 性能とは
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 6
ITproActive製品選択支援セミナー
1 2 3 4 5性能にまつわるよくある話
▌性能に関するステークホルダは多岐にわたり、性能にかかわる要素も
多いため、以下のような会話がされることがある。
7Copyright (C) 2015 A...
ITproActive製品選択支援セミナー
1 2 3 4 5性能とは
▌『性能』という言葉の定義を明確にし、ステークホルダー間で同意し
ておくことが重要
8Copyright (C) 2015 Atsushi Takayasu All Rig...
ITproActive製品選択支援セミナー
1 2 3 4 5性能を考える上での原則
▌性能を設計、改善する場合には守るべき原則がある
9Copyright (C) 2015 Atsushi Takayasu All Rights Reserv...
ITproActive製品選択支援セミナー
2 性能を決定する要素
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 10
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要因・要素
▌粒度の異なる複数の要因・要素によって性能が決まる
11Copyright (C) 2015 Atsushi Takayasu All Rights Res...
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要因
▌性能を決定する要因は、外的要因、内的要因、ミドルウェア特性、
アプリロジックに大別できる
12Copyright (C) 2015 Atsushi Takaya...
ITproActive製品選択支援セミナー
1 2 3 4 5性能を決定する要素
▌性能を構成する最終要素
▌CPU等のシステムリソースがボトルネックになって、
性能の上限が決まる
13Copyright (C) 2015 Atsushi Ta...
ITproActive製品選択支援セミナー
3 性能改善の技術
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 14
ITproActive製品選択支援セミナー
1 2 3 4 5性能改善の技術
▌ システムリソースのボトルネックを改善するためには以下のような技術が有効
Copyright (C) 2015 Atsushi Takayasu All Right...
ITproActive製品選択支援セミナー
1 2 3 4 5分散方法
▌システムリソースのボトルネックを解消する手段として、
「分散」が用いられる
16Copyright (C) 2015 Atsushi Takayasu All Right...
ITproActive製品選択支援セミナー
4 ライフサイクルと性能
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 17
ITproActive製品選択支援セミナー
1 2 3 4 5ライフサイクル
▌アプリケーションの性能を管理するには各工程で性能を
意識する必要がある
18Copyright (C) 2015 Atsushi Takayasu All Righ...
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) 20...
ITproActive製品選択支援セミナー
1 2 3 4 5設計工程
▌アーキテクチャ設計において、性能を考える(パフォーマンスモデル)
▌リリース・拡張方式設計において、各構成要素について拡張を設計する
▌運用設計の中で、性能監視を考える
...
ITproActive製品選択支援セミナー
1 2 3 4 5開発工程
▌アルゴリズムの選択が重要
▌単体レベルの性能計測・改善を実施
24Copyright (C) 2015 Atsushi Takayasu All Rights Reser...
ITproActive製品選択支援セミナー
1 2 3 4 5テスト工程
▌性能テスト、負荷テスト、限界テストの目的を理解し、どのように
おこなうかを検討する
25Copyright (C) 2015 Atsushi Takayasu All ...
ITproActive製品選択支援セミナー
1 2 3 4 5運用フェーズ
▌通常時はシナリオで監視する
▌繁忙期は、監視のトリガーに合わせて自動リリースを組み込むという
対応も検討する
26Copyright (C) 2015 Atsushi...
ITproActive製品選択支援セミナー
1 2 3 4 5お問い合わせなど
27Copyright (C) 2015 Atsushi Takayasu All Rights Reserved.
ご清聴ありがとうございました。
ご質問、ご依頼...
Prochain SlideShare
Chargement dans…5
×

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

http://ac.nikkeibp.co.jp/itp/0130application/
アプリケーションパフォーマンス管理 セミナーにてお話をさせていただいた資料になります。

  • Identifiez-vous pour voir les commentaires

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

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

×