Slide 1

Slide 1 text

アプリケーションエンジニアが Distributed Load Testingで 負荷テス トをしてみる〜Ver.A〜 2024.07.17 SATOSHI KANEYASU

Slide 2

Slide 2 text

2 ⾃⼰紹介 ⽒名︓兼安 聡 所属︓株式会社サーバーワークス アプリケーションサービス部 在住︓広島(フルリモート) 担当︓DevOps、PM、SM 2024 Japan AWS Top Engineers (Database) 2024 Japan AWS All Certifications Engineers 認定スクラムマスター X︓@satoshi256kbyte

Slide 3

Slide 3 text

3 Distributed Load Testingとは︖ 準備に時間をかけることなく負荷テストをするための、AWS製のソ リューションです。 過去負荷テストで失敗し、その経験からこのソリューションを良いと 思っているのでこちらの話をします 参考資料 AWS での分散負荷テスト | AWS ソリューション 負荷テスト on AWS のすすめ ~ 第 1 回 負荷テスト on AWS のすすめ ~ 第 2 回 負荷テスト on AWS のすすめ ~ 第 3 回 サーバーワークスエンジニアブログ - Distributed Load Testing on AWS を使ってみた

Slide 4

Slide 4 text

4 Distributed Load Testingの利⽤⽅法① 引⽤︓AWS での分散負荷テスト | AWS ソリューション 公式ページのこちらをクリック 事前にAWSマネジメントコン ソールにログインしておく

Slide 5

Slide 5 text

5 Distributed Load Testingの利⽤⽅法② VPCとサブネットのIDを⼊⼒ 管理サイト⽤のログインID、 メールアドレスを⼊⼒

Slide 6

Slide 6 text

6 Distributed Load Testingの利⽤⽅法③ • 管理サイトのURL、初期パスワードなどが 記載されたメールが届く • クリックしてログインすると、パスワード 再設定となり管理サイトへ

Slide 7

Slide 7 text

7 Distributed Load Testingの利⽤⽅法④ コンテナ数 コンテナごとの ユーザー数 JMeterのファイル をロード可能 テストの持続時間 Maxに⾄るまでの時間

Slide 8

Slide 8 text

8 Distributed Load Testingの利⽤⽅法⑤

Slide 9

Slide 9 text

9 AWSサポートへの質問も可能

Slide 10

Slide 10 text

10 Distributed Load Testingのコスト AWS サービス ディメンション コスト [USD] AWS Fargate 10 個のオンデマンドタスク (2 つの vCPU と 4 GB のメ モリを使⽤) を 30 時間実⾏ 29.62 USD Amazon DynamoDB 1,000 件のオンデマンド書き込みキャパシティーユニット 1,000 件のオンデマンド読み込みキャパシティーユニット 0.0015 USD AWS Lambda 1, 000 件のリクエスト 合計所要時間 10 分 1.25 USD AWS Step Functions 1,000 件の状態遷移 0.025 USD 合計 30.90 USD / ⽉ 引⽤︓AWS での分散負荷テスト

Slide 11

Slide 11 text

11 過去の失敗談 PJの終盤に急に負荷テストを⾏うことになり暗中模索する オンプレサーバーから負荷テストを⾏い、 社内NWを重くしてインフラの⽅にお叱りを受ける 1台のサーバーでやろうとしてCPU・ソケット数の壁で負荷 がかけきれない 複数台にした場合、1台あたりの性能・かける負荷がどれぐ らいが適切かがわからない

Slide 12

Slide 12 text

12 過去の失敗談から学んだこと • 負荷テストは軌道に乗せるまでが⼤変 • アプリエンジニア視点だと難易度が 環境の準備>>>テストシナリオの作成 • 細かい計画よりもまずテストできるか︖

Slide 13

Slide 13 text

13 Distributed Load TestingはAWSのネットワークを使⽤ AWSのNWを使⽤するので、NWにより負荷テストが進まな い事態は起きにくい ただし、AWSのNWは⼀般的なNWより速いのには要注意

Slide 14

Slide 14 text

14 Distributed Load Testingはタスク数=コンテナ数 タスク数=コンテナ数なのでわかりやすく試しやすい 時間をかけてコンテナ数が指定したタスク数に ⾄る動きをする

Slide 15

Slide 15 text

15 タスク(コンテナ)数の上限 タスク(コンテナ)の上限は画⾯上で確認可能 DLT= Distributed Load Testing(たぶん)

Slide 16

Slide 16 text

16 タスク(コンテナ)のログはCloudWatch Logsに出る うまく動かない時はここでヒントが掴める

Slide 17

Slide 17 text

17 最後に アプリエンジニアにとって、負荷テストは必要 とされる知識のレイヤーが異なるためかなりし んどい 乗り切るための候補として、 Distributed Load Testingを挙げさせていただ きます 負荷試験実施の際にはAWSの申請を忘れずに

Slide 18

Slide 18 text

18 終了です ご清聴ありがとうございました

Slide 19

Slide 19 text

No content