FIXER cloud.config Tech Blog
Azureでホコ×タテ! Load TestingでStatic Web Appsに限界まで負荷をかけるとどうなる?
2022年05月24日 11時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Azure ホコ×タテ!! Load Testing で Static Web Apps に限界まで負荷をかけるとどうなる?? #Azureリレー」を再編集したものです。
こんにちは、サトハルです。
以前ご紹介したAzure Load Testingではクラウドのマシンを使って普通のPC一台では考えられないような大きな負荷をウェブアプリに対してかけることができます。
一方、度々ご紹介しているAzure Static Web Appsはエッジ負荷分散をはじめ多くの技術により「待機時間を大幅に短縮」と謳っております。
どちらもここ数年にできたばかりの「今が旬」なサービスです。
そんなわけで(?)突然ですが、始まりました Azureほこ×たて。
絶対に落とす(とは言ってないけど)負荷をかけるAzure Load Testing
vs
絶対に落ちない(とは言ってないけど)高可用性の Azure Static Web Apps
ヤラセなしでやっていきましょう
レギュレーション
・表示するのはvueのデフォルトサイト
・APIへのアクセスなども一切なし
・Load TestingサイドのJMeterの設定は以下の通り
・スレッド数(ユーザー数):250人
・Ramp-Up期間(何秒かけて指定ユーザー数まで増やすか):25秒
・ループ回数(1ユーザーが何回実行するか):500回
・Load Testingのインスタンス数は1,10,45の三段階を候補とし、敗北した場合に数を増やして再挑戦する
・Static Web Appsサイドは、最初はフリープランで挑むが敗北した場合はスタンダードプランにして再挑戦する
・勝敗はエラー率などを元にレフリー(僕)が判断する
1試合目
Load Testing:インスタンス数1
Static Web Apps:フリープラン
結果
429エラーが発生、初戦はLoad Testingの勝利となりました。
(1分半の間に12万件のアクセスが来たのに75%は捌けてる時点ですごい気もするけど……)
2試合目
Load Testing:インスタンス数1
Static Web Apps:スタンダードプラン
結果
エラー件数0、Static Web Appsの勝利です!!
フリープランとスタンダードプランでクォータ制限に差があるんですね。
公式の違いをまとめた表だと載ってないので知らない方も多いのはないでしょうか。
参考:Azure Static Web Apps ホスティングプラン| Microsoft Docs
3試合目
Load Testing:インスタンス数10
Static Web Apps:スタンダードプラン
結果
3分20秒の間に123万件のアクセスを行なってるのですが、捌けてますね……
3試合目はStatic Web Appsの勝利です!!
1,230,000件/200秒= 6150件/秒
これ以上は先にバックエンドやDBが死ぬと思うので十分以上な性能な気がしますね。
4試合目
Load Testing:インスタンス数45
Static Web Apps:スタンダードプラン
最終戦です。
お互い上限いっぱいの力を出し切っての戦いの結果は……
エラー率54%…… Load Testingの勝利です!!
1万ユーザー以上の過剰なアクセスには流石に耐えられなかったようです。
まとめ
結果としては2勝2敗の激戦となりました。
簡単な操作で1万ユーザー分の負荷を作成できたAzure Load Testingと、秒間6000件のリクエストを捌けることが判明したStatic Web Appsの両者に拍手を送りたいと思います。
今回の例は現実には即してないので、ひとつのエンタメとして楽しんでもらえれば幸いです。
佐藤晴輝/FIXER
フロントからバック、ネットワークまである程度触れるガジェットオタクです。
好きな言語は C#で IoT と画像処理が得意です。
[転載元]
Azure ホコ×タテ!! Load Testing で Static Web Apps に限界まで負荷をかけるとどうなる?? #Azureリレー