Apache 无法稳定支持同时超过200个访问者。如何设置mpm模块?

Apache 无法稳定支持同时超过200个访问者。如何设置mpm模块?

服务器似乎无法支持近两三百人同时访问。我们在 11 月 29 日上传了一些新代码,从那天起人们就经常看到 404 Not Found。起初我们以为只是因为 11 月 30 日是截止日期,所以尝试同时访问的人太多了。但现在大约一周过去了,服务器仍然不稳定,大多数时间仍然出现“404 Not Found”。即使在清晨,我确信很少有人会这么早起床访问网站,我仍然无法访问服务器。我想我们的配置或代码一定出了问题。

我们对 mpm 模块使用了 prefork(我们尝试过 worker.c,但情况变得更糟,所以我们将其改回 prefork)。我现在记不清详细配置了,但我确定 MaxClient 和 Serverlimit 都设置为 600(我们实际上只有不到 500 名 4 年级学生。)。而且似乎 Keep Alive 已设置为 15 秒,MaxRequestsPerChild 已设置为 100000。

另外,我记得当我们第一次上传一些其他信息供人们查看和选择时,流量仍然很忙,但当时没有发生任何不好的事情。所以可能是因为我们在 11 月 29 日上传的新代码出了问题。有人知道在执行代码时什么操作会导致这个问题还是其他原因1?

答案1

如果用户收到 404 Not Found,则与 Apache 性能或套接字或类似问题无关。

如果 Apache 无法打开连接(例如达到 MaxClient 限制或无法打开套接字),则用户根本无法连接。如果 fastcgi(或用于连接 Django 的任何模块)失败,则错误为 500 内部服务器错误。

您是否绝对确定您的代码上传没有包含例如放错位置的

raise Http404

相关内容