負荷テストの影響 - AWS 規範ガイダンス

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

負荷テストの影響

以下のセクションでは、負荷テストを実行する際によくある、落とし穴となる副作用について説明します。

コスト

大規模なパフォーマンステストを実行する際に簡単にスケールできるクラウドを使用すると、長時間実行されるテストに多数のサーバーをデプロイし、プロセス中に大量の帯域幅を使用することで、高額のコストが発生する可能性があります。これを避けるには、事前に計画し、支出できるコストを検討します。表現可能な結果を得るために、ターゲットシステムを適宜モデル化します。

サードパーティと可用性

テストしたフローにサードパーティサービスの呼び出しが含まれていると、クォータを使い果たしたり、不要なコストが発生したりする可能性があります。可能な場合は、サードパーティシステムを無効化またはスタブして、テストに含まれないようにします。外部サービスを、ユーザーがホストし、偽ではあるが有効な応答を返すスタブに置き換えることで、独立性が保たれます。テストを独自のアプリケーションに集中させます。

サードパーティシステムを含めると、それらが結果の一部になります。サードパーティシステムの速度が遅いと、ドラッグやバックプレッシャーが発生します。また、サードパーティシステムを利用できない場合、無関係の誤ったエラーが発生します。

テストデータの蓄積

大規模なテストを実行し、詳細な分析のために多くのデータポイントを保持すると、大量のデータを取得します。ディスクスペース、時系列データベース、Amazon Simple Storage Service (Amazon S3) などのストレージシステムは、大量のデータを処理し、必要なクエリ機能を提供できる必要があります。ニーズに応じて、サーバーサイズ、パーティショニング、データの廃止を計画します。事前に計画を立て、早めに調整すれば、これは問題にはなりません。

ネットワーク帯域幅

負荷テストには通常、大量の帯域幅が必要となり、サーバーに負担がかかります。負荷テストを実行するサーバーを適切にスケールしてください。ネットワークアップロードがボトルネックにならないように、十分な帯域幅を確保してください ほとんどの場合、負荷が発生しているサーバーの数は、負荷を受けているアプリケーションサーバーの数よりも少なくなります。そのため、テストサーバーにはより多くの帯域幅が必要です。AWS では、サフィックスとして n を持つ Amazon EC2 インスタンスが拡張ネットワーキング機能を提供します。