車を追跡できるアプリがあります。車両はいつでも位置を変更したり、表示または非表示にすることができます。常に最新の状態を維持するために、アプリは 3 秒ごとに現在マップ上に表示されている地域をサーバーに送信し、サーバーは特定の地域にある車両のリストで応答します。
問題: 1000 台の車両のデータベースがあり、3 秒ごとに 10000 件のリクエストがサーバーに送信されるとどうなりますか? このスケーラビリティの問題を WCF でどのように解決しますか?
車を追跡できるアプリがあります。車両はいつでも位置を変更したり、表示または非表示にすることができます。常に最新の状態を維持するために、アプリは 3 秒ごとに現在マップ上に表示されている地域をサーバーに送信し、サーバーは特定の地域にある車両のリストで応答します。
問題: 1000 台の車両のデータベースがあり、3 秒ごとに 10000 件のリクエストがサーバーに送信されるとどうなりますか? このスケーラビリティの問題を WCF でどのように解決しますか?
やるべきことがいくつかあります
クライアント側
Joachimが言ったように、クライアント側からのリクエストを制限してみてください。車両が 3 秒ごとに大きく動くかどうかはわかりません。最終的には、位置などの情報をまとめてまとめてみてください。
サーバー側
問題: 1000 台の車両のデータベースがあり、3 秒ごとに 10000 件のリクエストがサーバーに送信されるとどうなりますか? このスケーラビリティの問題を WCF でどのように解決しますか?
この質問に答える最善の方法は、負荷テストを行うことです。結果は、サービスの実装に大きく依存します。リクエストに 1 秒以上かかる場合は、確実にパフォーマンスの問題が発生します。
リクエストを処理するためにサービスの背後にキューを追加したり、異なるサーバー間でリクエストをディスパッチするために多くのサーバーにサービスをデプロイしたりすることもできます。