完全に管理されたクラウド ネットワークから大規模なロード テストを実行する
ガトリングとは何ですか?
ガトリングは、統合開発環境、バージョン管理システム、および継続的インテグレーションソリューションに使用できる負荷テストツールです。 独自のソリューションを持つものではなく、既存のソリューションと統合されます。 これは、分散メッセージ駆動型アプリケーションを構築するためのツールキットであるAkkaの上に構築されています。 これは、完全に非同期コンピューティングを可能にする分散フレームワークです。 これは、コード内の小さなエンティティで、メッセージングを介して相互に通信します。
このモードを使用すると、ガトリングは、単一のスレッドで複数の仮想ユーザーをシミュレートできます。 Akka は、多くのスレッドを処理する JVM の制限をオーバーライドします。 ロード テストを実行するには、アッカやスカラについて何も知る必要はありません。 しかし、ガトリングでマスターをしたい場合は、少なくともScalaを学ぶべきです。 とにかく、ガトリングの背後にある技術の基本的な理解を持つことは良いことです。 軽量で、他のパフォーマンス テスト ツールと比較して、1 台のコンピューターで数千人の仮想ユーザーを実行できます。 JMeter/LoadRunner上でガトリングのようなコードベースのパフォーマンステストツールを使用することは常に良いことです。 また、コーディングスキルを披露することもできます。 これにより、パフォーマンス要件に応じてさまざまなロジックを記述する高い柔軟性が得られます。
ガトリングの主な機能
ガトリングが提供するユニークな機能は、今日の市場の他のパフォーマンステストツールと比較してたくさんあります。 この記事の目的のために、ガトリングの主な機能と利点のいくつかを取り上げます。
スカラベースのプラットフォーム
ガトリングは Scala ベースですが、実際の Scala プログラミング経験を持たずにこのツールを使用できます。 Scalaの設計上の決定事項の多くは、Javaプログラミング言語に対する批判に対処することを目的としています。 先ほど述べたように、Scala プログラミングの基本的な知識を学ぶことができれば、テストをさらに柔軟にすることができます。 ツールの美しさは、Scala と Java のすべての利点にアクセスできるということです。
HTTP プロトコル
ガトリングは、パフォーマンス テスト用のアプリケーション API にも基づいて動作します。 API を直接構成でき、パフォーマンス テストを即座に実行できます。
ガトリングレコーダー
ガトリングは、JMeter /LoadRunnerが提供するのと同じように、組み込みのスクリプトレコーダーが付属しています。 レコーダーは、ブラウザとサーバー間の通信を傍受します。 これはプロキシ記録とも呼ばれます。 また、スクリプトを作成するためにHARファイルを使用することができます, JMeterやロードランナーのような他のツールでは見ることができません. 以降のセクションでは、手順を追って同じ手順を実行します。
継続的インテグレーション
ガトリングは、継続的な統合の一部として簡単に統合することができます。 また、ステップ バイ ステップ のチュートリアルも提供します。
なぜガトリング?
ガトリングは、他のパフォーマンス要件についてあまり心配することなく、システムをロード/ストレステストしたい場合に素晴らしいツールです。 1 つの JVM から、数千人の同時ユーザーを作成できます。 テストを行うために、マシンの分散ネットワークをセットアップする必要はありません。 前述のように、ガトリングは継続的インテグレーションの一部として追加する素晴らしいツールになります。 スクリプトを記録するのではなく、独自のコードを記述する場合にも最適です。
ガトリングのユースケースと機能の基本的な概要を確認したので、ダウンロードしてインストールする方法を見ていきます。 また、スクリプトの記録のステップバイ・ステップ・プロセスについても説明します。 この記事の後半では、有意義なパフォーマンステストとエンジニアリングに関しては、ガトリングが提供するものを超えていると感じている LoadView プラットフォームを紹介します。
ガトリングのインストールとサンプルスクリプトの実行
公式ウェブサイトを訪問するだけで、ガトリングをダウンロードすることができます。 インストールとサンプル スクリプトの実行の手順を以下に示します。
ウェブサイトからガトリングをインストールする
まず第一に、先に行くと 彼らのウェブサイトからガトリングをダウンロードしてみましょう.
上記の ウェブ サイトにアクセスすると、ガトリング パフォーマンス テスト ツールをダウンロードできます。 ここでは、ダウンロードのための2つのオプションがあります。 彼らのエンタープライズ版は、我々は支払う必要がありますより多くの機能を持っています。 だから、この記事の目的のために、我々はデモ目的のためのオープンソースバージョンと一緒に行きます。 ‘オープンソースバージョン‘ をクリックすると、オープンソースバージョンのダウンロードが開始されます。 ダウンロードが完了したら、先に進み、フォルダを解凍します。 実行に必要なものはすべてそのフォルダ内にあります。
ガトリングのチュートリアルとインストール要件
ガトリングはまた、良い学習チュートリアルを提供します。 公式ガトリングチュートリアルの詳細については、こちらをご覧ください。 また、ガトリング用の Windows と Mac のインストール前提条件もいくつか用意されています。 基本バージョンを実行するには、JDK がインストールされている必要があります。 また、このツールには少なくとも JDK8 が必要です。 JDK8 およびインストール要件をもっと学ぶ。
公式のガトリングのドキュメントを確認し、必要な前提条件を満たして環境を設定したら、インストールを開始します。 解凍したガトリングフォルダを開き、binフォルダに移動します。 ここからガトリングを実行する必要があります。 これは、CMDから、またはフォルダを参照することによって行うことができます。
Mac ユーザーの場合は、Gatling.sh で実行できます。 Windows を使用しているため、ガトリング.batを使用します。 ガトリングをダブルクリックすると.batツールが起動して実行されます。 ガトリングには、実行できるスクリプトの例もいくつか含まれています。 これらのスクリプトは、ダウンロードしたフォルダのサンプルセクションに記載されています。
ガトリングサンプルスクリプトの実行
ガトリング.batをダブルクリックすると、ガトリングが起動します。 ガトリングパッケージと一緒に出荷されるデフォルトのスクリプトの数を含むガトリング実行画面が表示されます。
次に、スクリプト [0] – コンピュータデータベースを選択します。基本シミュレーションは、コンピュータ データベースの基本シミュレーションです。 これらのスクリプトは、ガトリング テスト サイトを対象とします。 続けて「0 」と入力し 、Enterキーを押します。 ガトリングは、テストの説明を入力するように求められます、あなたは、あなたのテストのための任意の有効な説明を与えることができます。
あなたの実行は即座に開始されます。 5 秒おきにコンソールに出力されます。 スクリプトが数分間実行されていることがわかります。 実行後、特定の場所にレポートが生成されたという成功メッセージも表示されます。
実験値
現時点では詳細なレポート分析には入っていません。 他のパフォーマンス テスト レポートに精通している場合は、これはケーキの一部になります。 上記の場所でテストレポートが作成されていることがわかります。 私は以下のガトリングレポートのサンプルスクリーンショットを含めます。 はい、これらは HTML レポートであり、レポート生成形式のガトリング構成をさらに変更できます。
グローバル情報の結果
ガトリング・スタティックス・レポート
万丈! これで、Gatling をダウンロードして、最初のスクリプトを実行しました。
ガトリングレコーダーを使用した録音
ここでは、ガトリングレコーダーの仕組みと、シナリオの記録にどのように役立つかについて説明します。 コードを書き上げるかのいずれか、ガトリングでパフォーマンス テスト スクリプトを作成する 2 つの主な方法があります。
ガトリングレコーダー
ガトリング レコーダーは、GUI ベースの HTTP プロキシ レコーダーです。 これは、ユーザーが単にシナリオを記録し、テストを行う上で役立ちます。
手動スクリプト
スクリプトを作成するためには、Scala に関する豊富な知識が必要です。
このため、記事では、ガトリングレコーダーのデモを紹介します。 ガトリングレコーダーは、特にガトリングの初めてのユーザーである場合は、迅速で基本的なスクリプトを作成するのに便利です。 ガトリングレコーダーを起動するには、ガトリングビンディレクトリを参照し 、Windows用.bat Mac/Linux 用 の recorder.sh レコーダーを実行します。
ガトリングレコーダーを実行すると、以下の画面が表示されます。
録音モード
ガトリングレコーダーのオプションについて説明しましょう。 ガトリングには2つの記録モードがあります。
HTTP プロキシ モード
プロキシ用のブラウザからのすべてのトラフィックをキャプチャする HTTP プロキシ モード
HARコンバーター
HTTPアーカイブファイルを変換するHARコンバータ。
HARコンバーターは、より多くの制御を提供し、記録設定ではるかに少ないオーバーヘッドを持っているので、好ましいです。 また、HTTPS ウェブ サイト用にセットアップする方がはるかに簡単です。 最終的には、専門知識のレベルに応じて、あなたの好みです。 いっそのこと、両方のオプションを試してみて、あなたが最も好きなもの、またはあなたのニーズに合ったものを選択することができます。
ここで変更できる他のいくつかのオプションは、以下の黄色としてマークされています。 リダイレクト、出力フォルダ、キャッシュヘッダーの削除などを行うかどうかを設定できます。 ここでは、他のすべてのオプションをデフォルトとして保持します。
ガトリング レコーダー用 HAR ファイルを生成する
HARファイルを生成する方法は複数あります。 誰もが私たちがGoogle Chromeデベロッパーツールでそれを行う方法を知っています。 ここでは、Fiddler で行う方法を示します。 Fiddler がわからない場合、Fiddler は、クライアントとサーバーの通信の要求と応答をキャプチャできるネットワーク スニッフィング ツールです。 私たちは私たちの要求を変更することができるので、Fiddlerは私たちのニーズに適しています。 また、HARファイルから不要なリクエストを追加/削除することもできます。
レコーダーを使用して HAR ファイルをガトリング スクリプトに変換する
次に、Fiddler を使用して、どのように HTTP アーカイブ ファイル (HAR ファイル) を作成できるかを説明します。 デモの目的で、私はLoadViewのウェブサイトを使用します。
重要事項: ウェブサイトに対して、同意なしにパフォーマンステストを行わないようお願いします。 あなたは、ここでフィドラーをダウンロードすることができます. インストールとセットアップは非常に簡単なプロセスです。 Fiddler をダウンロードしてインストールしたら、デスクトップから Fiddler を起動します。
ここでは、ウェブ ブラウザと HTTP トラフィックのみを記録するように Fiddler を構成しました。 ウェブ ブラウザーの横にある をクリックすると、ネットワークキャプチャを有効にすることができます。 また、使用可能な追加の Fiddler 記録オプションについても学習できます。
シナリオを記録する
これで、任意のブラウザーでパフォーマンス テストを実行する必要があるシナリオを記録できます。 私たちは、LoadViewのウェブサイトに移動し、 私たちについてをクリックするつもりです。
ページがブラウザに読み込まれると同時に、Fiddler でキャプチャされることがわかります。
シナリオをキャプチャしたら、記録を停止し 、LoadView で検索を行い、他のすべての要求を削除します。 私たちは loadview-testing.com との要求が必要 です.
フィドラーリクエスト
私たちはすべての「ジャンク」要求を削除し、必要なリクエストのみを保持しました。 トラッカーリクエストも削除できます。
次に、ファイル > > エクスポートセッションに移動し、HTTPアーカイブV1.2としてリクエストを保存します。
私たちは仕事の半分で終わった。 Harファイルを作成するためにGoogle Chromeを使用している場合は、不要なリクエストをきれいにするのは非常に難しいでしょう。 これが、この場合に Fiddler を使用することを提案した理由です。
次に、ガトリングレコーダーを開き、ガトリングビンディレクトリを参照します。 [ガトリング レコーダーの起動] をダブルクリックします。 レコーダーモードをHARコンバータに変更します。 次に、保存した HAR ファイルを参照します。 HARファイルから画像やCSSなどをブラックリストに載付けるオプションがあります。 また、あなたの好みを覚えるためにガトリングを作ることができ、Saveの環境設定 ボタンをチェックして次回使用することができます。 すべての手順を完了したら、[ スタート ]ボタンをクリックしてガトリングスクリプトを作成します。
HARファイルがガトリングシミュレーションに正常に変換されたことを示すメッセージが表示されます。
ガトリング シミュレーション ファイル
次に、生成されたガトリングシミュレーションファイルを見てみましょう。 ガトリングのインストールフォルダを参照し、User-Files に移動し 、シミュレーションフォルダを 開きます。 これは、ガトリング レコーダーの既定のフォルダー ディレクトリになります。 指定したクラス名を使用してスクリプトを確認できます。 このファイルは、任意のテキスト エディタを使用するか、開発者ツールを使用して表示および開くことができます。 このため、スクリプトを開いて編集するために notepad++ を使用しています。
私たちはすでにガトリングの実行とレポートの生成のためのステップを経ました。 同じ手順に従って、ガトリングを使用してパフォーマンス テストを実行します。 さらなるスクリプト変更とシミュレーション情報は 、Gatling セットアップドキュメントを参照して学習できます。
ガトリングチュートリアルの結論
したがって、これまでに示したように、プロセスには多くの手順、前提条件、追加のダウンロードが含まれています。 ガトリングは使い方が複雑だと思いませんか? プログラミングのバックグラウンドを持っていない場合は、Gatlingを使用して苦労します。 心配しないで、我々はまた、LoadViewパフォーマンステストソリューションを使用して同じプロセスを議論しようとしている理由です。 LoadView は、プログラミングのバックグラウンドを持たずに、ウェブ サイトやアプリケーションを短時間でテストできるクラウドベースのロード テスト ソリューションです。 以降のセクションでは、スクリプトからレポートの生成まで、LoadView のデモを紹介します。
ロードビューを使用したロードテスト
LoadViewを使用すると、ユーザーはクラウドですべてのパフォーマンスタスクを実行することができます。 スクリプト作成、実行、およびレポート作成は、すべて同じインターフェイスから実行できます。 それは素晴らしいではありません! ガトリングを使用してスクリプトを作成したのと同じサイトのロード テスト プロセスを段階的に示します。 ガトリングとのプロセスと比較すると、私たちはそれがはるかに効率的で簡単であると思います。 必要なのは、組み込みのレコーダーを使用してページ上でユーザーアクションをスクリプト化し、ロードパターンを設定するだけです。 それはそれと同じくらい簡単です!
EveryStep Web レコーダーを使用したユーザー シナリオの記録
繰り返しますが、私たちがテストしようとしているウェブサイトは LoadView、私たちはガトリングに使用したのと同じウェブサイトです。 LoadViewアカウントをお持ちでない場合は、 サインアップが迅速かつ簡単 で、最初のロードテストを開始するためにロードテストクレジットで$20を受け取ります。
ロード テストの種類を選択する
既にサインアップしている場合は、アカウントに移動して LoadView および EveryStep Web レコーダーにアクセスできます。 または 、最初にレコーダーを開 いてからアカウントにログインしてください。 [新しいテスト] をクリックすると、次のように LoadView レコーダー ウィンドウが開きます。 [ウェブ アプリケーション] をクリックします。
ウェブ アプリケーションをクリックすると、EveryStep Web レコーダーが起動します。 ウェブ アプリケーションアドレスを入力する必要があり、もう一度 LoadView ウェブ サイト (https://www.loadview-testing.com/) になります。
デバイスの互換性に関する考慮事項
LoadView を使用して、パフォーマンス ベースのデバイス互換性テストを実行することもできます。 モバイル デバイスに対してのみ問題が発生する場合があります。 その場合は、アプリケーションの互換性サポートに基づいて、モバイル/タブ/ラップトップを選択することができます。
URL を入力し、[ 今すぐ録音 ] ボタンをクリックします。
EveryStep Web レコーダーでの録音を開始する
これで録音が開始されます。 画面で特定の手順/ナビゲーションを実行するだけです。 あなたが通過すると、各ステップが記録され、以下に入力されていることがわかります。 記録されたスクリプトの詳細は、レコーダーの下の画面に表示されます。
録音を終了する
ユース ケース シナリオを完了したら、[ 停止 ] ボタンをクリックします。 次に、スクリプトを再生するには[ 今すぐ再生 ]ボタンをクリックする必要があります。 これにより、スクリプトがエラーなしで記録されたことを確認できます。 スクリプトにエラーがある場合は、エラー メッセージが表示されます。 エラーが発生しなかった場合は、成功メッセージが表示されます。 必要に応じて、スクリプトを保存し、後で変更します。
スクリプトの編集
記録を完了して再生したら、必要なロジックに基づいてスクリプトをさらに強化できます。 LoadView は、コンテキスト パラメーター、遅延、相関関係の追加をサポートしています。
ロード テストのセットアップ
ロード テストの実行を構成するための新しいデバイスを作成するように求められます。 デバイスに名前を付けて、デバイスの設定を続けます。 目標に必要な場合は、[ 設定]、[ 完了タイムアウト]、[DNS オプション] の下に構成する追加のフィールドがいくつかあります。 ロード テストの設定の詳細については、をお読みください。 準備ができたら、[ デバイスの作成] を選択できます。
テスト シナリオの構成
要件に応じて任意の荷重タイプを選択します。 荷重曲線のオプションはいくつかあります。 パフォーマンス ワークロード モデルに基づいて、負荷の種類を決定できます。 既定の設定を進め、[ステップ カーブを読み込む] を選択します。
ロードインジェクタジオディストリビューション
地理的に分散した顧客ベースがある場合、LoadView では世界中の負荷発生器から選択できます。 ウェブサイトやアプリケーションが最も使用されている国や地域から負荷を生成することは常に良い習慣です。 これは、LoadView に関する最高の機能の 1 つです。 この種の機能は、今日の市場で最もオープンソースのパフォーマンステストツールでは得られないでしょう。
ロード テストの詳細を確定する
ワークロード モデルを作成したら、次に、ロード テスト レポートが電子メールに配信されるように、電子メール アドレスを指定する必要があります。 また、ロード テストを後でスケジュールすることもできます。 これにより、他のタスクに時間を費やすことができます。 LoadViewはスケジュールされた時刻に自動的に実行を開始し、レポートは指定したメールアドレスに配信されます。
ロード テストを開始する
すべてが構成されたら、[ 今すぐテストを開始 ]ボタンをクリックします。 ロード テストの実行が開始されると、状態は [実行中] に変更されます。 ロードインジェクタが開始するまで数分を与えます。 現在のロード テストの状態の [テストの概要] タブを表示できます。 リアルタイムロードテストのグラフィカルデータは、Eエクセキューションプランの下で利用可能になります。
累積セッションとエラー
また、成功したセッションの合計数やエラーの種類別のエラーの合計数などの追加のグラフを観察することもできます。
ロード テスト レポート
テスト実行パフォーマンステストレポートの後、PDF 添付ファイルとしてメールに配信されます。 LoadView コンソールからその情報を確認することもできます。 これは、チームやさまざまな社内関係者と共有できます。
そして、それはそれです。 ロード ビューでロード テストを実行したところです。 ご覧のとおり、非常に簡単で、数回クリックするだけでした。 複雑なコーディングを行ったり、時間のかかるハードウェアのセットアップやインストールを行う必要はありませんでした。
ガトリングロードテスト:ラップアップ
これが最初にガトリングに触れた場合、私はあなたがまだ多くの質問を持っていると確信していますが、次のプロジェクトでGatlingを使用することを検討する基本的な知識を持っている必要があります。 ガトリングの主な利点は、特に継続的な統合環境でガトリングを実行している場合は、単一のマシンから非常に多くの負荷を生成できることです。 ガトリングの本当の力は、ジェンキンスのようなツールと一緒にCI / CD環境で実行することから来ています。 あなたが本当に高度なレベルガトリングを学ぶことに興味があるなら、私はあなたがScalaを学ぶことをお勧めします。 そして、それはテストを行うのと一緒にあまりにも多くの努力かもしれません。 ツールと一緒に、あなたはまったく新しい言語を学ぶ必要があります。 私はそれが新しい言語を学ぶことにあなたの時間を費やす価値があるとは思わない。 代わりに、あなたのパフォーマンスエンジニアリングスキルを磨く上であなたの貴重な時間を費やす必要があります。
ここで、LoadView の可能性を最大限に活用できます。 新しいツール、新しいプログラミング言語の学習、または負荷発生器の管理などに余分な時間を費やす必要はありません。 プラットフォームにログインし、スクリプトを記録し、ロード テストを実行するだけです。 アプリケーションの最適化とスケーリングに貴重な時間を費やすことができます。 問題が発生した場合、LoadView チームは比類のない 24 時間 365 日サポートも提供します。 パフォーマンス エンジニアは、必要に応じてセットアップ、スクリプト、およびテスト プロセスをガイドするためにお手伝いします。 今すぐ LoadView トライアルを開始しましょう!
パフォーマンステストツールの研究プロセスを始めたばかりなら、ロード テストの選択肢 ページに進み、BlazeMeter、k6、Flood.io、LoadRunnerなどの他の負荷テストツールやプラットフォームをLoadViewに比較できます。