私たちはホームページにいくつかのコードを実装しています。これは、すべてのユニークなビジターの geoip ルックアップに依存しており、geoip Web サービス (Maxmind) にクエリを実行するか、データベースをダウンロードしてローカルにクエリを実行するかを選択できます。サーバーは現在 512MB の Linode インスタンスであり、1 日あたり約 1500 の一意しか受信しませんが、トラフィックの急増時に何が起こるか心配しています.
ローカル ルックアップの方が高速であることは明らかですが、データベースに負荷がかかると、追加の http 要求を処理するよりも RAM/CPU を大量に消費することは確かです。明らかに、サーバーのメモリをアップグレードすることは、ローカルに行くことが最善の方法であれば簡単に達成できます.1秒あたりの接続数が一定以上になると、Web APIよりもローカルデータベースにクエリを実行すると、サーバーが使用できなくなる可能性が高くなると思います(もちろんWeb API サーバーが http 要求を処理できることを確認します)。
時折発生するトラフィック フラッドをサービス拒否なしで処理するための最も堅牢で長期的なソリューションとなるソリューションについての意見をいただければ幸いです。
編集:これをもう少し定量化するために、サーバーが毎秒最大 200 の接続を処理できる必要があるとしましょう。各接続には、単一の DB クエリまたは http 要求が必要です。