Stalwart v1.0 ra mắt: Máy chủ thư nhanh nhất hành tinh
Sau 5 năm phát triển, Stalwart chính thức phát hành phiên bản 1.0 ổn định với trọng tâm là hiệu năng đột phá và lược đồ cơ sở dữ liệu ổn định. Máy chủ thư mã nguồn mở viết bằng Rust này được cho là nhanh hơn Postfix và Dovecot trên 35 trong 38 phép so sánh hiệu năng.

Stalwart vừa chính thức phát hành phiên bản 1.0 ổn định sau 5 năm phát triển liên tục. Đây không chỉ là một bản cập nhật tính năng thông thường, mà là cột mốc đánh dấu một máy chủ thư hoàn chỉnh, được tối ưu đến từng micro giây và sẵn sàng thay thế các bộ đôi Postfix – Dovecot quen thuộc.
Hành trình từ một thư viện nhỏ đến máy chủ hoàn chỉnh
Ngày 3/10/2021, commit đầu tiên xuất hiện trong một kho lưu trữ nhỏ mang tên mail-parser – chỉ là một thư viện phân tích thư điện tử viết bằng Rust. Năm năm sau, nó đã trở thành một máy chủ thư và cộng tác hoàn chỉnh hỗ trợ JMAP, IMAP, POP3, SMTP, CalDAV, CardDAV, WebDAV, bộ lọc thư rác, khả năng clustering và hàng loạt backend lưu trữ.
Phiên bản 1.0 đặt ra hai mục tiêu: tối ưu hiệu năng và ổn định dữ liệu. Lược đồ cơ sở dữ liệu nay đã được chốt, nghĩa là các bản nâng cấp sau này chỉ cần cài phiên bản mới, không còn những đợt di trú dữ liệu gây gián đoạn như trước.
Tối ưu bằng SIMD và SWAR
Phần lớn công việc trong bản phát hành này diễn ra dưới trình phân tích hiệu năng (profiler). Gần 200 commit chạm tới hơn 1.300 tệp, chủ yếu để làm mọi thứ nhanh và nhẹ hơn.
Máy chủ thư dành rất nhiều thời gian để tìm các byte cụ thể: điểm kết thúc dòng tiêu đề, ranh giới MIME, dấu bằng trong phần thân quoted-printable. Stalwart áp dụng hai kỹ thuật để xử lý nhiều byte cùng lúc:
- SIMD (Single Instruction, Multiple Data) tận dụng thanh ghi vector rộng của CPU hiện đại (SSE2, SSSE3, AVX2 trên x86-64, NEON trên ARM) để so sánh 16 hoặc 32 byte chỉ với một lệnh.
- SWAR (SIMD Within A Register) áp dụng ý tưởng tương tự với số nguyên 64-bit thông thường, không cần lệnh đặc biệt nên chạy được trên mọi CPU.
Thư viện mail-parser 1.0 được viết lại từ đầu, nhanh gấp 3 lần crate mailparse phổ biến, 9 lần so với bộ phân tích của Dovecot và 15 đến 31 lần so với libEtPan!, VMime hay GMime. Thư viện mã hóa mới encodify giải mã tệp đính kèm Base64 nhanh gấp 22 lần so với crate base64 tiêu chuẩn.
Biểu đồ so sánh các yếu tố hiệu năng của Stalwart
Ít truy vấn cơ sở dữ liệu hơn, nhanh hơn
Phân tích nhanh sẽ vô nghĩa nếu mỗi yêu cầu phải chờ cơ sở dữ liệu. Vì vậy, đội ngũ cũng dành nhiều thời gian tối ưu cách Stalwart giao tiếp với lưu trữ. Định danh nay được gán ngay trong cùng giao dịch ghi, loại bỏ hẳn các vòng truy vấn thừa. Các đối tượng lưu trữ được nén bằng zstd với từ điển huấn luyện riêng trên dữ liệu thư, lịch và danh bạ.
Từng backend cũng được tinh chỉnh riêng: RocksDB dùng column family và bloom filter, PostgreSQL/MySQL dùng prepared statement đệm sẵn, FoundationDB đọc trước song song, còn SQLite được căn chỉnh kích thước trang và WAL cho khối lượng thư lớn.
Công cụ kiểm thử áp lực trên hàng trăm vCPU
Không thể tối ưu mà không đo đạc dưới tải thực tế. Stalwart đã xây dựng một phòng thí nghiệm benchmark trên Microsoft Azure, trải khắp hơn 30 vùng, với tối đa 18 phòng thử nghiệm song song và hàng trăm vCPU hoạt động cùng lúc.
Bộ kiểm thử gồm 35 loại, hơn 550 ô kiểm thử riêng lẻ, bao phủ mọi giao thức chính, các kho dữ liệu, bộ dữ liệu lớn (1,6 triệu thư, hộp thư 5 triệu thư, 100.000 tài khoản trên một máy chủ) cùng các kịch bản tấn công như slow-loris hay thư sai định dạng.
Kết quả thật đáng chú ý:
- Mở lại hộp thư 5 triệu thư giảm từ 61 ms xuống 0,21 ms.
- Truy vấn JMAP trên tài khoản 5 triệu thư giảm từ 3,3 giây xuống 12 ms.
- Thông lượng nhận thư đỉnh trên RocksDB gần như tăng gấp đôi, từ 9.690 lên 18.394 thư/giây.
- Một vấn đề rò rỉ bộ nhớ khiến tiến trình giữ tới 9,6 GB trong khi heap thực tế dưới 0,4 GB đã được phát hiện và khắc phục.
Biểu đồ độ trễ xử lý 250.000 thư
Nhanh hơn Postfix và Dovecot
Đội ngũ còn đặt Stalwart v1.0 đối đầu trực tiếp với bộ đôi phổ biến nhất thế giới: Postfix 3.11 cho SMTP và Dovecot 2.4 cho IMAP. Cả hai chạy trên máy chủ Azure giống hệt nhau (8 vCPU AMD EPYC Zen 5, 32 GiB RAM, ổ NVMe) với cùng 1.000 hộp thư cùng ba hộp thư lớn tới 250.000 thư.
Stalwart nhanh hơn ở 35 trong 38 phép so sánh chính. Một số kết quả nổi bật:
- Đăng nhập IMAP kèm bắt tay TLS mất 5,1 ms thay vì 28 ms.
- Nhận một thư qua SMTP nhanh gấp 3,6 đến 12 lần, duy trì 5.445 thư/giây so với 723 của Postfix.
- Thư hiển thị với ứng dụng IMAP sớm hơn 16 lần, khách hàng chờ trong IDLE được thông báo sau 3,3 ms thay vì nửa giây.
- Trên hộp thư 250.000 thư, tìm kiếm toàn văn mất 3,75 ms so với 136 ms của Dovecot; di chuyển hoặc xóa 25.000 thư hoàn tất trong khoảng 0,1 giây thay vì 24 đến 34 giây – nhanh hơn hơn 200 lần.
Ba phép thử Dovecot thắng đều là cùng một thao tác: đánh dấu toàn bộ thư trong hộp thư là đã đọc cùng lúc.
Điều đáng lưu ý là Postfix và Dovecot chính là động cơ bên dưới gần như mọi máy chủ thư tự triển khai phổ biến như docker-mailserver, mailcow hay Mail-in-a-Box. Đánh bại bộ đôi này đồng nghĩa đánh bại nền tảng đứng sau phần lớn hệ thống thư tự lưu trữ trên internet. Toàn bộ kịch bản, cấu hình và kết quả thô đều được công khai trong kho lưu trữ benchmark để bất kỳ ai cũng có thể tái lập.
Những tính năng mới đáng chú ý
Bên cạnh hiệu năng, v1.0 còn mang đến nhiều tính năng đáng giá:
- Tìm kiếm trong tài liệu: trích xuất và lập chỉ mục văn bản từ PDF, Microsoft Office, OpenDocument, EPUB và RTF, cả trong tệp đính kèm lẫn kho tệp.
- Full-text search cho kho tệp kèm hàng đợi chỉ mục có trạng thái từng phân vùng.
- DKIM2 hậu lượng tử: chữ ký kết hợp ML-DSA-44 và Ed25519.
- OAuth và OpenID Connect: hỗ trợ Client ID Metadata Documents, phạm vi riêng theo ứng dụng và danh sách ứng dụng đã kết nối để người dùng thu hồi.
- Bộ phân loại thư rác bằng AI trong bản Enterprise, hỗ trợ mô hình tương thích OpenAI, Anthropic, Gemini và Ollama.
Nâng cấp lên v1.0
Việc chốt lược đồ cơ sở dữ liệu có cái giá phải trả một lần: dữ liệu cũ cần được di trú sang bố cục mới. Với các triển khai đang chạy v0.16, công cụ stalwart-migrate là lựa chọn đơn giản nhất, cho phép sao chép tăng dần trong khi máy chủ cũ vẫn phục vụ người dùng, chỉ gián đoạn trong lần chạy cuối.
Với các phiên bản v0.15 trở về trước, có thể dùng migration proxy kết hợp Vandelay để chuyển từng tài khoản một, không gián đoạn cho người dùng. Quy trình này cũng áp dụng được khi chuyển từ Dovecot và Postfix sang Stalwart.
Có hai thay đổi cần lưu ý trước khi nâng cấp:
- Cluster giờ bắt buộc dùng Redis (Redis, Redis Cluster hoặc Redis Sentinel). Triển khai một máy chủ đơn được trang bị kho bộ nhớ tích hợp sẵn.
- OAuth tuân theo chuẩn open public client, cho phép mọi ứng dụng thư đăng nhập vào mọi máy chủ thư mà không cần đăng ký trước. Một số nhà cung cấp danh tính bên ngoài chưa hỗ trợ đầy đủ chuẩn này, và điều đó sẽ sớm trở thành vấn đề khi các ứng dụng như Apple Mail bắt đầu áp dụng nó.
Với người dùng Việt Nam đang tự vận hành máy chủ thư cho doanh nghiệp, đây là thời điểm hợp lý để cân nhắc chuyển sang Stalwart – vừa tiết kiệm tài nguyên phần cứng nhờ hiệu năng vượt trội, vừa có lộ trình nâng cấp ổn định trong tương lai.
Bài viết liên quan
Phần mềm
DigitalOcean ra mắt dịch vụ giúp AI agent tự học và tự cải thiện
26 tháng 10, 2026
Công nghệ
Nietzschian Debugger: Công cụ gỡ lỗi 'chống AI' buộc lập trình viên tự tìm ra câu trả lời
26 tháng 10, 2026

Công nghệ
r/opensource của Reddit cấm nội dung do AI tạo, và loại luôn không ít người thật
26 tháng 10, 2026