我们有一个客户端/服务器.Net应用程序在多个客户端的本地网络上运行。该应用程序正在使用WCF在客户端和服务器之间进行通信。我们已经在net.tcp(端口8733)上使用binaryMessageEncoding
设置了自定义绑定,并使用GZip
进行了压缩。
<customBinding>
<binding name="BinaryCompressionBinding" closeTimeout="00:05:00" openTimeout="00:05:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<binaryMessageEncoding compressionFormat="GZip">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
</binaryMessageEncoding>
<tcpTransport transferMode="Streamed" hostNameComparisonMode="StrongWildcard" maxReceivedMessageSize="2147483647" listenBacklog="2147483647"/>
</binding>
</customBinding>
几个月前(4月),由于防病毒扫描,我们的几个客户端(并非全部)开始出现明显的性能损失。我们注意到,在服务器呼叫期间,与病毒扫描程序相关的过程非常活跃,持续了30-60秒(CPU 50-80%)。
我们在有关端点的Cisco AMP连接器(epsecurityservice.exe)上具有大多数信息。
禁用病毒扫描程序将获得预期的性能,但这不是一个选择。排除客户端和服务器应用程序将有所帮助,但并非总是如此。
我们的问题: