gpt4 book ai didi

redis 抛出超时错误

转载 作者:可可西里 更新时间:2023-11-01 11:13:04 24 4
gpt4 key购买 nike

由于未知原因,我的服务器在几个小时前开始抛出以下异常。这是一个网络应用程序。有人可以帮忙吗?我能做什么?

, Timeout performing GET SomeKey, inst: 1, mgr: ProcessReadQueue, err: never, queue: 12, qu: 0, qs: 12, qc: 0, wr: 0, wq: 0, in: 1702, ar: 1, clientName: SSD41ACCU10147, IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=11,Free=8180,Min=4,Max=8191), Local-CPU: unavailable (Please take a look at this article for some common client-side issues that can cause timeouts: https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)

, Timeout performing GET SomeKey2, inst: 2, mgr: ProcessReadQueue, err: never, queue: 33, qu: 0, qs: 33, qc: 0, wr: 0, wq: 0, in: 1141, ar: 1, clientName: SSD41ACCU10147, IOCP: (Busy=0,Free=1000,Min=4,Max=1000), WORKER: (Busy=18,Free=8173,Min=4,Max=8191), Local-CPU: unavailable (Please take a look at this article for some common client-side issues that can cause timeouts: https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md)

堆栈跟踪

at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor1 processor, ServerEndPoint server) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 2044 at
StackExchange.Redis.RedisBase.ExecuteSync[T](Message message, ResultProcessor
1 processor, ServerEndPoint server) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisBase.cs:line 81 at StackExchange.Redis.RedisDatabase.HashGetAll(RedisKey key, CommandFlags flags) in C:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisDatabase.cs:line 130 at ...

编辑:是否有可能我有太多未关闭的连接?

我有一个静态属性:

public static ConnectionMultiplexer Redis = ConnectionMultiplexer.Connect("localhost:1234,abortConnect=false");

然后从每个地方我需要查询我做的redis:

IDatabase db = GlobalStaticClass.redis.GetDatabase();

这种做法有问题吗?

编辑 2 [对 marc 的回答]:

  1. 我有一些非常大 (1MB) 的键,还有一些只是数字或小字符串。但这并不新鲜。

几个月来都是这样。今天,2 小时前,ALL redis 请求突然开始抛出异常。 (附加的异常只是一个例子)

  1. 不是很多。 Redis 从来都不是瓶颈。

  2. Slowlog 没有显示任何有趣的内容。

  3. 我该如何检查?
  4. 现在正在尝试。

编辑 3:重置 IIS 解决了 15-30 分钟的问题,然后它又开始了,永远不会停止。

编辑 4:这是托管公司的错。与redis没有太大关系。

它导致我们所有的服务器都非常慢,redis 是第一个返回超时错误的服务器。

您的回答确实帮助我找到了责任人。

谢谢大家。

最佳答案

整体方法应该没问题;出站很清楚,我们有少量的入站数据,我们有一个活跃的读者——这看起来很健康。所以我们进入上下文:

  • SomeKey 中的数据大小是多少?
  • 服务器有多忙?
  • slowlog指出任何特别长时间运行的操作可以解释在服务器上的阻塞?
  • 服务器日志是否显示可能解释事情的长时间数据库持久性操作或从属操作?
  • 作为最后的手段:您是否尝试过增加同步超时? (参见搜索 syncTimeout here )

关于redis 抛出超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43206202/

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