Lập trình viên xây dựng máy chủ PHP nhanh nhất thế giới, vượt mặt Swoole, FrankenPHP và RoadRunner
Qbix Server ra đời với cách tiếp cận hoàn toàn khác biệt: dùng pcntl_fork() để tạo hàng nghìn worker nhẹ chỉ 120KB mỗi cái, nhờ cơ chế copy-on-write của nhân Linux. Trên cùng 200MB RAM, nó đạt 1.060 req/s so với 78 req/s của PHP-FPM truyền thống, đồng thời thay thế cả nginx, Node, Redis, supervisor và Docker trong một tệp duy nhất.

Máy chủ PHP nhanh nhất thế giới: 1.060 req/s trên 200MB RAM, vượt xa Swoole và FrankenPHP
Qbix Server
Một dự án mang tên Qbix Server vừa gây chú ý trên cộng đồng công nghệ khi tuyên bố đạt tốc độ nhanh hơn cả Swoole, FrankenPHP lẫn RoadRunner mà không cần sửa một dòng code nào. Điểm đáng nói là toàn bộ hệ thống chỉ gói gọn trong một tệp duy nhất, không extension, không adapter, không Docker.
Theo tác giả, giải pháp này thay thế cùng lúc nhiều thành phần quen thuộc trong stack PHP truyền thống: nginx, PHP-FPM, Node.js, Redis, supervisor và cả Docker. Trên cùng một cấu hình 200MB RAM, Qbix đạt 1.060 req/s trong khi PHP-FPM chỉ chạm ngưỡng 78 req/s.
Cách tiếp cận khác biệt: fork thay vì coroutine
Phần lớn mã PHP hiện nay — từ plugin WordPress, package Laravel cho tới mọi lệnh PDO::query() hay file_get_contents() — đều dùng blocking I/O. Đây chính là điểm yếu mà các giải pháp như Swoole, FrankenPHP hay RoadRunner không thể khắc phục triệt để, bởi coroutine không giúp ích gì với đoạn code không hề nhường quyền điều khiển (yield).
Swoole yêu cầu
Runtime::enableCoroutine()cùng các driver hỗ trợ coroutine. WordPress hay Laravel nguyên bản dùng blocking I/O và nhanh chóng chạm trần của FPM.
Qbix chọn hướng đi ngược lại: chạy thật nhiều worker. Máy chủ nạp toàn bộ framework vào tiến trình cha, sau đó gọi pcntl_fork() để sinh ra các tiến trình con. Nhân Linux đánh dấu các trang bộ nhớ của tiến trình cha là copy-on-write (COW) — nghĩa là các worker chia sẻ chung mọi class đã nạp, chỉ tốn thêm dung lượng cho những trang bộ nhớ mà chúng thực sự ghi vào trong lúc xử lý request.
Kết quả rất ấn tượng: một request kiểu WordPress chỉ "làm bẩn" khoảng 30 trang bộ nhớ, tương đương 120KB trên Linux. Vì vậy, 200MB RAM không chỉ đủ cho 4 worker như FPM, mà có thể nuôi hàng nghìn worker. Mỗi worker cứ việc block ở truy vấn cơ sở dữ liệu của nó — điều đó không còn là vấn đề khi số lượng worker đủ lớn. COW chính là yếu tố biến bài toán "cần bao nhiêu worker" từ 16GB xuống chỉ còn 47MB.
Đáng chú ý, tất cả đều là PHP thuần ở tầng userland: không kernel module, không C extension, không custom allocator. Chỉ cần pcntl_fork() sau khi nạp xong mọi thứ, phần còn lại để hệ điều hành lo. Nhóm phát triển cho biết đã đề xuất cơ chế này vào lõi PHP dưới tên switch_global_context(), nhưng trong lúc chờ RFC được thông qua, Qbix đã triển khai được ngay ở userland.
Tương thích ngược với WordPress, Laravel, Symfony, Drupal
Điểm khiến Qbix khác biệt so với các giải pháp coroutine là nó chạy được code nguyên bản không chỉnh sửa. Các worker là tiến trình thường trú, xử lý hàng nghìn request mà không cần khởi động lại. Giữa hai request, một cơ chế snapshot dựa trên Reflection khôi phục toàn bộ thuộc tính static chỉ trong 0,03ms.
Hệ thống can thiệp vào 28 hàm PHP thông qua biến đổi mã nguồn tại thời điểm include, bao gồm:
header(),session_start(),register_shutdown_function()ini_set(),set_error_handler(),set_exception_handler()spl_autoload_register(),putenv()và 20 hàm khác
Tất cả đều được theo dõi và dọn dẹp theo từng request, mang lại sự an toàn kiểu shared-nothing cho WordPress, Laravel, Symfony và Drupal mà không cần adapter hay kiểm tra mã nguồn thủ công. Qbix cũng đọc được .htaccess, hỗ trợ nhiều tính năng web server quen thuộc như X-Accel-Redirect cho tệp có kiểm soát truy cập, sinh ETag và liệt kê thư mục.
Bộ tính năng "tất cả trong một"
Qbix tích hợp sẵn nhiều thành phần mà lẽ ra phải cài đặt riêng:
- Rooms — tiến trình được fork với trạng thái chia sẻ, dùng giao thức Socket.IO, không cần Node
- Authority và sandbox — chỉ đổi một dòng cấu hình là đổi vai trò, cùng code nhưng secret không bao giờ rời khỏi authority
- Chế độ phân tán — nhiều máy chủ dùng SQLite, sự kiện được sao chép; một node chết đi rồi khởi động lại sẽ tự bắt kịp
- Chat, kanban, SSE stream, REST API, bộ đếm trực tiếp đều có sẵn
- HTTPS tự khởi động khi phát hiện chứng chỉ, kèm cron scheduler tích hợp
- Dashboard tại
/Q/dashboard— không cần Grafana hay Prometheus - Sinh OpenAPI 3.1 và MCP spec tự động từ các handler file, kèm Swagger UI, Postman, Redoc, cho phép công cụ AI gọi trực tiếp API của ứng dụng
- Nhật ký truy cập có đệm, xoay vòng theo ngày và nén gzip
Ý nghĩa với cộng đồng PHP Việt Nam
Với các đội phát triển tại Việt Nam đang vận hành WordPress hoặc Laravel trên VPS cấu hình khiêm tốn, Qbix có thể là lựa chọn đáng cân nhắc: cùng một lượng RAM, số worker tăng lên hàng nghìn lần đồng nghĩa khả năng chịu tải cao hơn hẳn mà không phải viết lại code. Việc loại bỏ nginx, Redis, Node và Docker cũng giúp đơn giản hóa đáng kể quy trình triển khai và giảm chi phí hạ tầng.
Tuy nhiên, cần lưu ý rằng đây vẫn là một dự án non trẻ, và các con số benchmark do chính tác giả công bố cần được kiểm chứng độc lập trên nhiều loại workload thực tế. Những ai quan tâm có thể tải nhị phân, xem ví dụ hoặc theo dõi mã nguồn trên GitHub để tự đánh giá.


