ubuntu

如何优化ubuntu上的php-fpm

小樊
37
2025-08-11 15:45:15
栏目: 编程语言

优化Ubuntu上的PHP-FPM可从配置、性能、监控等方面入手,具体如下:

  1. 调整进程池参数

    • 模式选择:动态模式(dynamic)适合波动负载,静态模式(static)适合稳定高并发。
    • 核心参数
      • pm.max_children:根据内存计算(单进程约30-80MB),公式为(可用内存-预留内存)/单进程内存
      • pm.start_servers:建议为max_children×0.2
      • pm.min/max_spare_servers:分别设置为max_children×0.10.6,避免频繁启停。
      • pm.max_requests:设为500-1000,防止内存泄漏。
  2. 启用关键优化功能

    • OPcache:缓存编译后的PHP代码,减少重复解析。在php.ini中启用并设置内存(如128MB)、文件缓存数量。
    • JIT加速(PHP 8.0+):在opcache配置中添加opcache.jit=tracingopcache.jit_buffer_size=64M
  3. 优化文件与连接配置

    • 监听方式:优先使用Unix Socket(fastcgi_pass unix:/run/php/php8.x-fpm.sock),减少TCP开销。
    • 慢日志:开启慢请求记录(slowlog=/var/log/php-fpm/slow.logrequest_slowlog_timeout=5s),定位性能瓶颈。
  4. 系统级优化

    • 内存管理:启用HugePages提升内存访问效率,并配置OPcache使用HugePages。
    • 权限优化:将PHP-FPM用户设为与Nginx相同的用户(如www-data),避免权限问题。
  5. 监控与调优

    • 工具监控:使用htoptop查看进程状态,或通过Prometheus+Grafana监控实时指标。
    • 定期重启:通过systemctl restart php8.x-fpm定期重启,释放内存。

注意:修改配置后需重启PHP-FPM服务,建议先在测试环境验证效果。

参考来源:

0
看了该问题的人还看了