memcached - 延迟监控 memcached 刷新
问题描述
为了不使我们的数据库服务器超载,我们尝试以 60 秒的延迟刷新每个服务器。当给出延迟时,我在确定服务器何时实际刷新时遇到了一些问题。
我正在使用 BeITMemcached 并以 60 秒的延迟调用 FlushAll 并将交错设置为 true。
我尝试使用命令行 telnet 主机端口,然后使用 stats 来查看刷新延迟是否有效,但是当我查看 cmd_flush 时,所有主机/端口组合的值都会立即上升,而不会延迟刷新。我已经尝试过 stats items 和 stats slabs,但找不到关于所有值代表什么以及是否有任何东西表明它已失效的信息。
是否有其他地方可以确定服务器实际刷新的时间?或者该值立即上升是否意味着延迟没有按预期工作?
解决方案
我找到了一个关于测试这个的方法。即使 cmd_flush 立即更新,实际密钥也要等到延迟之后才会更新。
所以我用 telnet 连接到我想监控的服务器/端口。然后使用gets key 来查找具有值集的键。找到后,我在第一台服务器和这台服务器之间延迟运行 flushall,并继续监视该键值。延迟结束后,密钥开始不返回任何值。
推荐阅读
- javascript - 如何向动态导入的模块添加其他内容?
- vulkan - 在同一个附件中渲染多个 vulkan 通道
- vim - 由于 try 命令而卡在 vim 中
- java - 有没有办法实时编译java代码
- .net - 带有 SQLite 的 EFCore 显示并发异常
- azure - 为什么 xtk.js nrrd 加载程序在 asp.net-core 本地站点中加载我的文件,但在 Azure 中的生产中却没有?
- prolog - Prolog: 'Hello world' 导致存在错误。检查文件路径没有成功
- django - 设置 VSCode 以在 Django 应用程序中调试 Vue
- types - 这是功能亚型关系的一个例子吗?
- r - Pivot_longer 两个列在 R 中混合字符和数字