【问题标题】:mpm_prefork:error AH00161: server reached MaxRequestWorkers settingmpm_prefork:error AH00161: 服务器达到 MaxRequestWorkers 设置
【发布时间】:2016-11-16 08:54:40
【问题描述】:

我在小型 AWS Ubuntu 服务器和小型 RDS 上有一个简单的 magento 网站,只有我在访问它。每隔 3-5 分钟,apache 就会因此错误而崩溃:

[mpm_prefork:error] [pid 7390] AH00161:server reached MaxRequestWorkers setting

当它崩溃时,我有大约 900M 的 2G 可用内存。我检查了访问日志,除了我之外没有其他 IP 地址。在 mpm_prefork.conf 文件中,MaxRequestWorkers 的默认值为 0;将其更改为 150 并没有效果。

我已经在 AWS 实例上建立了十几个 Magento 网站,甚至更多的 wordpress 网站,我从来没有遇到过这个问题。有谁知道为什么 apache2 会开箱即用地做到这一点?这个 AWS 实例只有几天的历史。

Ubuntu 14.04.3 LTS 阿帕奇/2.4.7 PHP 5.5.9-1ubuntu4.17

更新:我已经启动了一个新的 t2.small EC2 实例,只有我访问(在 access.log 中确认)并复制了网站。它仍然指向未更改的相同 RDS。我仍然得到完全相同的错误!有什么想法吗?

【问题讨论】:

  • 对不起,这就是我上面所说的“MaxConnectionsPerChild”的意思;我会编辑它。所以我将 MaxRequestWorkers 从 0 提高到 150,但它仍然崩溃,并且只有我访问该站点。我有类似的配置,每天可以处理数百名访问者,我以前从未见过这个错误。

标签: php magento amazon-ec2 apache2 ubuntu-14.04


【解决方案1】:

所以经过大量挖掘,原来我是 DDOS。我只检查了 apache error.log 文件并且只看到了我的 IP 地址,但是使用 netstat 我发现无论 netsat 报告的时间间隔如何,我都会收到 300 多个请求。它离题了,我真的不明白 netstat 和 apache 错误日志之间的区别。

【讨论】:

  • 好吧,我给了你你的第一个 +1。这篇文章让我走上了正轨。我在DOS下,但还不知道。我在这里发布了我的发现。 serverfault.com/questions/667914/…
  • 如果您运行的是单个小型服务器,则可能只是 DOS 攻击而不是 DDOS 攻击。一台计算机可以产生大量数据或请求,然后将其发送到服务器。不需要分布式网络来关闭一台服务器。
猜你喜欢
  • 2016-08-23
  • 2015-07-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-20
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多