0

我正在使用 PHP-FPM 通过 fastcgi 向 nginx 提供动态内容。一切正常,除了 PHP-FPM 进程使用了​​这么多内存。根据新的遗物进程监视器,PHP-FPM 有 6 个进程正在运行,它们组合使用 220+ MB。在我看来不正常?可能是什么问题呢?

4

1 回答 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 回答