温馨提示×

ubuntu php怎样优化性能

小樊
40
2026-09-19 12:56:49
栏目: 编程语言

在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、PHP-FPM、OPcache、代码与依赖、Web 服务器、系统层面 几个方面入手。下面是一套比较实用、可落地的优化方案(以 Ubuntu + Nginx/Apache + PHP-FPM 为例)。


一、使用最新稳定版 PHP

旧版本性能差距明显:

sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-cli

建议使用:

  • PHP 8.1 / 8.2 / 8.3(8.3 性能最佳)
  • 避免使用 PHP 7.4 及以下(已 EOL)

二、开启并优化 OPcache(非常重要)

OPcache 能显著减少 PHP 解析和编译开销。

安装

sudo apt install php8.3-opcache

配置(示例)

编辑:

sudo vim /etc/php/8.3/fpm/php.ini

推荐配置:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0   ; 生产环境建议关
opcache.jit_buffer_size=128M
opcache.jit=1255

重启:

sudo systemctl restart php8.3-fpm

三、优化 PHP-FPM(核心)

PHP-FPM 配置影响并发能力。

配置文件

/etc/php/8.3/fpm/pool.d/www.conf

进程管理方式(关键)

动态(推荐):

pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30

高并发(固定):

pm = static
pm.max_children = 100

公式参考:

max_children ≈ 可用内存 / 单个PHP进程内存

查看单个进程内存:

ps aux | grep php-fpm

四、关闭不必要的 PHP 扩展

减少内存和加载时间:

php -m

禁用不用的:

sudo phpdismod exif ftp soap

五、Web 服务器优化(Nginx 示例)

Nginx 配置

fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 60;
gzip on;
gzip_min_length 1k;

启用:

sudo nginx -t
sudo systemctl reload nginx

六、使用缓存层

1. 字节码缓存(OPcache)

已说明 ✅

2. 数据缓存

  • Redis
  • Memcached
sudo apt install redis-server
sudo apt install php8.3-redis

七、代码层面优化(很重要)

  • 避免重复 require
  • 使用 Autoload(Composer)
  • 减少 DB 查询
  • 使用缓存
  • 避免 var_dump() 上线

八、系统层面优化

调整文件描述符

ulimit -n 65535

内核参数(高并发)

sudo sysctl -w net.core.somaxconn=65535

九、性能测试工具

  • ab
  • wrk
  • php-fpm status
  • blackfire
  • tideways

十、生产环境 checklist

✅ PHP 8.x
✅ OPcache 开
✅ JIT 开
✅ PHP-FPM 调优
✅ Redis 缓存
✅ Nginx gzip
✅ 禁用 debug


如果你愿意,我可以:

  • 根据你的 服务器配置(CPU/内存) 给你一套精确 PHP-FPM 参数
  • 针对 Laravel / WordPress / ThinkPHP 做专项优化
  • 帮你分析 php-fpm statustop 输出

你目前用的是 Ubuntu 几?PHP 几?Nginx 还是 Apache?

0