パフォーマンス テストは、負荷が発生したアプリケーションの速度、応答性、安定性を評価するためのテストの一種です。 アジャイル テストのパフォーマンス テストの目標は、アプリケーションが予想される負荷の下で適切に動作することを確認することと、アプリケーションでパフォーマンス関連の問題を見つけることを目的としました。 ページやアプリケーションがストレスを感じているときに発生する可能性のある抜け穴やボトルネックを特定するのに役立ちます。
ロードビューでJMeterロードテストの制限を克服
パフォーマンス テストの種類
パフォーマンス テストにはさまざまな種類があり、予想されるビジネス ニーズに応じて使用できます。
ロードテスト
ロード テストでは、アプリケーションが予想外のユーザー ロードを実行できるかどうかがチェックされます。 目的は、パフォーマンスのボトルネックを特定することです。
ストレステスト
ストレス テストでは、アプリケーションを極端なワークロードでテストし、トラフィックの多い処理やデータ処理を処理する方法を確認します。 目的は、アプリケーションのブレークポイントを特定することです。
耐久試験
1 つは、ソフトウェアが長期間にわたって予想される負荷を処理できることを確認します。
スパイクテスト
スパイクテストは、生成された負荷の急激な大きなスパイクに対するソフトウェアの反応をテストします。
ボリュームテスト
目的は、さまざまなデータベース ボリュームでアプリケーションのパフォーマンスをチェックすることです。
スケーラビリティテスト
スケーラビリティ テストの目的は、負荷の増加をサポートする “スケール アップ” の効果を判断することです。 既存のシステムに容量を追加する計画を立てるのに役立ちます。
適切なパフォーマンス テスト ツールの選択
プラットフォームに必要なパフォーマンス テストの種類を決定した後、最も重要な問題は、どのツールを使用するかということです。 市場で利用可能なロードテストツールのトンがあり、オープンソースはほとんどなく、閉鎖されている人はほとんどいません。 しかし、我々は、人気のある主要なツールを以下に探している要件に基づいて、複数の目的を果たし、パフォーマンステストから最高の結果を得るために私たちを助けます。
私たちは、最も人気があると考えており、ウェブ サイト、内部/外部のウェブ アプリケーション、APIなどのアプリケーションのすべての異なるセットのロードテストを実行するのに役立つガトリング、JMeter、LoadViewを見ることを選択しました。
ガトリングとは何ですか?
ガトリングは、スカラ、アッカ、ネッティに基づくオープンソースのロードテストツールです。 ローカル マシンとクラウド サーバー上で、高パフォーマンスで保守が容易なロード テストを作成し、実行するのに役立ちます。 ガトリングは複数のオプションで使用することができ、ウェブサイトのパフォーマンステストのための自動シミュレーションを作成できる主要なケースの1つ、スクリプトを編集することができ、複数のパラメータで追加することができ、ガトリング構成は完全に自由に編集することができます。 また、HTTP プロトコルの優れたサポートも提供するため、HTTP サーバーをテストする選択肢の 1 つです。
ガトリングの利点
- オープンソース. GatlingはScalaに基づくオープンソースのパフォーマンステストフレームワークで、人が読めるDSLを持ち、テストの作成と実行を容易にします。
- コードの再利用性とバージョン管理 チームのコラボレーションを強化し、履歴の変更を簡単に追跡するガトリングソースコードにバージョン管理を導入できます。
- マルチスレッド化: ガトリングは、NettyフレームワークとAkkaツールキットを使用して、設計上、分散され、完全に非同期化されたアクターモデルに基づいているため、Gatlingが各ユーザーに新しいスレッドを割り当てないようにします。 これにより、単一のスレッドを使用してユーザー体験のリストをシミュレートできます。
- CI/CD 統合. ガトリングプロジェクトは、Maven、Gradleビルダーを使用して構築することができ、CI / CDパイプラインに簡単に組み込むことができます。
- レポート. NewRelic、グラファナ、トーラスなどのリアルタイムトラッキングツールなどのツールと簡単に統合できます。
- アサーション: また、統合されたアサーション API も提供され、パフォーマンス テストと共にさまざまな種類の機能チェックを実行できます。
ガトリングのデメリット
- プロトコルのサポート: HTTP、WebSocket、サーバー側のイベント、および JMS (Java メッセージ サービス) のみをサポートします。
- たくさんのスクリプト作成. ガトリングは純粋にコードベースなので、ガトリングに精通していない人にとってかなりの学習曲線になる可能性があります。
- サポート材料の不足. JMeterのようなツールと比較して、より小さなユーザーベースがあり、多くのサポートドキュメントは利用できません。
- テスト実行データ: 応答時間はテスト完了時にのみ表示でき、サードパーティのソリューションを使用する必要があります。
JMeterとは何ですか?
JMeterは、Apache FoundationのJavaベースのオープンソースパフォーマンステストツールであり、最も古いパフォーマンスツールの1つです。 ウェブ アプリケーション、FTP アプリケーション、および HTTP バックエンド サーバーのパフォーマンス メトリックを測定します。 JMeterは、ウェブサーバーをヒットする仮想同時ユーザーのトンを作成することによって、サーバー上の重い負荷をシミュレートすることができます (JMeterを使用する方法の詳細については、私たちの究極のガイドをチェックしてください)。
JMeterの利点
- オープンソース. JMeterはオープンソースソフトウェアであり、無償でダウンロードできます。 また、純粋な Java ベースのアプリケーションでもあります。 開発者は、ソースコードを使用して、要件に従って変更およびカスタマイズできます。
- ユーザーフレンドリー. また、テスト計画の作成や、数回のクリックでテスト シナリオの追加に役立つ包括的な GUI も提供します。
- サポート. ストレス テスト、分散テスト、ウェブ サービス テストなどの機能性に関するテストをサポートします。
- 包括的なドキュメント: JMeterは長い間存在してきたので、理解しやすく、テストをゼロからセットアップできる広範なドキュメントがあります。
- 録音する 。 これにより、ブラウザ上でアクションを監視して記録し、その作成スクリプトに基づいて、多数の同時ユーザーで再実行することができます。
- レポート. ダッシュボードレポートの生成をサポートし、実行結果を理解するのに役立つレポートがいくつか生成されます。
JMeterのデメリット
- スクリプト作成. JMeterの要素と機能性に関する深い知識を持つ人が必要です。
- プロトコルのサポート: Java スクリプトを実行できません。 AJAX、JavaScript、フラッシュなどの動的アプリケーションを構築するために使用される技術はサポートされません。
- 実際のブラウザのサポート 実際のブラウザーで ウェブ 要素をレンダリングしません。
- 大規模なロード テストを実行しています。 多数のユーザーでテストを実行するには、広範な手作業が必要です。
ロードビューとは何ですか?
LoadView は、ユーザーが実際のブラウザからウェブ サイト、ウェブ アプリケーション、ウェブサーバー、内部アプリケーション、ストリーミングメディアをテストすることを可能にする、完全に管理されたクラウドベースのロードテストツールです。 ブラウザーに 複雑な ウェブ アプリケーションを記録 することで、テスト シナリオを作成できます。 最後からハードウェアを必要としない LoadView クラウドサーバーを使用して、geo 分散ロードテストを実行できます。
ロードビューの利点
- 完全に管理されたクラウド テスト: LoadViewを使用している間、ロードテストを生成するためにサーバーやマシンを必要としませんが、内部インフラストラクチャのサポートを節約する完全なクラウドサポートを提供します
- エブリステップウェブレコーダー. ウェブ レコードの複雑な ウェブ アプリケーションに機能を提供し、40 以上のデスクトップ/モバイルブラウザーとデバイスをサポートし、さらに、Flash、HTML5、Java、PHP、Ruby、Silverlight などのインタラクティブなコンテンツを作成するために使用されるテクノロジをサポートします。
- 仮想負荷インジェクタ. 米国、カナダ、APAC、南米、ヨーロッパの15以上のゾーンのロードインジェクタサーバーを利用しているので、数百または数千人のユーザーで簡単にテストを実行できます。
- ユーザー負荷の配分: これは、当社のウェブサイト上のトラフィックの大半に応じて、地理的に分散された負荷へのアクセスを提供します。
- レポート. LoadView は、パフォーマンスの問題が発生した場所を正確に把握できる、概要レベルおよび要素レベルの詳細レポートを提供し、チームが改善の必要性を領域を迅速に特定して修正できるようにします。
- CI/CD 統合と簡単なプロキシ セットアップ. Jenkins のような CI ツールとの簡単な統合をサポートします。
- 監視プラットフォームと統合。 ロード テストの後、ユーザーはわかりやすいダッシュボードを使用して 、運用環境で ウェブ ページ、サービス、およびアプリケーションを監視 できます。
機能の内訳
以下は、説明したツールの基本的な機能の違いを示すグラフです。 ユースケースや環境に応じて、これらのツールには、パフォーマンステストを実行する際にユーザーに提供するものがあります。
顔立ち |
ガトリング | Jメーター | ビューを読み込む |
テスト シナリオの作成 | 基本的な Scala および DSL 言語の理解に関する知識が必要です。 | GUI は、スレッド グループを作成し、テスト シナリオを簡単に作成するのに役立ちます。 | ユーザーフレンドリーな GUI は、要件に基づいてテスト シナリオを作成するのに役立ちます。 |
テストの実行 | ロード テストは、ローカル コンピューターまたは専用サーバーから実行できます。 | トラフィックの多い場合は、ローカル マシンまたは専用サーバーが必要です。 | ハードウェアはブラウザベースであるため、LoadViewはテストを実行するための専用のクラウドサーバーを提供します。 |
地理分散ロード テスト | テスト専用の場所に AWS または GCP サーバーをセットアップする必要があります。 | テスト専用の場所に AWS または GCP サーバーをセットアップする必要があります。 | ウェブ サイトからほとんどのトラフィックが必要な場所からロード テストをホストする機能を提供します。 |
ドキュメントとサポート | ガトリングでは、ドキュメントをよりよく理解するために、DSlとScalaに精通している必要があります。 | JMeterは最も古く、成熟したツールであるため、最高のドキュメントを持っています。 | LoadView には広範なドキュメントがあり、24 時間 365 日の通話サポートとライブ デモを提供しています。 |
プライシング | オープンソースと無料 | オープンソースと無料 | ロード テストの実行に使用される専用のホストサーバーの LoadView 料金。 |
CI/CDジェンキンスとの統合 | はい | はい | はい |
ガトリング対JMeter対ロードビュー:結論
ロード テスト ツールで見てきたように、ロード テストのオプションが多数あることを確認できます。 無料のロードテストツール、有料ロードテストツールがあります。 これらの選択肢のすべてで、特定の状況に最適なロード テスト ツールを決定するのは困難です。 この記事では、これらのツールのそれぞれを区別する機能、それらの利点、相違点を見て、各ツールのツールのサポートを報告する CI/CD の統合について説明しました。 確かに無料のロード テスト ツールを使用でき、ジョブを完了するのに十分かもしれませんが、LoadView が提供するメリットは非常に大きいです。 LoadView と比較して、他の負荷テスト ソリューションの詳細については、 代替 のページをご覧ください。
今日はあなた自身のためにビューを試してみてください。 無料トライアルにサインアップ し、ロードテストクレジットで$ 20を受け取ります。 または、LoadView プラットフォームを完全にウォークスルーするために、LoadView エンジニアとライブ デモをスケジュール します。