2

名前付きパイプを介して一方向に通信する 2 つの WCF アプリがあります。1 つのことを除いて、すべてが適切です。通常、要求/応答サイクルにかかる時間はゼロ (限界) です。ただし、たとえば 30 分通信がない場合、要求/応答は最大 300 ~ 500 ミリ秒まで増加します。

ネットを調べたところ、ハートビート/ping メカニズムを使用して通信チャネルをビジー状態に保つというアイデアが浮かびました。試行錯誤の結果、10 秒ごとにリクエストを実行すると、応答時間が短いままであることがわかりました。約 15 秒間隔から、「しゃっくり」応答時間が現れ始めます。

今、この現象はどこから来たのだろうと思っています。考えられるすべてのタイムアウトを両側で 1 分以上に設定しようとしましたが、それは役に立ちませんでした。

そこで何が起こっているのか説明できる人はいますか?

4

2 に答える 2

2

Wenlong Dong のブログ記事「Why Does WCF Become Slow After Be Idle For 15 Seconds?」を参照してください。

この投稿には、修正されるまでの回避策も含まれています。

于 2010-05-12T17:19:24.443 に答える
0

アイドリング プロセスがディスクにページングされている可能性はありますか? 両端のプロセスをビジー状態に保ち、接続をビジー状態にしない場合でも、それは発生しますか?

そうではないかもしれませんが、試してみる価値はあります。

于 2009-04-19T19:31:07.727 に答える