在过去的几天里,Apache失去了控制,并使MySQL崩溃了两次。当我迁移了一个WordPress网站(其中还包含一个phpBB论坛)时,一切就开始了。
我在服务器管理方面经验不是很丰富,因此很难确定导致问题的原因。当我注意到MySQL关闭时,我运行TOP,看到系统负载激增至98.00。该服务器运行10个V-HOSTS,所有这些都接收到正常的流量,因此我显然看到许多apache-2进程正在运行。
高服务器负载持续10分钟,然后恢复到正常状态。在这一点上,我没有看到网络流量激增。
不幸的是,MySQL错误日志记录被禁用(现在已重新启用),因此那里没有任何线索。但是我很确定这是因为Apache正在消耗所有资源,所以MySQL进程ID被杀死了。
我的问题是:
下次发生这种情况时-如何识别导致系统负载峰值的原因?难道是一个疯了的php脚本?可能是DDOS攻击?
有没有办法在崩溃时自动重新启动MySQL?
我现在已经安装好了htop
。会比这有用top
吗?
这是我的服务器统计信息:
m1.xlarge (8 ECUs, 4 vCPUs, 15 GiB memory, 4 x 420 GiB Storage Capacity)
Ubuntu Server 12.04.3 LTS
dmesg
有所帮助吗?