...

ライフサイクル視点から システム性能の最適化を実現する テスト

by user

on
Category: Documents
2

views

Report

Comments

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.
Fly UP