WCF is very slow
本文关键字:slow very is WCF | 更新日期: 2023-09-27 18:18:16
我有一个返回60,000个对象的功能。一个对象只包含几个属性。如果我在本地机器上以非wcf模式执行此功能,则该功能在几秒钟内即可工作。但是在本地机器上执行WCF模式需要30分钟以上的时间。
在WCF模式下,有没有人对提高性能有什么想法?谢谢!
<binding name="ReliableBindingConfig" closeTimeout="00:20:00" receiveTimeout="00:40:00" openTimeout="00:20:00" sendTimeout="00:40:00">
<transactionFlow />
<reliableSession maxRetryCount="12" ordered="true" inactivityTimeout="00:40:00" />
<mtomMessageEncoding maxBufferSize="2147483647" maxReadPoolSize="2147483647" maxWritePoolSize="2147483647">
<readerQuotas maxDepth="32" maxBytesPerRead="4096" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxNameTableCharCount="16384" />
</mtomMessageEncoding>
<httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
</binding>
调整maxBufferSize和maxBufferPoolSize以优化缓冲区大小。
太大,服务将忙于将所有对象加载到内存中。太小的话,会有太多的网络流量,会减慢速度。
您可以编写一个简单的测试工具来记录查找最佳缓冲区大小所需的时间。