gpt4 book ai didi

azure - Redis 锁应该在单独的实例上运行吗?

转载 作者:行者123 更新时间:2023-12-03 06:42:39 24 4
gpt4 key购买 nike

我们正在使用:

  • Azure 上的标准 Redis
  • StackExchange.Redis
  • RedLock.net

我们的网站在过去一两年里有了显着增长,根据 Cloudflare 的数据,现在每月服务约 250,000,000 个未缓存请求。

我们偶尔会看到数百个突发异常,这些异常与 RedLock 无法获取锁有关,因为它处于冲突 状态。

我们的 Redis 缓存通常:

  • 以 10% 的服务器负载运行(我相信这与 CPU 相关)
  • 但运行内存使用率接近 100%

我的问题是:

  • 是否建议使用完全不同的 Redis 服务器来进行锁定?
  • 在 Redis 服务器中使用 100% 内存是否会导致创建锁时出现问题?

最佳答案

当您查看缓存性能指标时,故障是否与 100% 内存使用率一致?如果是这样,我敢打赌这就是罪魁祸首。

当 Redis 达到 100% 内存时,可能会发生页面错误,从而减慢请求速度。 See here获取该过程的描述。我可以想象,当内存压力达到 100% 并且请求被延迟时,Redlock.net 获取锁的 5 毫秒时间限制将到期。

我会启动第二个 Redis 服务器来进行锁定,看看它是否可以缓解问题,或者扩展现有的缓存。看看您是否仍然遇到该问题。扩展可能是最简单的实验,无需更改代码。

关于azure - Redis 锁应该在单独的实例上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60674218/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com