クラウドベースの負荷テストサービス LoadView に入門

2021.11.17

LoadViewはクラウド環境から数千の同時接続を使用して、ウェブサイト、ウェブアプリ、APIをストレステストできるサービスです。・

LoadViewはクラウドベースの仮想サーバーを使用してサイトやアプリケーションにトラフィックを送信しますが、

これは、独自の負荷テスト環境(オンプレミス・クラウド)を維持するよりも、はるかに実用的でお財布にも優しくなる可能性があります。 マネージドなサービスなので、ネットワークやハードウェアのことは考えず、テストの設計と実行だけに専念することができます。

ウェブサイト、ウェブアプリ、Rest API、メディアストリームなど様々なテストソリューションが用意されています。

今回は使用感を知るために、ウェブサイトに対する簡単な負荷テストの実行を試していきたいと思います。

使ってみる

有料のサービスですが、 Free Trail で試します。

サインアップすると20ドルのクレジットが付与されるようです。

値段はこちらを参照してください

テストタイプの選択

LoadViewにサインアップし、ログインするとテストタイプを選択するページが表示されます。

Web Pageを選択しクリックしましょう。

デバイス設定

タスクの設定

テストタイプを選択すると、タスクの設定画面に遷移します。

テスト対象となるURLを入力し、テストを行うブラウザを選択します。

ブラウザはデスクトップとモバイルの主要なブラウザから選択できます。

Time Validation Thresholdはチェックがエラーになるまでの最大許容時間(デフォルト60秒)を入力します。

Network Throttlingはネットワークの速度を制御する設定です。 なし、遅い、平均、高速 から選択します。

デフォルトはNOです。

Ignore Certificate Errorsは証明書のエラーを無視するかどうかを選択します。

デフォルトはNOです。

Simulate Return Visitor は 再訪問者をシミュレートするかどうかを選択します。

再訪問者をシミュレートすると、すぐにWebページを2回目に再訪し、2回目の訪問の結果のみを記録します。結果は、ページ上の要素の有効期限など、ブラウザが特定のアイテムをどのように処理するかによって、1回目の訪問(常に空のキャッシュで開始される)と異なる場合があります。

デフォルトはNOです。

Response Time Calculation は レスポンスタイプの計測時間をどのイベントの時に行うか選択します。

デフォルトはFull Page Loadです。

今回は全てデフォルトで試してみます

オプションとして、Content ValidationBasic AuthenticationDownload FilterDNS Options という設定も行えます。

こちらはテスト対象のページによっては設定しましょう。

以下のドキュメントが参考になります。

デバイスを作成すると、以下のように作成した情報が表示されます・。

Validation ResultがOKであることを確認しておきます。

Load Type

サイトをテストする同時接続ユーザーの設定を行います。

  • Load Step Curve : 指定された期間、事前に決定された数の同時ユーザーをロードします。
  • Goal-Based Curve : 同時ユーザーを自動調整して、時間間隔ごとに必要なトランザクションレートに到達します。
  • Dynamic Adjustable Curve : テストの実行中に、同時ユーザーをリアルタイムで手動で調整します。

今回はLoad Step Curveで行ってみます。

最初は1ユーザーからスタートし、2分おきに2ユーザー増やしていく計画の場合の設定です。最終的には5ユーザーで1分間アクセスしています。

合計3分間のテストで65セッショんが生成される見積もりになっています。

※ トライアルアカウントは、最大10人の同時ユーザーに制限されています

Load Injector Payload

負荷テストに使用するサーバーごとの仮想ユーザーの数を設定します。

Network Proxy

ターゲットWebサイトがパブリックインターネットから利用可能かどうかに応じて負荷トラフィックの送信元の場所のタイプを選択します。

Webサイトがパブリックインターネットから利用できる場合は、ネットワークプロキシを使用せず、Do Not Useのままにしておきます.

ファイアウォールの背後にあるWebサイトをテストする必要がある場合は、ファイアウォールを開くことができる特定のIPアドレスからのロードトラフィックを許可できます。

静的IPアドレスのリストは、以下のページから見つけます・

特定のIPのファイアウォールを開くことができない場合は、オンサイトエージェントオプションを使用します

Load Injector Geo Distribution

負荷テストに使用するサーバーの地理的な場所を選択します。

※ トライアルアカウントは1つのゾーンに限られます

負荷テストを開始

テストの設定を行っていくと、ページ下部に実行にかかる料金などが表示されます。確認した後、Continueをクリックします。

テスト開始の時に通知を受け取るメールアドレスを入力し、テストの開始時期を選択します。

今回はNowを選択します。Start Test Nowボタンを押して開始しましょう。

レポートページに遷移します。準備が整うとテストが開始されるようです。

Summaryのエリアに、テスト実行時の情報が様々表示されます。

テスト結果の確認

Summaryには、

基本的なストレステストのプロパティの概要と、シミュレートされたユーザー数と負荷レベルの変化、応答時間の低下と増加、さまざまな時点で検出されたセッション数とエラー、およびLIのCPU使用率図を示す折れ線グラフが表示されます。

Logには、

すべてのユーザーセッションのログ。ドリルダウン情報とともに、エラー、失敗したセッションの簡単な説明、ウォーターフォールチャートなどが表示されます。

Device infoには、

デバイスとタスクの詳細な構成情報が表示されます。

最後に

Webページに対する負荷テストをLoadViewを使って行ってみました。

仮想ユーザーを簡単に用意し、世界中から負荷をかけれるというクラウドの強みが活かされたサービスだと感じました。

今回は単純なテストでしたが、EveryStepスクリプトというものを使って実際のユーザーの行動をエミュレートすることも可能なようです。 この機能に関しては別の記事で試した結果を書く予定です。