我们严重依赖于memcache,每个月要发送几十亿次请求。 我们有5个memcache服务器。 昨天晚上,我们的stream量增加了25%。 这些图表显示,每个内存caching传输的请求和数据都会增加并导致崩溃。 它开始了连锁反应,每个memcache服务器一个接一个地崩溃(每个服务器的负载增加)。
我们没有在系统日志,消息,memcache日志文件中发现日志(详细设置已closures)。
我有两个问题:
我怎么知道为什么发生这种情况。 如果加载是memcache的问题,是否有任何文件正常memcache(运行在体面的configuration)可以处理多less。 我怎样才能增加这个价值。
我怎样才能确保他们永不再失败 它最终影响了我们的MySQL服务器和复制,并影响了很多其他相关的服务。 我需要更多的memcache服务器吗?
我使用这个init.d脚本启动了我的memcache: http ://pastebin.com/wfMnB4ta其中ENABLE_MEMCACHE在/ etc / default / memcached中为YES
/ usr / share / memcached / scripts / start-memcached: http : //pastebin.com/LaUugXye
谢谢
我会猜测你运行1.4.5或更旧的版本。
既然你提到交通量的增加,那么突然退出:
如果你遇到崩溃,首先要做的是确保你在最新的稳定版本。 如果您仍然遇到崩溃,最好的办法是联系实际的邮件列表或者将错误报告与信息一起提交,而不是通过Twittersearch来看到维护人员的幸运。
定期升级以匹配最新的稳定版可以帮助您避免将来您的整个群集崩溃。
你也应该制定一些结构性的解决scheme来处理类似的问题。 例如,如果您注意到请求的响应时间正在增加,请减less请求的数量。 您可以通过多种方式来执行此操作,包括禁用非必要的服务。
但是,这个特殊的失败可能不会被避免。 关于导致负载增加的故障,您没有太多可能的。