为什么我的客户端发送请求这么慢?

时间:2009-09-14 12:27:53

标签: wcf wcf-client performance

我有WCF客户端向服务发送请求。我的业务代码调用客户端API每秒发送300多个请求。但是我的客户端只根据我的服务和WCF ServicePoint的性能计数器发送大约50个服务。

我在代码中将ServicePointManager.DefaultConnectionLimit增加到1000,并在服务配置文件中将maxConCurrentCalls设置为1000,但收效甚微。

我猜WCF客户端可能有队列发送请求。有没有办法配置它并加快我的客户。

以下是我对客户端的配置:

<basicHttpBinding>
    <binding name="Binding" closeTimeout="00:01:00" openTimeout="00:01:00"
        receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
        bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="2000000" maxBufferPoolSize="524288" maxReceivedMessageSize="2000000"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="false">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None"
            realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>
  </basicHttpBinding>

1 个答案:

答案 0 :(得分:1)

您可能正在达到http连接的连接限制:

<system.net>
  <connectionManagement>
     <add address="*" maxconnection="8"/>
  </connectionManagement>
</system.net> 

请注意默认值为2.