如果你正在寻找一个挑战…你已经find了它。
每天07:01:30 – 07:03:00我的apache安装崩溃。 就在那个时候。 一天中的其他时间运行良好。 我已经有了这个问题了大约一年,search了几个小时,并尝试了很多东西。 我的猜测是在这个时间安排的。 到目前为止,我还没有find它。
现在你要说,哦,看看这个链接你懒人! 刚刚达到最大客户端设置! 相信我,我有,但不幸的是,在这个网站或任何其他网站上的解决scheme都没有工作。 现在要补充一点,对我来说,神秘的一天,服务器运行非常好。 只是在〜07:01它崩溃与下面的错误。
我得到的错误是:[Sun Jul 28 07:01:30 2013] [错误]服务器达到MaxClients设置,考虑提高MaxClients设置[错误]服务器达到MaxClients设置,考虑提高MaxClients设置[Tue Jul 30 07:01:54 2013] [错误]服务器达到MaxClients设置,考虑提高MaxClients设置
通知星期一略有偏离。 这是因为,在7:01:00我做了一个服务apache2重新启动。 它只是让这个崩溃晚了一点。 咦? 也许是一种侥幸…我根本不明白这一点。
我用apachetop检查stream量。 就在得到这个错误之前,网站上的用户不是很多,大概是10-20。 然而,在晚上,我们可以在同一时间获得呃访客。 我见过Apache处理高达100请求/秒! 问题根本不在于服务器到达MaxClients,因为上午7点对于站点来说是非常安静的时间。 访问日志没有什么特别的。 点击几下点击。
所以在我看来,这不可能是一个存在问题。 这几乎不会在每天的同一时间引起崩溃。 这不可能是一个攻击,因为为什么这是每天早上七点一年? 另外,日志实际上不显示任何types的stream量。
这是我已经试过并检查: – 提高maxclients设置(高达512.是的,也是ServerLimit)。 使其低得多。 没有任何工作 – 减less了Apacheconfiguration中的keepalive时间。 – 使用haproxy将所有资源(js,css,图像)移至另一台使用nginx的服务器。 这不是要求的数量! – 升级Ubuntu到12.04。 – 尝试每种工具来检查我的apacheconfiguration – 在/ etc / crontab中提前一小时移动每日cronjob。 仍然〜7:00。 – 检查了其他用户的crontabs。 没有。 – mod_status没有显示exception的连接数量。
Apache之前有一个haproxy安装。 但是我没有尝试过,Apache仍然崩溃。 Haproxy日志声明服务器closures(我正在使用httpcheck)。 我试图关掉这个检查,这只是导致该网站根本不加载(超时)。
版本信息:我正在运行的Ubuntu 12.04,但也有这个问题运行11.10。 我正在使用prefork。 服务器版本:Apache / 2.2.22(Ubuntu)服务器内置:Jul 12 2013 13:37:10
除root之外没有crontabs:用户在$(cut -f1 -d:/ etc / passwd); 做crontab -u $ user -l; DONE1
服务器拥有大量的资源,大部分的内存都是免费的。
显然我在这里错过了一些东西。 Ubuntu还能在哪里安排东西? Apache是否在7am做了一些特殊的事情,而不是在crontab中?
谢谢!
~~~~我不能回答我自己的问题,但它解决了! ~~~~
回复:Aaaaaah我find了。 Janne Pikkarainen第一次做对了。 显然我没有用我的眼睛。 可能不是与netstat正确的命令。 因为我刚刚看到了大量的连接…(当然,现在是一个繁忙的时间,但是这个连接突然间并没有解释更多的连接)。
毫不费力,它是数据库服务器。 它每天早上7点运行一个mysqldump。 因为它是一个不同的服务器,所以我甚至都不会去检查那个服务器。
我只是试着运行这个备份,很快就有请求开始堆积起来。 而b! Apache抛出错误并停止响应。 愚蠢的开发者(我)是愚蠢的:)所以修复是从来没有服务Apache2重新启动,备份刚刚结束,服务器再次作出响应。 所以实际上,它并没有崩溃。
谢谢大家的帮助。 不是这样的神秘…我知道我错过了什么地方的东西。 我希望这个答案有助于某人,有一天:)
真的这应该是一个评论,但它太长了。
我的Apache安装崩溃
你确定? 达到maxclients意味着程序正在运行,“崩溃”意味着它已经停止(并且应该已经logging了这个并且丢弃了一个核心文件)。 他们是非常不同的东西。 如果已经停止,那么核心文件在哪里? 你有没有试过从它的堆栈跟踪?
网站上用户不多,大概是10-20
毫无意义的指标。 在同一时间有多lessbuild立的连接? 当它“崩溃”? 崩溃前的服务器状态是什么? 这是否与netstat相符?
你的系统日志显示了什么?
所以在我看来,这不可能是一个存在问题。
我没有看到你的post中排除keepalives作为一个促成因素。