RetryLater (NoWriteQuorum)(Windows Server AppFabric 缓存)

本部分介绍错误代码为 RetryLater 且子状态为 NoWriteQuorumDataCacheException 异常。 该错误表明缓存为只读,因为没有足够的缓存主机来符合高可用性要求。 有关高可用性的详细信息,请参阅高可用性

例如,考虑 Cache1 使用高可用性功能的方案。 如果缓存群集上有三个缓存主机,必须始终运行至少两个缓存主机。 如果只运行一个缓存主机,则 Cache1 将只具有主要位置,没有辅助副本。 在此方案中,写入缓存的任何尝试都将生成该错误。

即使有缓存主机可用于辅助副本,您也有可能会临时收到该错误。 当某个缓存主机关闭时,缓存麇集将任何辅助缓存副本提升为主要副本。 然后在另一个缓存主机上创建一个新的缓存数据的辅助副本。 在创建新的辅助副本期间,应用程序可能会收到 NoWriteQuorum 错误。 请注意,根据缓存的大小以及网络的速度,任何位置的此延迟可能会花费几秒到几分钟时间。 如果您怀疑正在发生延迟,有一个方法可能会提高数据传输的速度。 以下步骤介绍了此解决方案。

  1. 使用文本编辑器打开 .\Windows\System32\AppFabric 目录中的 DistributedCacheService.exe.config 文件。

  2. CopyQueueCapacity 值从 2 更改为较高的值。 但必须是以下值之一: 24816

备注

增加该值可以减少延迟,但可能会提高 CPU 和网络利用率。 您应该在模拟问题方案以确定 CopyQueueCapacity 的最佳数值期间测试这些设置的效果。

另请参阅

概念

应用程序异常(Windows Server AppFabric 缓存)

  2011-12-05