Giao diện
Laravel Octane
- Giới thiệu
- Cài đặt
- Server Prerequisites
- Serving ứng dụng
- Dependency Injection và Octane
- Concurrent Tasks
- Octane Cache
- Tables
Nguồn gốc: Bản dịch từ Laravel Octane
Giới thiệu (Introduction)
Laravel Octane tăng tốc hiệu năng ứng dụng bằng cách serve ứng dụng qua application server hiệu suất cao: FrankenPHP, Open Swoole, Swoole, hoặc RoadRunner.
Octane boot ứng dụng một lần, giữ trong bộ nhớ, rồi feed request với tốc độ cực nhanh.
Cài đặt (Installation)
bash
composer require laravel/octanebash
php artisan octane:installServer Prerequisites
FrankenPHP
FrankenPHP là application server PHP viết bằng Go. Hỗ trợ early hints, Brotli/Gzip compression, HTTP/3 và modern web features.
RoadRunner
RoadRunner — application server viết bằng Go.
bash
composer require spiral/roadrunner-cli spiral/roadrunner-httpSwoole
Cài extension Swoole PHP qua PECL.
Serving ứng dụng
bash
php artisan octane:startMặc định serve tại http://localhost:8000.
Serving qua HTTPS
Cấu hình HTTPS với FrankenPHP hoặc reverse proxy.
Serving qua Nginx
Cấu hình Nginx reverse proxy đến Octane.
Watching File Changes
bash
php artisan octane:start --watchWorker Count
Chỉ định số worker processes.
Reloading Workers
bash
php artisan octane:reloadDependency Injection và Octane
Vì Octane boot ứng dụng 1 lần và giữ trong RAM, cần lưu ý:
Container Injection
Không inject application container hoặc request vào constructor singleton.
Request Injection
Không inject Request vào singleton service.
Managing Memory Leaks
Tránh memory leak khi thêm vào array/property static liên tục.
Concurrent Tasks
Octane cho phép chạy nhiều task song song:
php
use Laravel\Octane\Facades\Octane;
[$users, $servers] = Octane::concurrently([
fn () => User::all(),
fn () => Server::all(),
]);Octane Cache
Octane cache cung cấp tốc độ đọc/ghi lên đến 2 triệu operations/giây.
Cache Intervals
Tự động refresh cache theo interval.
Tables
Octane tables (Swoole) cung cấp shared memory tables truy cập nhanh.