トラフィックの急増に対処するには、容量を増やすこととコストを削減することの2つの一般的な戦略があります。
容量の増加は自動スケーリングを意味し、パブリッククラウドが最初に利用可能になったとき、誰もが非常に興奮していました。最も基本的な意味では、これは負荷に基づいてより多くのWebサーバーを起動し、ロードバランサーに追加しますが、管理が面倒になる可能性があるため、Elastic Beanstalkなどのより多くのオートマジックソリューションもあります。
自動容量拡張の問題は、自動請求拡張でもあります。通常の10倍のトラフィックは、10倍のサーバーが10倍のお金を支払うことを意味します。だからこそ、心に留めておくと便利な戦略ですが、まずは自分がどれだけカンニングできるかを見ることから始めるべきだと思います。
チートとは、キャッシュを意味します。これは、ほとんどの場合、ユーザーに日付のデータがわずかに古く、ユーザーが気付かないという考えに基づいており、大幅な時間の節約になります。古くて5秒で大丈夫だと判断したページがあり、20リクエスト/秒を取得したとします。キャッシングなしでは、その計算は1分間に1200回実行されますが、キャッシングありでは12しかありません。これがいかに大きな違いを生むことができるかがわかります。
もちろん多くのタイプのキャッシングがあり、成功したウェブサイトはそれらのいくつかを使用します。しかし、あなたのユースケースでは、2つのかなり良い簡単なオプションがあります。
1つ目は、サイトを完全に静的にすることです。これは可能であると想定していますが、可能であれば、Nginxに直接htmlを提供させるだけで、大量のリクエストに対応できます。
ある程度の動的性が必要な場合は、ページ全体のキャッシュを実行することをお勧めします。Nginxにはこれを行う機能がいくつかありますが、柔軟性があるのでVarnishが本当に好きです。
どのオプションを選択する場合でも、負荷テストを行って、正しく設定されていることを確認してください。1つのスポットを修正すると、新しいボトルネックが明らかになることがあります。