2011-03-16 30 views
1

我正在使用自託管WCF服務中的netTcpBinding解決性能問題,並且查看數據包並不清楚發生了什麼。在一個新的連接上,我有時會看到局域網連接的開銷爲200-300毫秒(在同一個交換機上連接了兩臺機器)。 TCP 3次握手很快,但下一個包PSH ACK需要150 + ms。服務器沒有負載,只是這一個請求。NET.TCP(WCF)協議如何在TCP之上工作?

這是由nettcpbiding設置進行控制,還是在服務器上?

回答

0

我不確定什麼樣的性能問題,除了200-300ms偶爾的連接開銷之外。

如果請求是第一次請求,那麼在構建所有內容的情況下,在這些情況下,啓動WCF管道會花費更多的時間。我想知道這是你看到的嗎?

例如,對於新流程主機的第一個請求,您可能會在第一個請求中看到明顯的「命中」。另外需要注意的是IIS(如果您的主機)通常會在閒置20分鐘後循環工作進程。

我不相信任何真正在netTcpBinding元素中的東西都會影響這種行爲(我知道這種行爲)。

該應用程序可能還會在啓動時進行一些工作(填充緩存),這可能會導致延遲。如果它的緩存,它可能還需要偶爾刷新它的緩存,或者有一個緩存未命中並需要獲取額外的數據。

否則,大多數tcp/ip堆調整傾向於在Windows註冊表中。查看T CP/IP Registry Settings瞭解更多信息。

HTH,

Ž

+0

主機不是IIS,是依賴於WCF的服務。問題是200-300毫秒開銷,並且這是一個問題,因爲主機在停止約2分鐘後關閉連接! – GeorgeU 2011-03-16 16:46:25