Đây là Fly.Board, một công cụ blog do chính một lập trình viên trực tiếp triển khai bằng C11/C23 sau khi đã mệt mỏi với độ phức tạp của Spring và sự nặng nề của WordPress. Tôi chia sẻ dự án này sau khi xác nhận được hiệu năng có thể xử lý C10k trong môi trường HTTP/3(QUIC) over TLS 1.3 chỉ với một binary duy nhất.
Tính năng cốt lõi
- Minimalist Stack: framework tự phát triển (CWIST) và cấu trúc single binary
- Pure SSR(Server-Side Rendering): giảm thiểu độ trễ render ở phía client
- LibTTAK: công cụ quản lý bộ nhớ tùy chỉnh bảo đảm xử lý bất đồng bộ và an toàn bộ nhớ trong khi vẫn giữ tốc độ của C
- High Performance: ở trạng thái idle chỉ dùng 20MB, và ngay cả khi có 10.000 kết nối đồng thời vẫn có thể vận hành độ trễ thấp với mức RSS khoảng 369MB
- Modern Protocol: hỗ trợ HTTP/3(QUIC) và TLS 1.3 dựa trên stack C tùy chỉnh
Kết quả benchmark C10k (/usr/bin/time -v)
- Kết nối đồng thời: 10.000 (duy trì trong 24 phút 46 giây)
- Mức sử dụng bộ nhớ: RSS tối đa khoảng 369 MB (khoảng 37KB mỗi kết nối)
- Hiệu quả I/O: Major page faults 0 (không có nút thắt cổ chai I/O đĩa)
- Độ an toàn dữ liệu: khi nhận SIGINT, dữ liệu được lưu an toàn thông qua NukeDB thành 89.208 FS output
So sánh với các stack hiện có
- WordPress: tiêu thụ tài nguyên nặng dựa trên PHP-FPM/MySQL và cần cache nhiều tầng
- Pure SSR(Server-Side Rendering): giảm thiểu độ trễ render trên các thiết bị cấu hình thấp
- Spring Boot: độ phức tạp khởi đầu và mức sử dụng bộ nhớ cao do JVM heap và DI container
- Fly.Board: có thể xử lý C10k thoải mái ngay cả trên VPS dưới 1GB mà không cần lớp cache riêng
Điểm còn hạn chế và bài toán sắp tới
- Cần cải thiện hiệu quả xử lý ở userspace đối với hiện tượng System time cao hơn User time
- Ngoài benchmark thiên về đọc, dự kiến sẽ kiểm chứng tải ghi của tầng dữ liệu dựa trên SQLite (ghi bình luận/bài viết đồng thời)
Liên kết
- GitHub: https://github.com/gg582/fly.board
Dự án được tạo ra với sự cân nhắc về sự cân bằng giữa độ hoàn thiện kỹ thuật và tính thực dụng. Hy vọng đây sẽ là một lựa chọn tốt cho các lập trình viên muốn vận hành blog cá nhân trên VPS cấu hình thấp. Mọi phản hồi đều được chào đón!
Chưa có bình luận nào.