私たちは、約9のWCFサービスをホストし、別の3つのWCFサービスのクライアントとして機能するコアWindowsサービスを提供しています。私たちはWCFを介してこのWindowsサービスと通信するフロントエンドのWebサイトを持っています。WCF Windowsサービスと非応答UI
somepointでは、WindowsサービスはCPU使用率が100%になるような重い操作を実行しています。通常、WindowsサービスとSQLサーバーの間で60-40に分割されます。
これは、Webサイト間のWCF接続/要求がタイムアウトするため、非常に応答の遅いUIになります。
私は、UI関連のWCF呼び出しが実行されたかどうかを確認する方法を探していますが、これは最優先事項です。
私たちの主な問題は、Windowsサービス、Webサイト、SQLサーバーがすべて1台のマシン上で実行されているこの展開シナリオに固執する必要があることです。我々は100%のCPU使用率でも応答性の高いUIを維持する必要があります。そのための修正を探す場所がわからない...
あなたが必要とするのは、UIとサーバーのスレッドベースの操作です。多くのCPUコアを使用している場合は並列処理 –
サービスのキュー要求はどうなりますか?リクエストをキューに入れ、UI通知のためにWebソケットのようなものを使用できます。あなたのCPUがロードされる限り、あなたのサービスサーバの負荷分散を試みることができます。しかし、DBサーバーを置いているので、手間がかかります。 –