温馨提示×

php-fpm在centos上如何优化内存使用

小樊
44
2025-12-05 13:24:57
栏目: 编程语言

在CentOS上优化PHP-FPM的内存使用可以通过调整配置文件/etc/php-fpm.d/www.conf来实现。以下是一些常见的优化建议:

  1. 调整进程管理参数

    • pm:选择进程管理方式,常用的有dynamicstaticondemanddynamic会根据负载动态调整进程数,static是固定进程数,ondemand是按需启动进程。
      pm = dynamic
      
    • pm.max_children:设置最大子进程数。根据服务器的内存和应用的特性来设置。
      pm.max_children = 50
      
    • pm.start_servers:设置启动时的服务器进程数。
      pm.start_servers = 5
      
    • pm.min_spare_servers:设置最小空闲进程数。
      pm.min_spare_servers = 5
      
    • pm.max_spare_servers:设置最大空闲进程数。
      pm.max_spare_servers = 35
      
  2. 调整单个进程的内存限制

    • php_admin_value[memory_limit]:设置每个PHP进程的内存限制。
      php_admin_value[memory_limit] = 128M
      
  3. 调整其他参数

    • request_terminate_timeout:设置脚本执行的最大时间,防止长时间运行的脚本占用资源。
      request_terminate_timeout = 0
      
    • slowlog:设置慢查询日志文件,用于分析慢查询。
      slowlog = /var/log/php-fpm/www-slow.log
      
    • rlimit_files:设置文件描述符的限制。
      rlimit_files = 1024
      
  4. 监控和调整

    • 使用tophtop等工具监控PHP-FPM进程的内存使用情况。
    • 根据监控结果调整上述参数,找到最适合你服务器配置的值。
  5. 重启PHP-FPM服务

    • 修改配置文件后,需要重启PHP-FPM服务以使更改生效。
      sudo systemctl restart php-fpm
      

通过以上步骤,你可以有效地优化PHP-FPM在CentOS上的内存使用。记得在调整参数时要根据实际情况进行测试,以确保不会因为配置不当导致服务不稳定或性能下降。

0