私はASP.NET Webサイトを実行しています。サーバーはデータベースへのデータの読み取りと書き込みの両方を行いますが、頻繁にアクセスされるデータをキャッシュとしてプロセスメモリに直接保存します。新しいリクエストが来ると、DB に書き込まれる前に、キャッシュ内のデータに応じて処理されます。
私のホスティング プロバイダーは突然、サーバーをロード バランサーの下に置くことにしました。これは、複数のサーバーがランダムにリクエストを処理するため、私のキャッシュ システムが不安定になることを意味します。そのため、パフォーマンスを低下させるためだけに、アプリケーションの大部分を書き直す必要があります。これは、メモリ変数チェックで超高速ではなく、データベースにクエリを実行する必要があるためです。
まず、私の経験では DB クエリがボトルネックであることがほとんどであるため、iis サーバーに負荷を分散するポイントが実際にはわかりません。現在、DB はさらに多くの負荷をかける必要があります。第 2 に、ホスティング プロバイダーがすべてのクライアントに対して設定し、すべてのアプリケーションがクライアントに合わせて作成されることを期待するだけでなく、慎重な計画が必要になるようです。
この種のことは一般的ですか、それともそもそもプロセスメモリをキャッシュとして使用するのは愚かでしたか?
新しいホスティング プロバイダーを探し始める必要がありますか?それとも Web ファーミングが遅かれ早かれどこかに到着することを期待できますか? このような移行を、今後作成するすべてのアプリで考慮し、インプロセス キャッシングや同様の設計を完全に回避する必要がありますか?
(これを農業対非農業の戦いにしないでください。開発時に覚えておく必要があるほど一般的であるかどうか疑問に思っています。)