.net 使用AppFabric缓存的性能问题

.net 使用AppFabric缓存的性能问题,.net,caching,appfabric,.net,Caching,Appfabric,我发现,当AppFabric缓存处于重载状态时,会导致不可预测的应用程序行为 有没有人经历过类似的事情? 您对AppFabric的理想配置有何想法?您对AppFabric的限制似乎是导致性能问题的最终原因。也就是说,您可能还希望确保已将channelOpenTimeout和requestTimeout配置为一些合适的值—默认值非常高,在许多it情况下,最好从数据存储中重新读取数据,而不是等待AppFabric响应 <dataCacheClient channelOpenTimeout=

我发现,当AppFabric缓存处于重载状态时,会导致不可预测的应用程序行为

有没有人经历过类似的事情?
您对AppFabric的理想配置有何想法?

您对AppFabric的限制似乎是导致性能问题的最终原因。也就是说,您可能还希望确保已将channelOpenTimeout和requestTimeout配置为一些合适的值—默认值非常高,在许多it情况下,最好从数据存储中重新读取数据,而不是等待AppFabric响应

  <dataCacheClient channelOpenTimeout="5" requestTimeout="1000">
    <!-- cache host(s) -->
    <hosts>
      <host name="localhost" cachePort="22233" />
    </hosts>
  </dataCacheClient>

可以缓存的对象的最大大小为8 mb(默认情况下)。如果生产应用程序要缓存该大小的对象,则可以通过高级配置属性对其进行更改。 关于另一个问题:如果我们尝试将150MB的数据注入128MB大小的缓存,会发生什么。 1.这些对象将使用best effort LRU进行检查,更新的对象将替换它们。
2.如果传入速率快于逐出速率,缓存可能会被限制,在一段时间内阻止所有写入

您能否描述一下您的配置以及这种不可预测的行为是什么?AppFabric性能会急剧下降,单缓存服务器的高吞吐量、128MB RAM限制、8核、SQL server、乐观缓存。ASP.NET应用程序正在使用AppFabric缓存服务。您正在缓存多少数据?为什么appFabric服务只有128 MB的限制?缓存已满时,缓存中的项不会被逐出。缓存中的项目有时会立即被逐出。没有具体原因,只有128MB。假设项目将根据需要被逐出。数百MB正被推送到缓存中。如果我限制为128,并尝试缓存150MB的项目,会发生什么情况?