Cấu Hình VPS Chạy Hàng Đợi BullMQ Production (noeviction, Lua Streams & 2x Đệm CoW) — RedisVault
BullMQ vận hành bằng tập lệnh Lua nguyên tử trên Streams, Hash và ZSET hẹn giờ. Đặt sai chính sách xóa LRU sẽ làm hỏng khóa job ngầm, trong khi tiến trình nén AOF lúc tải cao cần dự phòng gần gấp đôi (2x) dung lượng RAM Copy-on-Write. — Phân tích định lượng bởi RedisVault.
Trong bản thiết kế BULLMQ-STREAM 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 BULLMQ-STREAM 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 |
|---|---|---|---|---|
| Startup SaaS (500K Jobs • 25 Workers) | 1.8 GB |
+1.7 GB CoW |
8 GB RAM (Hostinger KVM 2) | 48,000 jobs/min |
| Growth API (5M Jobs • 120 Workers) | 6.9 GB |
+6.8 GB CoW |
16 GB RAM (Hostinger KVM 4) | 115,000 jobs/min |
| High-Throughput Webhook (15M Jobs) | 16.8 GB |
+16.5 GB CoW |
32–64 GB VDS (UltaHost 64GB) | 210,000 jobs/min |
| Multi-Region HA (15M Jobs • Sentinel 3x) | 16.8 GB/node |
+16.5 GB/node |
3x 64 GB VDS Cluster | <4s Auto-Failover |
Mẫu Cấu Hình Thực Thi BULLMQ-STREAM Từ RedisVault
# Production BullMQ Redis/Valkey configuration (NEVER use allkeys-lru on BullMQ!)
sysctl -w vm.overcommit_memory=1
cat <<'EOF' >/etc/redis/bullmq.conf
port 6379
maxmemory 7065mb
maxmemory-policy noeviction
activedefrag yes
lazyfree-lazy-expire yes
appendonly yes
appendfsync everysec
aof-use-rdb-preamble yes
auto-aof-rewrite-percentage 100
no-appendfsync-on-rewrite yes
EOF
# Always set removeOnComplete / removeOnFail in your Node.js Queue defaultJobOptions!
Nguyên Tắc Tối Ưu Hóa Nhân Linux Cho BULLMQ-STREAM Trên RedisVault
- Bắt buộc đặt maxmemory-policy noeviction: nếu để Redis tự xóa bớt key theo LRU, các khóa bull:<queue>:lock đang chạy sẽ đứt gãy làm treo toàn bộ Worker.
- Luôn khai báo removeOnComplete: { age: 3600, count: 5000 } và removeOnFail trong code Node.js để dọn xác job cũ, tránh phân mảnh bộ nhớ jemalloc.
- Bật no-appendfsync-on-rewrite yes để lúc ổ cứng NVMe đang gộp file AOF ngầm không làm khựng luồng thực thi Lua chí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 BULLMQ-STREAM (Đố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.
-
DDR5-KVM8 Từ $4.99/tháng (giá 2026-11-12)Hostinger KVM DDR5 NVMe VPS (Vua Giá/RAM Cho Valkey, BullMQ & Sentinel) Giảm tới 67% + Giảm thêm 20% qua link đối tác • 8GB–32GB RAM DDR5 dư sức gánh 2x bộ nhớ BGSAVE CoW Khởi Tạo Hostinger (DDR5-KVM8) Cho BULLMQ-STREAM Qua RedisVault ↗
-
HF-3.7GHZ Từ $6.00/tháng (giá 2026-11-12)Vultr High Frequency NVMe (Xung 3.7GHz+ Chuyên Trị Redis & Valkey) Xung đơn nhân 3.7GHz+ & NVMe cục bộ đạt độ trễ p99 < 0.25ms cho Redis, Lua Rate-Limit tại Singapore & Tokyo Khởi Tạo Vultr (HF-3.7GHZ) Cho BULLMQ-STREAM Qua RedisVault ↗
-
LOCK-RYZEN Từ $12.00/tháng (giá 2026-11-12)InterServer VPS Khóa Giá Trọn Đời & Máy Chủ Vật Lý Ryzen (16GB–128GB) Cam kết không tăng giá gia hạn trọn đời + Ryzen 7900 xung cao kèm 2TB NVMe lưu trữ bền bỉ nhật ký AOF/RDB Khởi Tạo InterServer (LOCK-RYZEN) Cho BULLMQ-STREAM Qua RedisVault ↗