温馨提示×

怎样优化debian的laravel性能

小樊
39
2026-09-29 09:34:40
栏目: 智能运维

在 Debian 上优化 Laravel 性能,通常可以从系统层、PHP 层、Laravel 层、数据库与缓存层几个方面入手。下面按 practical(实际可用)方式给你一套优化清单。


一、系统与 PHP 基础优化

1. 使用最新稳定版本

  • Debian:尽量用 Debian 11/12
  • PHP:推荐 PHP 8.1 / 8.2 / 8.3(Laravel 10/11 支持)
php -v

2. 安装并启用 OPcache

sudo apt install php-opcache

/etc/php/*/cli/php.ini 和 fpm/php.ini:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0 ; 生产环境
opcache.revalidate_freq=60

3. 使用 PHP-FPM(而非 Apache mod_php)

sudo apt install php-fpm nginx

Nginx + PHP-FPM 性能明显优于 Apache。


二、Laravel 生产环境优化(非常重要)

1. 开启生产模式

APP_ENV=production
APP_DEBUG=false

2. 优化自动加载

composer install --optimize-autoloader --no-dev
composer dump-autoload -o

3. 配置缓存(必须做)

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache   # Laravel 8+

⚠️ 改配置后必须重新 cache

4. 关闭无用服务

  • 不用队列就不用 queue
  • 不用广播就关 broadcasting

三、缓存与 Session 优化

1. 使用 Redis(强烈推荐)

sudo apt install redis-server

.env:

CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

2. 文件缓存 → Redis

默认文件缓存慢,Redis 更稳定。


四、数据库优化

1. 开启查询缓存(MySQL)

SHOW VARIABLES LIKE 'query_cache%';

2. 使用索引 + 避免 N+1

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

3. 使用 Laravel 查询缓存

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

五、队列与异步任务

1. 使用队列

php artisan queue:work --daemon

Supervisor 管理:

sudo apt install supervisor

2. 耗时任务异步化

  • 邮件
  • 导出
  • 图片处理

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

location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    include fastcgi_params;
}

开启:

  • gzip
  • browser cache
  • HTTP/2

七、监控与排查

1. 性能分析

php artisan route:list
php artisan telescope # 开发

2. 系统监控

htop
iotop

八、推荐生产部署组合(Debian)

✅ Debian 12
✅ Nginx
✅ PHP 8.2 FPM
✅ Redis
✅ MySQL/PostgreSQL
✅ Supervisor
✅ OPcache + Laravel cache


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

  • Laravel 版本
  • 访问量(PV/UV)
  • 当前瓶颈(CPU / IO / 数据库)

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

0 踩