1

セルフホステッド WCF サービスで netTcpBinding のパフォーマンスの問題をトラブルシューティングしていますが、パケットを確認しても何が起こっているのかわかりません。新しい接続では、LAN 接続 (2 台のマシンが同じスイッチに接続されている) で 200 ~ 300 ミリ秒のオーバーヘッドが発生することがあります。TCP 3 ウェイ ハンドシェイクは高速ですが、次のパケット PSH ACK には 150+ms かかります。サーバーに負荷はなく、この 1 つの要求だけです。

これは nettcpbiding 設定によって制御されていますか、それともサーバーにあるものですか?

4

2 に答える 2

0

接続時に 200 ~ 300 ミリ秒のオーバーヘッドが時折発生する以外に、どのようなパフォーマンスの問題が発生しているのかはわかりません。

リクエストが初めてのリクエストである場合、すべてが構築されている間、WCF 配管のスピンアップに少し時間がかかります。これがあなたの見ているものなのだろうか?

たとえば、新しいプロセス ホストでの最初のリクエストでは、最初のリクエストで顕著な「ヒット」が見られる可能性があります。注意すべきもう 1 つの点は、IIS (ホストの場合) は通常、20 分間非アクティブ状態が続くとワーカー プロセスを循環させることです。

netTcpBinding要素に実際に含まれているものがこの動作に影響を与えるとは思いません(私はオフハンドで知っています)。

アプリケーションは、起動時になんらかの作業 (キャッシュへのデータの取り込み) を行っている可能性もあり、それがその遅延の原因となる可能性があります。キャッシュしている場合は、キャッシュを時々更新する必要があるか、キャッシュ ミスが発生して追加のデータをフェッチする必要がある場合もあります。

それ以外の場合、tcp/ip スタックの微調整の大部分は Windows レジストリにある傾向があります。詳細については、T CP/IP レジストリ設定を確認してください。

HTH、

Z

于 2011-03-16T16:24:03.633 に答える
0

アプリケーションによってオーバーヘッドが必要なようです (ただし、高いようです)。接続が 2 分以内に閉じるという問題は、connectionPoolSettings の idleTimeout 設定が原因でした。

http://msdn.microsoft.com/en-us/library/ms788984.aspx

于 2011-03-16T22:28:10.030 に答える