このページの本文へ

FIXER cloud.config Tech Blog

Azureでホコ×タテ! Load TestingでStatic Web Appsに限界まで負荷をかけるとどうなる?

2022年05月24日 11時00分更新

文● 佐藤 晴輝/FIXER

  • この記事をはてなブックマークに追加
  • 本文印刷

 こんにちは、サトハルです。

 以前ご紹介した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リレー

カテゴリートップへ