使用するツール - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

使用するツール

K6

K6 は、サポート、負荷ソースのホスト、および負荷テストを整理、実行、分析するための統合ウェブインターフェイスを提供する無料ツールです。

K6 は Go で記述され、単一の実行可能ファイルとして提供されています。ソースシステムのすべてのコアを使用します。JavaScript のサブセットを使用して、テストプロファイルを含む複雑なシナリオを実行します。JavaScript では、効率的に実行される複雑なテストシナリオを作成できます。出力は概要でも、複数のターゲットストアの詳細な出力でもかまいません。拡張機能はサポートされていますが、公式の K6 拡張機能を除いて、メンテナンスの行き届いた拡張機能はほとんどありません。

サーバーが十分に大きければ、ほとんどの負荷テストを単一のサーバーから実行できます。これにより、複雑な分散負荷テストを回避できます。

負荷テストの結果は、Amazon Managed Service for PrometheusAmazon CloudWatch、またはより詳細な分析を行う別のモニタリングサービスに転送できます。シナリオコードに成功基準を含めて、継続的インテグレーション (CI) パイプラインで実行することもできます。

Vegeta

Vegeta 負荷テストは別のコンセプトを採用しています。同時実行を定義したり、システムに負荷をかけたりする代わりに、特定のレートを定義します。また、このツールはシステムの応答時間とは無関係に負荷を作成します。

これは、応答時間やテストの影響を打ち消して、バックプレッシャーのシナリオやバックエンドプロセスの長期的な動作を調べる最適な方法です。このツールは複雑な動作はできませんが、リクエスト間で情報を渡す必要のない任意の一連のリクエストを実行できます。

Vegeta は Go アプリケーションのライブラリとしても使用できます。これにより、強力なバックエンドで独自の負荷テストを実装できます。ただし、独自のテストを実装するよりも別のツールを使用する方が理にかなっている場合もあります。

Hey および ab

Apache HTTP サーバーのベンチマークツールである Heyab は、コマンドラインから指定の負荷を単一のエンドポイントで実行できる基本的なツールです。ツールを実行するサーバーがある場合、これは負荷を発生させる最も速い方法です。ローカルのラップトップでも動作しますが、高い負荷が発生するほど強力ではない場合があります。

Apache JMeter

Apache JMeter は、長年の経験で培われたパワーホースです。長年にわたって、Apache JMeter は信頼性を向上させ、機能を追加してきました。グラフィカルインターフェイスを使用することで、プログラミング言語を知らなくても複雑なテストを作成できます。BlazeMeter などの企業が Apache JMeter をサポートしています。

AWS の分散負荷テスト

AWS ソリューションの分散負荷テストは、カスタム Apache JMeter スクリプトの使用をサポートします。AWS ソリューションで分散負荷テストを使用する場合、Apache JMeter スクリプトをアップロードして、クラウド上でテストを実行できます。もう 1 つの利点は出力サポートです。イベントをタイムストリームデータベースにストリーミングし、その上で高度なクエリを実行できるため、完全なテストの実行に関する詳細なインサイトを得ることができます。