在 Windows 上优化 PHP-FPM 性能可以尝试以下方法:
- 调整 PHP-FPM 配置
- 修改
php-fpm.conf
中的进程管理设置:
pm = dynamic
pm.max_children = 50 # 根据服务器内存调整
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500 # 防止内存泄漏
- 使用 OPcache
在php.ini
中启用并配置:
[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
- 优化 PHP 配置
- 关闭不必要的模块
- 调整
realpath_cache_size
(建议 256K-1M) - 设置适当的
memory_limit
(通常 128M-256M)
- Windows 特定优化
- 使用 WSL2 运行 Linux 版 PHP-FPM(性能更好)
- 如果必须用 Windows 原生版本:
- 确保使用 PHP 官方最新 Windows 版本
- 禁用 Windows Defender 实时扫描 PHP 目录
- 考虑使用 FastCGI 而非 FPM
- Web 服务器配置
- 如果是 IIS:
- 启用动态内容压缩
- 调整应用程序池设置
- 如果是 Nginx/Apache:
- 确保使用最新 Windows 版本
- 调整 worker/thread 数量
- 其他建议
- 使用 PHP 7.4+ 或 PHP 8.x(性能显著提升)
- 定期重启 PHP-FPM 进程
- 监控性能找出瓶颈(如 XHProf)
注意:Windows 并非 PHP-FPM 的最佳运行环境,生产环境建议考虑 Linux 服务器。如果必须使用 Windows,WSL2 是较好的折中方案。