0

我有一个关于使用 AppFabric 缓存时网络连接限制的查询。

就基于 ASP.NET WCF 的应用程序而言,Windows AppFabricCache 'maxConnectionsToServer' 设置如何与 System.Net 'maxconnection' 设置交互?

例如。如果如下所示,maxConnectionsToServer 设置为 100,但 maxconnection 设置为 50,那么 maxconnection 是否会“覆盖”并变为 100?或者 maxconnection 中的值是否限制了 maxConnectionsToServer 的值?

...

<dataCacheClient requestTimeout="2000" channelOpenTimeout="0" maxConnectionsToServer="100">
  <hosts>
    <host name="127.0.0.1" cachePort="22233" />
  </hosts>
  <localCache isEnabled="true" sync="TimeoutBased" objectCount="10000" ttlValue="21600" />
</dataCacheClient>

...

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

...

提前致谢

4

1 回答 1

0

system.net/connectionManagement对 AppFabric 使用的 net.tcp 连接没有影响,只有由ServicePoint基础结构管理的 HTTP 连接。因此,您不必担心,只需为maxConnectionsToServer. 除非您看到争用,否则我可能不会将其设置为高于核心数。

为了将来参考,我还应该指出,如果您使用的是 ASP.NET 并且没有更改默认processModel/@autoConfig属性,那么 ASP.NET 实际上将覆盖通过 .config 文件将“*”最大连接数设置为 12 * 环境的任何尝试.处理器计数。如果您无法更改machine.config 或在 IIS7.5 中为应用程序池使用 CLRConfigFile,那么您必须通过在应用程序启动期间设置(例如)processModel/@autoConfig以编程方式重新覆盖此值。ServicePointManager.DefaultEndpointConnectionLimitApplication_Start

于 2012-07-13T05:23:59.737 回答