次のシナリオのオプションを知りたいのですが。
国内の多くのオフィスにC#winformsアプリケーション(VS 2010で開発)を配布しています。アプリケーションは、別の場所にあるメインサーバー上にあるC#Webサービスと通信し、別の場所に1つのデータベース(SQL Server 2012)があります。(すべてのサーバーはWindows Server 2008を実行します)
本社(現在の場所)は、同じフロントエンドを使用して、すべてのオフィスがリアルタイムですぐに利用できる必要があるデータベース上の特定の情報を管理します。同時に、サイト全体の統計を監視するリアルタイムのダッシュボードWebアプリケーションがあるため、変更されたデータは本社ですぐに利用できる必要があります。
現在、ユーザーはアプリケーションの動作速度について不満を持っています。彼らはそれが本当に遅いと言います。私たちはビジネスクリティカルな環境で働いており、毎分待つことはクライアントを失うことを意味するかもしれません。
私は次のオプションを調査しましたが、DBのバックグラウンドから来たものではないため、私のシナリオに最適なルートが何であるかがよくわかりません。
- ターミナルサービス/セッション(本社で実装したばかりで、大きな改善だと言われていますが、誰かのデスクトップにリモート接続するなど、作業に適していません。)
- トランザクションレプリケーション(私のシナリオでは非常に妥当なもののように聞こえますが、すべてのオフィスが個々のサーバーに独自のSQLサーバーデータベースを持っている必要があり、担当しているすべてのものを「いじくり回して」壊す傾向があります!)すべてのサーバーを引き継ぐこともできますが、それらはフランチャイズであるため、サイトに独自のIT担当者がいます。)
現在、アプリケーションの起動時に大量のルックアップデータがキャッシュされていますが、これも完了するまでに2〜3分かかりますが、これは受け入れられません。
誰かアイデアはありますか?