高スループット アプリケーションに共有 (静的読み取り) WCF プロキシ クライアントを使用することを検討しています。これを行うとパフォーマンスが向上すると思いますが、まだベンチマークしていません。
このアイデアには深刻な落とし穴がありますか?
私の調査から、障害状態の処理に問題があることがわかります。この状態が他の保留中の要求にどのような影響を与えるかは明確ではありません。
WCF プロキシを障害状態から回復した経験のある人はいますか?
前もって感謝します!
チャネルが障害状態になると、その状態が続きます。そうです、静的クライアントには問題があると思います。私もそのように始めましたが、代わりに呼び出しごとに新しいチャネルを作成して開くことになりました。パフォーマンスのトレードオフはあまりないようです。
参考までに、別のクアッドコアマシンのクアッドコアマシンで、1秒あたり約5K〜30Kの約30〜60のリクエストを実行しています。WCFはこれまでのところ非常によく持ちこたえています。
プロキシで Close() を呼び出すと、[OperationContract(IsOneWay = true)] を実行する一方向操作の呼び出しがブロックされることがわかりました。それによって流れも変わってきます。