REDISVAULT_BLUEPRINT // LARAVEL-HORIZON • Hàng Đợi Laravel Horizon & Octane

Kiến Trúc VPS Chạy Laravel Horizon, Octane & PhpRedis Chịu Tải Cao — RedisVault

Các hệ thống Laravel Octane lớn bắn hàng chục nghìn truy vấn Cache, Session và thống kê Horizon mỗi giây. Chuyển từ thư viện thuần PHP Predis sang extension C PhpRedis bật nén igbinary + zstd giúp giảm tới 55% dung lượng RAM tiêu thụ. — Phân tích định lượng bởi RedisVault.

Trong bản thiết kế LARAVEL-HORIZON của RedisVault, chúng tôi tách biệt giới hạn maxmemory khỏi vùng đệm nhân bản trang nhớ POSIX fork() 4 KB và bộ đệm kết nối mạng để đảm bảo tiến trình không bị OOM-Killer ngắt đột ngột khi ghi đĩa.

Bảng Định Cỡ RAM & Đệm CoW Cho LARAVEL-HORIZON Trên RedisVault

Quy Mô Triển Khai maxmemory fork() CoW Reserve Cấu Hình Máy Chủ Tối Thiểu Thông Lượng Dự Kiến
Laravel SaaS + 8 Horizon Workers 2.2 GB +2.0 GB CoW 8 GB RAM (Hostinger KVM 2) 0.28 ms PhpRedis
Laravel Octane (Swoole/FrankenPHP) + 5M Keys 6.9 GB +6.8 GB CoW 16 GB RAM (Hostinger KVM 4) 0.21 ms Persistent
Multi-Tenant ERP + Heavy Horizon Batch 16.8 GB +16.5 GB CoW 32 GB KVM 8 / Vultr HF 32GB 95,000 jobs/min
HA Sentinel Laravel Cluster 6.9 GB/node +6.8 GB/node 3x 16 GB KVM 4 ($31.47/tháng) PhpRedis Sentinel

Mẫu Cấu Hình Thực Thi LARAVEL-HORIZON Từ RedisVault

laravel-horizon-redis.conf — RedisVault Verified Template Mở trong Studio tương tác RedisVault →
# /etc/php/8.3/mods-available/redis.ini — Compile with --enable-redis-igbinary --enable-redis-zstd
extension=igbinary.so
extension=redis.so

# config/database.php (Laravel 11/12 PhpRedis Persistent + ZSTD Compression)
'redis' => [
    'client' => 'phpredis',
    'options' => [
        'serializer' => Redis::SERIALIZER_IGBINARY,
        'compression' => Redis::COMPRESSION_ZSTD,
        'compression_level' => 3,
        'persistent' => true,
    ],
],

Nguyên Tắc Tối Ưu Hóa Nhân Linux Cho LARAVEL-HORIZON Trên RedisVault

  1. Bật bộ đôi SERIALIZER_IGBINARY và COMPRESSION_ZSTD cho PhpRedis: chuỗi Eloquent Model thu nhỏ từ 50–68% dung lượng RAM mà chỉ tốn dưới 2% CPU.
  2. Kết nối qua Unix Socket (/var/run/redis/redis-server.sock) nếu Laravel và Redis nằm cùng một VPS giúp giảm ~32% độ trễ so với cổng mạng TCP 127.0.0.1:6379.
  3. Giới hạn cấu hình horizon.trim.completed xuống 60 phút để lịch sử job hoàn thành không làm phình to file AOF.
  1. LARAVEL-HORIZON — Sơ đồ 4 vùng phân bổ RAM Linux trên RedisVault gồm dữ liệu khóa thô, hao hụt con trỏ jemalloc, vùng đệm nhân bản fork BGSAVE Copy-on-Write và bộ đệm nhân hệ điều hành
    Hình 1 (RedisVault): Lý do đặt maxmemory vượt 50% RAM vật lý trên hàng đợi ghi nhiều dẫn tới lỗi tràn bộ nhớ Linux OOM-Killer.

Hạ Tầng Khuyến Nghị Cho LARAVEL-HORIZON (Đối Chiếu Giá Ngày 2026-11-12 Trên RedisVault)

Các mức giá dưới đây được đối chiếu từ trang bảng giá chính thức ngày 2026-11-12 (hostinger.com/vps-hosting, vultr.com/pricing, ultahost.com/vps-hosting, interserver.net/vps, chemicloud.com/web-hosting) và có thể thay đổi theo chu kỳ thanh toán; hãy kiểm tra lại tại bước thanh toán. Nếu dự án cần SLA quản trị trọn gói không tự vận hành Linux, hãy cân nhắc AWS ElastiCache hoặc Upstash.

Giải Đáp Kỹ Thuật LARAVEL-HORIZON Trên RedisVault

Tại sao chạy Laravel Octane bắt buộc nên dùng PhpRedis thay vì gói Composer Predis? — RedisVault LARAVEL-HORIZON

PhpRedis được biên dịch bằng ngôn ngữ C hỗ trợ giữ kết nối persistent, nén zstd trực tiếp ở tầng C và tự nhận diện Sentinel — nhanh gấp 3–5 lần so với thư viện viết thuần bằng PHP như Predis.

Nên tách Cache và Horizon Queue bằng đánh số DB 0 / DB 1 hay chạy 2 tiến trình Redis riêng? — RedisVault LARAVEL-HORIZON

Đánh số DB 0 và DB 1 thực chất vẫn dùng chung 1 nhân CPU đơn luồng và chung chính sách xóa maxmemory-policy! Khi hệ thống có trên 20 luồng Horizon, hãy tách hẳn tiến trình thứ 2 ở cổng 6380 đặt noeviction.