NET.TCP(WCF)协议如何在TCP之上工作?
我正在对自托管WCF服务中的netTcpBinding的性能问题进行故障排除,查看数据包不清楚发生了什么。在一个新的连接上,我有时会看到LAN连接的开销为200-300毫秒(两台机器连接在同一个交换机上)。TCP 3路握手很快,但下一个数据包PSH ACK需要150+毫秒。服务器中没有负载,只是这一个请求NET.TCP(WCF)协议如何在TCP之上工作?,wcf,nettcpbinding,Wcf,Nettcpbinding,我正在对自托管WCF服务中的netTcpBinding的性能问题进行故障排除,查看数据包不清楚发生了什么。在一个新的连接上,我有时会看到LAN连接的开销为200-300毫秒(两台机器连接在同一个交换机上)。TCP 3路握手很快,但下一个数据包PSH ACK需要150+毫秒。服务器中没有负载,只是这一个请求 这是由NetCpBiding设置控制的,还是由服务器控制的?我不确定除了连接时偶尔出现的200-300ms开销之外,您的运行会出现什么性能问题 如果该请求是第一次请求,那么在这些情况下,在构建
这是由NetCpBiding设置控制的,还是由服务器控制的?我不确定除了连接时偶尔出现的200-300ms开销之外,您的运行会出现什么性能问题 如果该请求是第一次请求,那么在这些情况下,在构建所有内容时,WCF管道的旋转将花费更长的时间。我想知道这是不是你看到的 例如,对于新进程主机上的第一个请求,您可能会看到第一个请求上出现明显的“命中”。另一件需要注意的事情是,IIS(如果这是您的主机)通常会在20分钟不活动后循环工作进程 我不相信元素中的任何东西会影响这种行为(我马上就知道) 应用程序可能还在启动时做一些工作(填充缓存),这可能会导致延迟。如果需要缓存,它可能还需要偶尔刷新缓存,或者缓存未命中,需要获取其他数据 否则,大多数tcp/ip堆栈调整都会在Windows注册表中。查看T了解更多信息 嗯,
Z应用程序似乎需要开销(尽管似乎很高)。连接在2分钟内快速关闭的问题是由于connectionPoolSettings中的idleTimeout设置造成的
主机不是IIS,而是依赖WCF的服务。问题是200-300毫秒的开销,这是一个问题,因为主机在大约2分钟的不活动后正在关闭连接!