我正在使用 PHP-FPM 通过 fastcgi 向 nginx 提供动态内容。一切正常,除了 PHP-FPM 进程使用了这么多内存。根据新的遗物进程监视器,PHP-FPM 有 6 个进程正在运行,它们组合使用 220+ MB。在我看来不正常?可能是什么问题呢?
问问题
1010 次
1 回答
1
需要检查的几件事是/在开发环境中调试的提示:
- 您能否将 php memory_limit 设置为 35M 并查看 PHP 错误出在哪里?
- 是否正在运行任何大型数据库查询?
- 您是否将 APC 与 PHP 一起使用,您的共享内存大小 (shm) 是多少?
- 如果您熟悉 xDebug (http://xdebug.org/)。您可以使用 xDebug 分析器 (http://xdebug.org/docs/profiler) 查看正在使用内存的内容。那是您最好的选择。
- PHP-FPM 允许您设置最大请求参数(pm.max_requests),该参数将在一定数量的请求后重新启动子进程。注意将其设置为低可能会导致性能不佳和负载下的奇怪行为。
老实说,每个进程 37M 是很高的,但是我已经看到像 Magento 这样的应用程序接近这个,所以可能没有问题。希望有帮助。
于 2012-11-14T18:38:09.137 回答