Dotcom-Monitor の LoadView と Dynatrace は、性能エンジニアリングを本質とするプラットフォームです。どちらも優れた顧客基盤を持ち、完全なクラウドネイティブソリューションであり、長い歴史に根ざしています。このショーケースでは、両ツールを組み合わせることで、性能エンジニアリングチェーンに残されたギャップをいかに埋められるかを示します。
このショーケースでの主なステップは以下の通りです:
- 登録
- Dynatrace SaaS のトライアルアカウント
- dotcom-monitor LoadView SaaS のトライアルアカウント
- インストール
- AWS サーバー上の EasyTravel デモアプリケーション
- AWS サーバー上の LoadView スクリプトツール Easystep
- 設定
- AWS サーバーのファイアウォール
- AWS サーバーのセキュリティポリシー
- Dynatrace のリクエスト属性
- 負荷テストのセットアップ
- EasyTravel テストスクリプトを録画
- 負荷テストシナリオを設定し、テストを実行
- 結果分析
- LoadView のエンドツーエンド応答時間を確認
- Dynatrace 内の関連結果の詳細分析
この統合について
LoadView は SaaS ベースの負荷テストプラットフォームで、プロトコルベース、ヘッドレス、またはフルブラウザベースのユーザーシミュレーション技術を完全に備えています。IE、Chrome、Firefox、iPhone、Samsung、Nokia、Blackberry など、40 以上のデバイスでのテストをサポートします。
Dynatrace は SaaS ベースの監視ソリューションであり、幅広い技術をサポートします。強力な OneAgent はすべてのサービスを自動的に注入し、エンドユーザー、ネットワーク、ミドルウェアからバックエンド層までのサービスフローとすべてのインタラクションをキャプチャし、実際のボトルネックに関するインサイトを提供します。
以下の図は、両ソリューションの主な統合ステップを示しています。
このショーケースで使用されたソフトウェア:
- Dynatrace SaaS – Dynatrace の監視プラットフォーム
- Dynatrace OneAgent – Dynatrace の監視エージェント
- EasyTravel – Dynatrace のデモアプリケーション
- LoadView – dotcom-monitor の負荷テストプラットフォーム
- EveryStep – dotcom-monitor のスクリプトツール
- AWS インスタンスに EasyTravel をインストール
- EasyTravel のセットアップ
- EasyTravel デモアプリを起動
- テストサーバーでポート 8079 の Windows ファイアウォールのインバウンドおよびアウトバウンドルールを追加
以下の IP に対して AWS インスタンスでアウトバウンドルールを追加し、Dynatrace SaaS バックエンドとの通信を許可:
- 34.251.255.57
- 34.250.133.68
- 54.77.84.155
AWS サーバー上にホストされた EasyTravel デモアプリのリンク:
- http://35.166.197.76:8079/
AWS にホストされたデモアプリを Dynatrace に接続
セットアップに使用したドキュメント:
- https://help.dynatrace.com/infrastructure-monitoring/amazon-web-services/how-do-i-start-amazon-web-services-monitoring/
Amazon アカウントにキー認証でアクセスを作成:
- ユーザー:dynatrace
- AKID:…
- シークレットアクセスキー:…
- カスタムポリシー:watch
- Amazon アカウントを Dynatrace に接続
Dynatrace の設定
- loadtest というリクエスト属性名を設定
- 設定 > サーバーサイドサービスモニタリングへ移動
- loadtest という新しいリクエスト属性を作成
- 「新しいデータソースを追加」をクリック
- パラメータ名を x-dynatrace に設定
- 「保存」をクリック
注意:属性名とパラメータ名の両方は小文字で記述してください
詳細ドキュメント:
https://www.dynatrace.com/blog/request-attributes-simplify-request-searches-filtering/
LoadView – 負荷テストスクリプトの作成
使用ツール:EveryStep Scripting Tool
- ブラウザベースのスクリプトを記録し、EasyTravel アプリをクリック操作
- ブラウザベースのスクリプトを再生
- テストスクリプトを編集し、tab0 変数の初期化後に次のコードを追加:Tab.SetRequestHeader(“loadtest”,”x-dynatrace”);
- EveryStep スクリプトの負荷テストを複数回(単一ユーザー)実行
- 負荷テストスクリプトを LoadView プラットフォーム にアップロード
テスト実行中のユーザー増加と E2E 応答時間の挙動を確認
Dynatrace – 詳細分析
loadtest フィルターを適用して関連リクエストを取得
サービスフローを開いて通信パターンを理解
長時間実行されるリクエストのリストを取得
長時間リクエストの詳細を表示し、問題箇所を特定
全体像からパフォーマンス分析を開始
ユーザーアクション
メリット
負荷テストとパフォーマンス監視は注目を集める2つの分野です。信頼性の低いアプリケーションを無視することはもはやできません。ユーザーが主導権を握っており、より信頼できるサイトにすぐに乗り換える傾向があるためです。放棄率の増加と迅速なリリースサイクルへのニーズの高まりによる財務的影響から、企業はこのパフォーマンスのジレンマの解決策を探しています。
開発初期段階での負荷生成により、多ユーザー環境下でのエンドツーエンド応答時間の変化を把握できます。テスターはプレプロダクション段階で非機能要件を検証するために負荷注入を利用します。
パフォーマンス監視は、アプリケーション層がどのようにサービス要求を処理しているかの洞察を提供します。開発者や運用スタッフは、アプリ内の問題箇所の特定によく使用します。
LoadView と Dynatrace を組み合わせることで、次のような大きなメリットがあります:
- ライフサイクル初期での性能問題の発見
- 性能問題の根本原因を特定
- 再実行の手間を削減
- 実際の本番環境下でのサービス動作を確認
- 通信パターンを理解
- ハードウェア容量の妥当性を検証
- アプリケーションチューニングの容易化
- コスト削減と使用した分だけの支払い
- 性能エンジニアリングのための社内インフラ不要
成功している企業は、開発ライフサイクルにパフォーマンスエンジニアリングを統合しています。事前環境で実際および将来の成長パターンをシミュレートし、ホットスポットを特定して修正し、調整されたアプリケーションを本番環境へ展開します。本番環境でも推測は排除されます。ユーザー体験を常に監視し、すべてのトランザクションをキャプチャし、現在および過去のデータに基づいて自動的に問題を検出します。LoadView と Dynatrace は、効率的で信頼性の高い IT サービスへの大きな一歩です。