5

只要一次有一个请求,使用我的同位缓存的所有内容都可以正常工作。但是当我用几个并发请求访问我的服务时,我的缓存似乎不起作用。

初步分析让我明白了这一点 - https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-service/

显然,我将不得不使用maxConnectionsToServer允许多个并发连接进行缓存。但是该文档还讨论了一个useLegacyProtocol必须设置为 false 才能启用连接池的参数。

我有以下问题:

  1. 我的服务会收到几百个并发请求。对于这种情况,这是否是一个很好的设置:

    <dataCacheClient name="default" maxConnectionsToServer="100" useLegacyProtocol="false">

    这是我对使用此配置会得到的行为的理解 - 每次收到请求时,都会尝试从池中检索连接。如果没有可用的连接,如果当前连接数少于 100,则创建一个新连接,否则请求将失败。请确认这是否正确。

  2. 上面的文档说每个 DataCacheFactory 实例将使用一个连接。我有一个缓存管理器类,它管理与缓存的所有交互。这是一个单例类。它创建一个 DataCacheFactory 对象并在其实例化期间使用它来获取缓存的句柄。我的服务将有 2 个实例。看起来我只需要 2 个与服务器的连接。这个对吗?我什至需要连接池吗?

  3. maxConnectionsToServer 可以接受的最大值是多少,给定场景的理想值是多少?

  4. 我还看到一个名为“ConnectionPool”的布尔参数。这看起来是对“useLegacyProtocol”的补充。这不是多余的吗?设置 useLegacyProtocol="false" 与 connectionPool="true" 有何不同?我对是否以及如何使用此参数感到困惑。

  5. maxConnectionsToServer和参数是否ConnectionPool以任何方式相关?当我将 maxConnectionsToServer 设置为 5 且 ConnectionPool=true 时,这意味着什么?

4

0 回答 0