9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Distributed Load Testing on AWSを使った負荷テストをやってみた

Posted at

現在弊社では常に一定の高負荷にさらされることが予想されるSaaSサービスを構築しており、サービスローンチにあたって負荷テストを実施しておきたいので、今回このソリューションを試してみることにしました。
今回はDistributed Load Testing on AWS自体の検証が目的のため、テストする対象は弊社の環境に転がっていた適当なMockAPIにしました。(なのでテスト結果は面白くないです。)

デプロイ方法

  • AWSアカウントにログインしている状態で以下にアクセスしてAWSコンソールで起動するをクリックします。
    スクリーンショット 2022-12-22 17.11.57.png

  • スタックの作成画面が表示されますが、リージョンがus-east-1になってしまうので、デプロイ先を別のリージョンにしたい場合は、ここで切り替えてそのまま次へをクリックします。
    スクリーンショット 2022-12-22 17.12.23.png

  • スタックの詳細を指定画面では名前メールアドレスが必須項目なので入力して、デプロイ先のVPC等を変えたい場合は指定されている通り設定します。今回は任意項目はすべてデフォルトのままとしました。
    スクリーンショット 2022-12-22 17.13.30.png

  • スタックオプションの指定ではタグやIAM Roleをお好みで設定します。今回はすべてデフォルトのまま次へ。

  • レビュー画面ではAWS CloudFormationによってIAMリソースが作成される場合があることを承認します。のチェック入れて送信をクリックします。
    スクリーンショット 2022-12-22 17.17.26.png

  • 少し時間がかかりますが、これでデプロイは完了します。

コンソールでの操作

  • デプロイが完了したら設定したメールアドレスにコンソールのURLと初期パスワードが送られてくるので、パスワードをコピーしてURLをクリックします。
    スクリーンショット 2022-12-22 22.02.13.png

  • ログイン画面が開くので、ユーザー名と初期パスワードを入れてログインします(初回はパスワード変更が求められます。)
    スクリーンショット 2022-12-22 22.35.16.png

  • ログインできたら画面上部のCREATE TESTをクリックします。
    スクリーンショット 2022-12-22 22.37.58.png

  • 各種設定を行っていきます。左側が実行に関する設定で、右側が対象の設定(シナリオ)です。公式のガイドには説明が無いですが、書いてある英文を要約すると、TaskCount(コンテナの数)、Concurrency(コンテナ内のバーチャルユーザーの数)を設定し、RameUpの時間をかけてその値に到達し、Hold Forの時間その状態をキープするということらしいです。Task Countの最大値が1000でConcurrencyの推奨が200なので、高負荷をかけたいときはそのくらいにとどめておくのが良さそうです。
    スクリーンショット 2022-12-22 22.40.22.png

  • 結果は以下のように表示されます。グラフは1分刻みでしか表示できないようなので、短時間の実行では詳細なグラフは取れないようです。ただ、基本的な集計結果は表示されるので、これだけ簡単に負荷テストの環境を構築できるのであれば十分使えそうです :tada:
    スクリーンショット 2022-12-22 22.52.48.png

環境削除

デプロイされたCloudFormationのスタックを削除するとある程度消えますが、以下のリソースが残ってしまうので、手動で削除します。

  • LogGroup
  • S3 Bucket
  • DynamoDB Table

以下のように対象スタックのリソースタブでステータスでソートしてDELETE_SKIPPEDとなっているリソースを片っ端から削除すれば漏れなく消せるかなと思います。
スクリーンショット 2022-12-22 23.45.10.png

まとめ

かなり簡単に負荷テスト環境を構築することができました。実際の負荷テストに向けてもう少し設定をいじってみようと思います :muscle:

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?