带有 Worker MPM 和 php-fpm 的 Apache

带有 Worker MPM 和 php-fpm 的 Apache

我愿意将我的应用服务器从默认的 prefork MPM 模块转移到 worker MPM。我的服务器配置是

操作系统 - CentOS 6 Apache - Apache/2.2.15 (Unix) PHP 5.4.35 (fpm-fcgi) CPU - 4 RAM - 8 GB

我只考虑了 60% 的可用 RAM,即 5GB。我的 apache 进程平均占用 6 MB,php-fpm 占用 25 MB。因此,根据 RAM 消耗情况,我有以下配置

工作者配置:

超时 60 保持活动 MaxKeepAliveRequests 100 保持活动超时 15

服务器限制 16 启动服务器 4 最大客户端 400 最小备用线程 25 最大备用线程 75 每个子线程 25 每个子请求数 0

PHP-FPM 配置

pm.max_children = 100 pm.start_servers = 10 pm.min_spare_servers = 5 pm.max_spare_servers = 15 pm.max_requests = 500

紧急重启阈值 = 10 紧急重启间隔 = 1m 进程控制超时 = 5s

当我将这台机器添加到集群时,平均负载上升到 100 并且行为非常奇怪。

如果我做了任何错误的配置,任何帮助或建议都将非常感谢。

谢谢

答案1

这可能不是您想要的答案,但仍然如此。如果您真的关心有效内存消耗和性能,您应该考虑转向 nginx + php-fpm,因为您已经在使用后者。而不是切换到另一个 apache 进程模型。

Apache 占用大量内存,速度很慢。至少给 nginx 一个机会。

相关内容