我们有一个由大约两打应用程序共享的 memcached 服务器。Web 应用程序之一(或者我们的实用程序应用程序之一)定期发出 flush_all 命令。频率似乎是随机的,或者至少我们还没有看到模式。它每小时发生大约 10 次。
这就是问题所在。我想不出一个好方法来确定哪个应用程序正在执行此操作。memcacehd 日志根本没有帮助。这是我到目前为止所做的: * grep all source code - 除了 memcached 库之外,我在任何地方都看不到我们发出这个命令的地方。* 在 memcached 中启用详细日志记录 (-vv) - 我看到命令已发出,但日志未显示有关从何处发出命令的任何信息。* 研究如何在管理上禁用它;如果没有未经批准的 memcached 源补丁,我想不出一个好方法来做到这一点。
有没有其他人有这个问题?我假设这来自我们的一个网络应用程序,但它也可能来自其他地方。有什么建议么?
我的下一步是设置第二个 memcached 服务器并逐个移动应用程序(这将是缓慢且耗时的)。一定会有更好的办法。