Comments
Description
Transcript
ライフサイクル視点から システム性能の最適化を実現する テスト
ライフサイクル視点から システム性能の最適化を実現する テスト戦略の策定 作成:エンピレックス株式会社 © 2005 Empirix, Inc. エンピレックス社製品の特徴1 Web技術 Webアプリ エンドユーザの視点での性能を管理 ケーション • Web・電話の技術を使ったユーザ操作を 再現させたテスト・監視方式を採用 音声アプリ ケーション 電話技術 ライフサイクル視点で性能改善を実施 • テストスクリプト(資産)を機能テスト・ 負荷テスト・性能監視で共有が可能 e-Tester 機能テスト e-Load Visual Script OneSight 性能監視 © 2005Empirix, Inc. 負荷テスト DB エンピレックス社製品の特徴2 データ/音声統合環境における 唯一のテスト/監視ソリューション 声 M/F /S C/S WEB 音 VOICE 統 合 • 使いやすさ、ライセンスの柔軟性、各種サービスの御提供 © 2005Empirix, Inc. エンピレックス社の御紹介 Empirix Inc., 所在:ベッドフォード(ボストン近郊) 創立者:Alex d’Arbeloff (テラダイン社<年商約1500億円>の創立者) マサチューセッツ工科大学の現名誉理事長を兼任 ボードメンバー:Alex d’Arbeloff, John Guttag(マサチューセッツ工科大学 コンピュータサイエンス学部長)など 投資家:Matrix Partners, Lehman Brothers, Teradyne 他 従業員:約300名 ユーザー数:3000社以上 設立:2000年(テラダイン社内事業部として1995年から事業開始) エンピレックス株式会社 Empirix Inc の100%出資子会社 売上:Empirixワールドワイド売上の約20% 日本の技術ニーズに対応:米国本社R&D、マーケティングに日本人を配置 日本のビジネスニーズに対応:ライセンス形態、価格体系などに権限保有 日本のサポートニーズに対応:現場でのテストサービス提供、テスト手法、監視設計コンサルを実施 © 2005Empirix, Inc. Webアプリケーションの性能問題 © 2005 Empirix, Inc. 性能能力の決定時期 通常の開発プロセス アキテクチャー の決定 コンポーネント 開発 単体 テスト ハードウェアの決定 & システム設計 この時期にシステムの性能 ポテンシャルが決定される。 © 2005Empirix, Inc. 結合 テスト 総合 テスト 運用開始 性能問題の発生時期 通常の開発プロセス アキテクチャー の決定 ハードウェアの決定 & システム設計 コンポーネント 開発 単体 テスト 結合 テスト 総合 テスト 運用開始 性能テスト 性能問題の発生 総合テストで性能問題が発 生した場合は、対処方法が 限られる。 © 2005Empirix, Inc. Webアプリケーションのボトルネック個所 パーフォーマ ンス問題箇所 10% 20% 40% 30% アプリケーシ ョンサー バー データベースサー バー ネットワーク機器 Webサーバー 総合試験でAP、DBサーバーの問題が浮上しても修 正することは困難 上記問題が出現するケースの大多数が総合テスト環 境での負荷テストが初めての負荷テストとなる Source:Em pirix © 2005Empirix, Inc. 性能ポテンシャルの追求 アプリケーションのポテンシャルは この領域!! スループット 早めにボトルネックを洗い出さないと、このような原因で アプリケーションの性能がこれより伸びない。 • 非効率なアプリケーションコード • ネットワーク/サーバ環境のチューニングの不足 • 効率の悪いクエリー/インデックス • などなど 結果的に、 • リソースの無駄が多い • 余計なコストがかかる 同時ユーザ数 © 2005Empirix, Inc. 性能テストのあり方 © 2005 Empirix, Inc. 性能テストの鉄則1 システム設計時に性能要件が 定義されるべき 性能テストの計画を行う 性能面で無理な設計をしない 性能に対する意識が変わる 性能テストが行われる確率が上がる © 2005Empirix, Inc. 性能テストの鉄則1-2 性能テストで計画すべき項目 • 合否の判断基準 • テストをする個所 • テスト期間 © 2005Empirix, Inc. 性能テストの鉄則2 単体・結合レベルでの性能テストを行う プログラム面での性能問題解消 途中でのシステム変更ができる © 2005Empirix, Inc. 性能テストの鉄則3 総合試験で、性能テストを行う 性能面で最適なチューニングが行える 性能監視の閾値を把握できる © 2005Empirix, Inc. 性能テストの鉄則4 運用で性能監視を行う 性能劣化の予測 常時、性能テストが行える 正確なキャパシティプラン 次期開発の大きなメリット © 2005Empirix, Inc. 性能テストの鉄則5 ツールは簡単で、結果がすぐに でるものを選ぶ テストの時間を短縮 テストコストの削減 本当に実行したい性能テストができる © 2005Empirix, Inc. 性能テストの鉄則5-2 有償ツール vs 無償ツール • スクリプト • 正確な負荷 • 分析 •複雑なWebアプリでは、無償ツールは適用できない •実ユーザーと同じ動作ができない •取得するデータ量が少ないため適切な分析が困難 © 2005Empirix, Inc. 性能テストの鉄則5-2(費用対効果) ソフトウェア費用 3年 X 5プロジェクト 3年間負荷テスト合 /年 費用 計費用 フリーツール 0円 825万 825万 eLoad 477万 255万 732万 © 2005Empirix, Inc. 開発工程で性能管理を行う。 通常の開発プロセス アキテクチャー の決定 コンポーネント 開発 単体 テスト 結合 テスト 総合 テスト 運用開始 テストの計画 モジュール単位でのテスト 性能テスト 性能監視 © 2005Empirix, Inc. Empirix社製品構成 通常の開発プロセス アーキテクチャ の決定 コンポーネント 開発 e - Tester 単体 テスト 結合 テスト 総合 テスト 運用開始 機能/ リグレッションテスト - W ebの機能テスト システムレベルでの負荷テスト、 チューニング e - Load - W ebの負荷テスト - OneSight 24X 365 性能監視 - W ebの自動監視 - e - M anagerEnterprise テスト工程全体の管理(要件定義、計画、実行、不具合追跡、分析 © 2005Empirix, Inc. 開発ライフサイクルとEmpirix製品群 運用 OneSight (監視ツール) 単体 テスト 運用時の問題発見と 開発へのフィードバック 総合 テスト e-Tester (機能テストツール) 監視用や負荷テスト用の スクリプトも作成 © 2005Empirix, Inc. この、機能テスト、負荷テスト、 性能監視の三つのサイクルを 反復実行し続けることで、 アプリケーションの品質と 性能は向上する e-Load (負荷テストツール) 性能テストによって 限界やしきい値を算出 性能設計での失敗事例 © 2005 Empirix, Inc. 性能設計での失敗事例 大手エンドユーザーが社内システムのWeb化を行 う 社内からシステ ム要望を収集 中堅SI エンドユーザー グループリーダー すべての要望を 要件定義として 提出 © 2005Empirix, Inc. プロジェクトリーダー すべての要件を機能と して満たす設計を行っ た 性能設計での失敗事例 エンドユーザーからの要件定義は、人事管理、勤怠管理、決済管理の機 能が入った要件を提示、 中堅システムインテグレーターが受注 機能面で開発工程が遅れ、性能面をまったく気にせずにアプリケーション を構築 エンドユーザーが性能面に不安を覚え、エンピレックスに性能テストおよ び性能監視依頼 その結果 © 2005Empirix, Inc. 負荷試験結果 同時アクセス150を超えた頃より アプリケーションからエラーコンテン ツ 同時アクセス数 が頻繁に返される 応答時間 エラーコンテンツ数 アプリケーション上の致命的な問題を発見、修正に5 ヶ月を要する © 2005Empirix, Inc. なぜ、このような問題が生じたか 開発会社は、開発工程の遅れのため、性能テストをまっ たく行わなかった。 開発終盤になるまで、エンドユーザーは、性能問題を全く 気にしていなかった。 性能管理のオーナーが途中存在していなかった。 © 2005Empirix, Inc. 性能要件の定義失敗事例 © 2005 Empirix, Inc. 要件定義の曖昧さが生み出す結果 エンドユーザーの要件定義が • 1分間に2000ページビューが達成できること と記してあった SI会社は、その性能を達成できるために負荷テストを 実施 • テストを100仮想ユーザーで行う • 1分間に2000ページビュー達成できることの確認 しかし、運用で、問題が続出する結果となる なぜ? © 2005Empirix, Inc. 再テストの結果 再テストの結果、300ユーザー付近で、アプリケーション エラーが再現 1分間に2000ページビューでは、曖昧すぎてさまざまなテ スト結果を生んでしまう。 本来の要件定義では、 • • • • © 2005Empirix, Inc. 実際に人で行うと流すシナリオが3分 そのページ数は10ページ 1分あたりの実ユーザーの行える処理は3.3ページビュー 2000ページビューをテストするのに、約600ユーザー必要 問題を回避するには 性能要件をできる限り明確に表現する • 例) 同時500ユーザーにて、100ページビュー/秒の環境 にて、ページの平均応答時間が、5秒以内で、95%のユー ザーが8秒以内であること 開発会社の性能試験結果だけでなく、そのプロセスも評 価する © 2005Empirix, Inc. © 2005 Empirix, Inc. 性能検証ツール e-Load 昨年、国内で最も販売数が多かった負荷テストツール Webユーザーの同時大量アクセスをエミュレート 機能テスト・監視で使用するスクリプトをそのまま使用 詳細な分析レポート機能 充実のテスト支援体制 e-Loadは、 Empirix e-Test Suiteパッケージ中の 負荷テスト実施用ツールです。 © 2005Empirix, Inc. e-Loadを使った性能(負荷)テスト 一般ユーザー 一般ユーザーの一連の操作を エミュレートしたWebアクセスを、 同時・連続・大量に発生させ、 サーバー側に負荷をかけます。 また、応答速度や機能性チェックを 行って結果を蓄積します テスト実行者 ロードバランサー WWWサーバー FireWall APサーバー DBサーバー CPU,メモリ, JMX CPU,メモリ,I/O HTTPトランザクション e-Load 経理 ・実行 ・把握 ・分析 スループット、分散度 CPU,コネクション数 スループット 蓄積 サーバーに負荷を掛けている最中に 同時にサーバー内の各種リソース 情報も収集し、ボトルネックをテスト中 に発見出来ます Empirix e-Loadを使用することで、性能テスト の実行・情報収集・分析を手軽にその場で行う ことが出来ます 負荷テスト終了後・・・・ © 2005Empirix, Inc. e-Loadでの負荷テスト結果の取り扱い 納得 テスト結果報告者 判り易い 客観的でわかりやすい 各種性能レポートを出力 満足、 納得の投資 顧客/部門長 e-Load システムの問題解明 のための、貴重な情 報となり、問題解決が 効率化 結果 情報 問題解決 品質改善 システム担当者 テスト結果は、各種レポート形式で簡単に取り出すことが出来、 客観的指標として組織内で活用したり、過去のテストとの比較 分析を行って、投資効果の指標にしたりすることが可能に。 © 2005Empirix, Inc. e-Loadテスト結果レポートの分析例 個別のWebページの応答速度と、仮想ユーザー数の増加および、 サーバーCPU負荷を一つのグラフで相関分析することが出来る為、 アクセスが急増した際のシステムの振る舞いを予測出来ます。 パフォーマンス/時間: LoadTest100_Build_2 120 限界ポイント(開始2分40秒、50同時ユーザー) 100 100 80 80 60 60 40 40 20 20 0 00:00:00 00:01:26 00:02:53 00:04:19 00:05:46 00:07:12 時間 (秒) Overall - Number of VUs © 2005Empirix, Inc. browse - Avg Performance search - Avg Performance Server.Processor (_Total): % Processor Time 0 00:08:38 Se r ve r Stats データ e - Load データ 120 ※左図グラフは、 紫サーバCPU 使用率、赤は仮 想ユーザ数、 青、緑は各ページ の応答時間を示 しています。 e-Loadによる負荷テストで得られること リアルユーザの同時アクセス数の上限 高負荷時のシステムの振る舞いの把握 システムの性能ボトルネックが判明 応答速度のサービスレベル策定の基準値 監視する際の最適な性能しきい値 将来的なシステム拡張投資への性能指標 © 2005Empirix, Inc. © 2005 Empirix, Inc. OneSightを利用した性能監視・管理フロー 1 トランザクションの作成 トランザクションとして実行させるスクリプトをe-Testerで 作成します。ブラウザ上でアプリケーションの操作を行う のみで簡単にスクリプトを作成できます。 2 トランザクションの定義 作成したスクリプトをOneSightで監視用トランザクション として定義します。監視実行インターバルやエラー検知 機能やしきい値によるアラート機能の設定を行います。 3 リアルタイム監視 コンソールでは、問題発生時に詳細な監視ステータスへと ドリルダウンし確認が行える機能を提供します。更に管理者 へメール通達が可能なアラート機能も用意されています。 4 傾向分析 OneSightでは、システムの傾向分析が可能な様々なレポート 機能を提供します。 © 2005Empirix, Inc. 従来のツールでは検知出来ないサーバー側の 問題 1ページ目 Webサーバーは正常に応答するに もかかわらず、バックエンドで エラーが発生しているために、 ユーザーの望む操作が出来ない! OneSightでは検知可能 2ページ目 クリックしログイン実行 エラー!! サーバーは応答するが ログインには失敗 インターネット ユーザー体験 © 2005Empirix, Inc. Webサーバー APサーバー DBサーバー OneSight画面でのエラー検出の例 ページ間の移動(ナビゲーション)で 3ページ目に辿りつけずにエラーに なったことを告知 HTMLアイコンをクリックすると エラーになった時の取得ページ 内容を再現表示可能 © 2005Empirix, Inc. エラー時にはレポートの分析で詳細確認 各種のサーバー側リソースの 監視メトリックを総覧 異常値の発見!DBサーバーの CPU使用率が100%にはりつ いたままの状態になっている 早速、DBサーバーマシン中で、topコマンドを実行して確認してみたら サードパーティ製のエージェントソフトウェアが暴走してCPUリソースを 使い切っていたことがわかる。このプロセスを再起動して問題解決。 この発見から復旧までの所要時間、3分。 © 2005Empirix, Inc. OneSightのトランザクション監視機能で出来る こと 従来の監視 サーバー応答時のエラーコード等に基づくサービス稼動判定 単独URLの呼び出しによる応答速度計測 ログイン以降に表示されるページ等は監視出来ず OneSightの監視 エラーコードだけでは無く、連続したユーザー操作が機能するかの検証も ページ間移動時のそれぞれのページの応答速度計測 期待したコンテンツ以外のページが返って来た場合のエラー判定 応答時間の詳細な内訳把握(オブジェクトレコードのレポート機能) OneSightでは顧客の視点と操作に基づく問題発見が可能 © 2005Empirix, Inc. OneSightのレポ−ティング機能(2) ページの応答時間の内訳詳細の分析レポート 予め自動生成されたレポートを閲覧するだけで、応答遅延要因の切り分けや、 システム動態の詳細な把握を行えるため、システム管理上強力な支援効果 © 2005Empirix, Inc. お問い合わせ 製品の無料ダウンロードができます。 ダウンロード先: www.empirix.co.jp 電話:03−5457−2341 Eメール: [email protected] 講師: 山岡 英明 Eメール: [email protected] © 2005Empirix, Inc.