症状:
所做的更改:
可能的原因:
工作职责:
build议的解决scheme:
边注:
我从不使用prtg,但是如果我正确读取图表,则表明内存不足。 而你的服务器问题最后,如果不是完全崩溃,从凌晨1点到凌晨2点。 虽然问题似乎从上午12点开始。 您的服务器负载刚刚跳到这个时候的屋顶。
在那段时间:
虽然记忆似乎是主要原因。 这是可能的(或部分问题)由于缺乏CPU的能力。 由于以前的请求还在处理中,新的请求进来,越来越多的请求堆积在服务器中。
我会build议增加记忆力,并且还要了解上午12点正在运行什么。
听起来像你需要做一些真正的根本原因分析。
dmesg
,无论是在重新启动时还是在正常运行期间,都要确认没有明显的硬件问题。 一旦你有了几天的固定数据,你可以采取下一步(你以为你现在正在采取的一个 – 征求意见)。
99.9%的时间在一个像这样的一个设置,你有它的configuration错误的一个框太小,不能处理分配的连接数量的MySQL的configuration。 一个非常平均的mysql设置将连接限制设置为200,每个连接通常需要10到100mb,具体取决于查询/caching等。
我见过许多公司设置他们的连接限制的方式超过了实际机器根据他们如何configuration它的最大内存。 当MySQL试图解决内存分配而不是交换它会导致系统崩溃。 你通常可以在dmesg中看到痕迹。
发布你的MySQLconfiguration+数量的CPU / VCPUS和内存,很可能是MySQLconfiguration不正确。 MySQL的文档很难遵循,但有一些帮助脚本给你一个想法。 我会尽量find我以前用过的最准确的一个,不幸的是我不记得我头顶的脚本名字。
另外请记住,看着mysql日志不会告诉你真实的故事。