温馨提示×

怎样优化linux laravel性能

小樊
45
2026-10-21 18:28:20
栏目: 智能运维

在 Linux 环境下优化 Laravel 性能,通常可以从 PHP、Laravel 自身、数据库、缓存、Web 服务器、系统层面 多个角度入手。下面是一套比较系统、可落地的优化方案。


一、Laravel 自身优化(最基础、收益最高)

1. 开启生产环境优化命令

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

部署后务必执行,避免运行时解析。

2. 关闭调试模式

.env

APP_DEBUG=false
APP_ENV=production

3. 使用 Laravel Octane(高并发场景强烈推荐)

composer require laravel/octane
php artisan octane:install

使用 Swoole / RoadRunner:

php artisan octane:start --server=swoole

二、PHP 层面优化(Linux 必做)

1. 使用 PHP 8.1+(推荐 8.2 / 8.3)

Laravel 10/11 对 PHP 8+ 有显著性能提升。

2. 安装 OPcache

sudo apt install php-opcache

php.ini 示例:

opcache.enable=1
opcache.memory_consumption=256
opcache.max_accelerated_files=20000
opcache.revalidate_freq=60
opcache.validate_timestamps=0

生产环境 validate_timestamps=0

3. 使用 PHP-FPM 调优

www.conf:

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

三、缓存策略(非常关键)

1. 使用 Redis 而不是文件缓存

.env

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 数据库查询缓存

Cache::remember('users', 600, fn () => User::all());

3. 避免 N+1 查询

User::with('posts')->get();

四、数据库优化(Linux + MySQL)

1. 添加索引

ALTER TABLE users ADD INDEX (email);

2. 使用慢查询日志

slow_query_log = 1
long_query_time = 1

3. 连接池(配合 Octane)

避免每次请求新建连接。


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

1. 开启 Gzip

gzip on;
gzip_types text/css application/javascript;

2. 静态资源走 CDN / Nginx

location ~* \.(js|css|png)$ {
    expires 30d;
}

六、队列与异步(提升响应速度)

1. 使用队列

php artisan queue:work redis

2. Supervisor 守护

[program:laravel-worker]
command=php /var/www/artisan queue:work redis
autostart=true

七、Linux 系统层面

1. 文件描述符

ulimit -n 65535

2. SWAP & 内存

free -h

确保不频繁 OOM。

3. 使用 SSD

数据库 IO 提升明显。


八、监控与持续优化

  • Laravel Telescope(开发)
  • New Relic / Prometheus
  • php artisan route:list 检查路由复杂度

九、推荐“标准生产组合”

✅ PHP 8.3 + OPcache
✅ Laravel Octane (Swoole)
✅ Redis
✅ Nginx
✅ MySQL 索引 + 慢查询
✅ 队列异步


如果你愿意,可以告诉我:

  • Laravel 版本
  • 服务器配置(CPU / 内存)
  • 当前 QPS / 响应时间

我可以给你一份 针对性的优化方案。

0 踩