溫馨提示×

如何在Debian上優化Laravel性能

小樊
49
2025-02-20 08:28:13
欄目: 智能運維

在Debian上優化Laravel性能可以通過多種方法實現,以下是一些關鍵的優化策略:

1. 使用Telescope進行深度剖析與實時監控

  • 安裝Telescope:通過Composer安裝Laravel Telescope:
    composer require laravel/telescope
    
  • 發布Telescope資產
    php artisan telescope:install
    php artisan migrate
    
  • 注冊Telescope:在app/Providers/AppServiceProvider.php中注冊Telescope:
    use Laravel\Telescope\Telescope;
    use Laravel\Telescope\TelescopeApplicationServiceProvider;
    
    class AppServiceProvider extends ServiceProvider
    {
        public function register()
        {
            Telescope::ignoreMigrations();
        }
    
        public function boot()
        {
            Telescope::night();
        }
    }
    
  • 監控查詢:使用DB::listen記錄查詢:
    DB::listen(function ($query) {
        Telescope::recordQuery($query);
    });
    

2. 優化隊列處理機制

  • 配置隊列驅動程序:在.env文件中設置隊列驅動程序:
    QUEUE_CONNECTION=redis
    
  • 創建作業類:使用Artisan命令創建作業類:
    php artisan make:job SendEmail
    
  • 調度作業:分派作業到隊列:
    use App\Jobs\SendEmail;
    SendEmail::dispatch($user);
    
  • 優化隊列
    • 實施批處理。
    • 建立穩健的重試機制。
    • 根據負載動態擴展隊列工作者。

3. 使用Laravel Octane提高性能

  • 安裝Octane:通過Composer安裝Octane:
    composer require laravel/octane
    
  • 安裝服務:以FrankenPHP為例安裝服務:
    php artisan octane:install --server=frankenphp
    
  • 啟用服務:啟動Octane服務:
    php artisan octane:start
    
  • 配置Nginx:將站點請求代理給Octane服務。

4. 開啟OpCache加速PHP執行

  • 編輯php.ini
    opcache.enable=1
    opcache.enable_cli=1
    opcache.jit=tracing
    opcache.jit_buffer_size=256m
    opcache.memory_consumption=512m
    opcache.interned_strings_buffer=64m
    opcache.max_accelerated_files=10000
    opcache.revalidate_freq=60
    opcache.validate_timestamps=1
    opcache.fast_shutdown=1
    opcache.save_comments=1
    

5. 配置Nginx和PHP-FPM

  • 安裝Nginx
    sudo aptitude install nginx
    
  • 配置Nginx:編輯/etc/nginx/sites-available/fmtmis文件:
    server {
        listen 80;
        root /var/www/code/fmtmis/webroot/public;
        index index.php;
        server_name fmtmis.testing;
    
        location / {
            try_files uri uri/ /index.php?query_string;
        }
    
        location \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }
    
        location /\.ht {
            deny all;
        }
    }
    
  • 安裝PHP-FPM
    sudo aptitude install php7.2-fpm php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-xml php7.2-zip
    
  • 配置Supervisor:建立Supervisor配置文件并啟動Horizon:
    sudo vim /etc/supervisor/conf.d/fmtmis.conf
    
    [program:fmtmis-horizon]
    process_name=%(program_name)s
    command php /var/www/code/fmtmis/webroot/artisan horizon
    autostart=true
    autorestart=true
    user=root
    redirect_stderr=true
    stdout_logfile=/var/www/code/fmtmis/webroot/horizon.log
    
    sudo supervisorctl reread
    sudo supervisorctl update
    sudo supervisorctl start fmtmis-horizon
    

通過以上步驟,您可以在Debian上顯著提升Laravel應用程序的性能。這些優化策略包括使用Telescope進行監控、優化隊列處理、使用Octane提高執行速度、開啟OpCache加速PHP執行以及正確配置Nginx和PHP-FPM。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女