温馨提示×

debian下laravel慢怎么办

小樊
35
2026-09-14 09:59:21
栏目: 智能运维

在 Debian 下 Laravel 运行慢,通常是环境配置 + Laravel 自身优化两方面问题。下面按「最常见 → 进阶」给你一套排查和优化清单。


一、先确认“慢在哪”

# 页面响应时间
time curl http://your-site.test

# PHP 执行时间
php -m | grep -i opcache

常见慢的原因:

  • 没开 OPCache
  • 用的是 php artisan serve
  • 每次请求都读 .env、清缓存
  • 数据库没索引
  • Debian 默认配置偏保守

二、PHP / OPCache(最关键)

1. 安装并开启 OPCache

sudo apt install php-opcache

编辑:

sudo nano /etc/php/8.x/fpm/php.ini

确保:

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

重启:

sudo systemctl restart php8.x-fpm

三、不要用 php artisan serve

开发可以,生产绝对不行

正确方式:

  • Nginx + PHP-FPM
  • 或 Apache + PHP-FPM

四、Laravel 自身优化(必做)

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

部署后改了代码记得:

php artisan optimize:clear

五、Composer 优化(生产部署)

composer install --optimize-autoloader --no-dev

或:

composer dump-autoload -o

六、数据库相关(非常常见)

1. 开启慢查询日志

SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;

2. 加索引

Schema::table('orders', function ($table) {
    $table->index('user_id');
});

3. 用 with() 解决 N+1

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

七、Debian 系统层面

1. 关闭 IPv6(有时 DNS 很慢)

sudo nano /etc/gai.conf

取消注释:

precedence ::ffff:0:0/96 100

2. 调整 PHP-FPM

sudo nano /etc/php/8.x/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20

八、调试工具(定位瓶颈)

composer require barryvdh/laravel-debugbar --dev

或:

php artisan telescope:install
php artisan migrate

九、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. Debian 版本(12?11?)
  2. PHP 版本
  3. Web 服务(Nginx / Apache)
  4. 开发慢 还是 生产慢
  5. 页面大概多久(如 2s / 8s)

我可以给你一套针对性配置

0