只要一次有一个请求,使用我的共存缓存的所有内容都可以正常工作。但是,当我使用多个并发请求访问我的服务时,我的缓存似乎不起作用。
初步分析让我想到了这一点 - https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-service/
显然,我必须使用maxConnectionsToServer
来允许多个并发连接进行缓存。但该文档还讨论了useLegacyProtocol
参数,必须将其设置为false才能启用连接池。
我有以下问题:
我的服务将获得几百个并发请求。这会是一个 适合这种情况的良好环境:
< dataCacheClient name =“default”maxConnectionsToServer =“100” useLegacyProtocol = “假” >
这是我对使用此配置获得的行为的理解 - 每次请求进入时,都会尝试从池中检索连接。如果没有可用连接,则当前连接少于100个时将创建新连接,否则请求将失败。请确认这是否正确。
上述文档说每个DataCacheFactory实例都会使用一个连接。我有一个缓存管理器类来管理与缓存的所有交互。这是一个单身人士班。它创建一个DataCacheFactory对象,并在实例化期间使用它来获取缓存的句柄。我的服务有2个实例。看起来我只需要2个连接到服务器。它是否正确?我甚至需要连接池吗?
maxConnectionsToServer可以接受的最大值是什么,给定方案的理想值是什么?
我还看到一个名为“ConnectionPool”的布尔参数。这看起来是“useLegacyProtocol”的补充。这不是多余的吗?如何设置useLegacyProtocol =“false”与connectionPool =“true”不同?我对是否以及如何使用此参数感到困惑。
maxConnectionsToServer
和ConnectionPool
参数是否以任何方式相关?当maxConnectionsToServer设置为5且ConnectionPool = true时,这意味着什么?