StackExchange.Redis 超时 GET

2024-01-02

我在使用 StackExchange.Redis 时遇到超时问题。我已经尝试过在 stackoverflow 上找到的所有内容。

这是我得到的:Timeout performing GET XXX, inst: 4, mgr: ProcessReadQueue, err: never, queue: 9, qu: 0, qs: 9, qc: 0, wr: 0, wq: 0, in: 65536, ar: 1, IOCP: (Busy=0,Free=1000,Min=400,Max=1000), WORKER: (Busy=35,Free=32732,Min=400,Max=32767)

在几乎所有我只得到的例外中queue and qs正在发生变化,其价值高达11.

我使用的是nuget版本1.0.488。应用程序托管在 Windows Server 2012 上的 IIS 8.5 上。在该计算机上,我们有 32GB 的 RAM,其使用率为 30-50%。我已经设置了maxmemory to 16gbmaxheap至 22GB。保存到磁盘已禁用。我仅将其用作会话存储。

Redis服务器(版本x64-2.8.2402)安装在同一台机器上。这是redis-cli 信息 http://screencast.com/t/ZMhPTwI9Lwbo我有。

这也是我得到的异常的一部分:

System.TimeoutException: Timeout performing GET Airports, inst: 1, mgr: ProcessReadQueue, err: never, queue: 4, qu: 0, qs: 4, qc: 0, wr: 0, wq: 0, in: 65536, ar: 1, IOCP: (Busy=0,Free=1000,Min=400,Max=1000), WORKER: (Busy=20,Free=32747,Min=400,Max=32767), clientName: OWNEROR-G875DJG   at StackExchange.Redis.ConnectionMultiplexer.ExecuteSyncImpl[T](Message message, ResultProcessor`1 processor, ServerEndPoint server) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\ConnectionMultiplexer.cs:line 1927    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 80    at StackExchange.Redis.RedisDatabase.StringGet(RedisKey key, CommandFlags flags) in c:\TeamCity\buildAgent\work\3ae0647004edff78\StackExchange.Redis\StackExchange\Redis\RedisDatabase.cs:line 1451    at Resvoyage.Services.RedisCacheProvider.GetValue[T](String key) in c:\Development\thomalex\resvoyage\Resvoyage.Services\RedisCacheProvider.cs:line 88 

这就是我的连接字符串的样子<add key="LocalRedis" value="127.0.0.1:6379,connectTimeout=25000,allowAdmin=true,password=xxx" />。连接超时原为15000我尝试将其增加到25000

我也增加了minIoThread in machine.config对于 IIS。这是我放置的值<processModel autoConfig="true" minIoThreads="50" minWorkerThreads="50" maxWorkerThreads = "100" maxIoThreads = "100"/>


读取redis Slowlog,看看redis上是否有慢查询。也许您正在使用按键命令? Redis 是单线程的,因此一个缓慢的查询可能会阻塞所有操作,并且由于客户端不会永远等待 Redis,因此您会遇到超时。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StackExchange.Redis 超时 GET 的相关文章

随机推荐

  • Android - 查询是否检查同步帐户是否同步

    如何查询同步帐户是否已检查同步 用户无法控制是否account选择进行同步 而是选择 acount contentAuthority 对 例如 可以检查您的 Gmail 帐户以同步联系人 但不能检查日历事件 以下代码用于检查第一个输入的 c
  • Java:实例化没有默认构造函数的泛型类

    我正在尝试这样做 public class BaseTable
  • Spring集成错误“没有可用的输出通道或replyChannel标头”

    我不知道为什么我会得到例外 Caused by org springframework messaging core DestinationResolutionException no output channel or replyChan
  • R data.table 按组和条件连接/子集/匹配

    我正在尝试按 2 个 data tables 中的组对数据进行子集 匹配 但无法弄清楚这在 R 中是如何实现的 我有以下 data table 其中包含 City ID 和时间戳 列名称 时间 Library data table time
  • 以编程方式获取 azure 虚拟机大小列表

    我是 net 的 Azure 管理库的新手 我们如何枚举与订阅相关的可用 VM 实例大小 或者通常使用 Net 或 Rest API 的 Azure 管理库来枚举可用的 VM 实例大小 请建议 您可以通过调用获取某个区域的虚拟机大小列表 h
  • Egit:将 rebase 配置为 master 分支的默认拉取策略

    在我们的新项目中 我们有 10 个存储库 每个存储库都有相互依赖的 Eclipse 项目 我计划建立一个默认的工作流程 其中每个开发人员都在主分支上工作并使用提交 拉取 推送循环 为了减少提交并获得良好的线性历史记录 我更喜欢将 rebas
  • django ListView 指定可用于类内所有方法的变量

    我的网址有一个关键字 shop name 变量 还有带有 名称 字段的商店模型 在我的 ListView 类中 我需要对 Shop 模型进行重复查询 以从 Shop get type 方法获取 unicode 变量 根据结果 选择适当的模板
  • 使用 antd 隐藏表的列

    我们如何隐藏表中的列以在前端显示 而该列已经存在于使用 ant design 表的数组中 例如 我的数组对象中有一个名为 ID 的列 但不需要在表视图中显示 它应该保留在 JSON 列表本身中以供参考 小提琴链接 https codesan
  • 如何在 Vim 中将另一个文件的内容加载到当前文件?

    如标题 有什么方便的方法吗 我特别需要它来进行一些 cvs git commit 或 sendmail 来加载模板注释 我认为这是一个vi环境 而不是Vim 在 VIM 命令提示符下 read new file 或简称 r new file
  • 使用非接口的构造函数参数进行依赖注入

    我仍然是 DI 的新手 我正在尝试了解我是否以错误的方式思考问题 当我想要表示一个依赖于 IRandomProvider 的 Die 对象时 我正在解决一个玩具问题 该界面很简单 public interface IRandomProvid
  • 如何限制 on_message 回复(Discord Python 机器人)

    我正在制作一个 Discord 机器人 它可以执行各种操作 包括对提到该机器人的人做出反应 以及对某些用户在某个频道中所说的话做出反应 我的代码 为了清楚起见缩短 是 BOT os getenv DISCORD BOT MENTION CH
  • 由于 git pull in git 2.29,VScode git 同步被破坏

    对于 git 2 29 及更高版本 git pull 会出现此问题如何处理这个 git 警告 不鼓励在不指定如何协调不同分支的情况下进行拉取 https stackoverflow com questions 62653114 how to
  • 如何知道何时使用 numpy.linalg 而不是 scipy.linalg?

    公认的智慧是更喜欢scipy linalg over numpy linalg功能 为了进行线性代数 理想情况下 并且方便地 我想结合以下功能numpy array and scipy linalg不曾期待numpy linalg 这并不总
  • printf/sprintf 编译器警告是概念上的破坏吗?

    我注意到 当 printf sprintf 函数的格式字符串中的转换说明符与相应参数的类型或计数不匹配时 大量 C 编译器会发出警告 在我看来 这似乎是一个概念上的突破 因为根据语言规范 C 没有内置函数 编译器应该了解 printf sp
  • 我怎样才能链接我的非常大的程序?

    我们的下一个产品已经变得太大 无法链接到运行 32 位 Windows 的计算机上 所有 lib 文件的总和超过 2Gb 只能在 64 位 Windows 计算机上链接 最终我们将超越这个界限 因为我们的软件往往会增长而不是收缩 而且我们使
  • 带有文本和图像的按钮 (Android)

    我想创建一个带有图像和文本的 android 按钮 但文本会自动居中 如何将文本放置在按钮底部 我知道我可以使用相对布局在图像下方放置第二个文本按钮 但我更喜欢最小化代码 您可以在按钮上声明要分配图像的位置 我假设您已经在按钮上有了图像
  • 将 get 访问器主体克隆/复制为新类型

    我正在从现有类型的动态装配中创建新类型 但仅包含选定的属性 public class EmitTest public Type Create Type prototype Type dynamicBaseType List
  • 从 JavaScript/jQuery 将数组发送到 php [重复]

    这个问题在这里已经有答案了 可能的重复 将数据数组从 php 发送到 javascript https stackoverflow com questions 4290720 send arrays of data from php to
  • 循环访问 VB Web App 中的文本框

    这类问题有几个答案 但对我来说都不是很清楚 而且我没有使用 JQuery 的经验 所以我在这里问 我有一个 VB Web 应用程序 在 Default aspx 中包含一堆文本框 使用 Visual Web Designer 2010 Ex
  • StackExchange.Redis 超时 GET

    我在使用 StackExchange Redis 时遇到超时问题 我已经尝试过在 stackoverflow 上找到的所有内容 这是我得到的 Timeout performing GET XXX inst 4 mgr ProcessRead