Phương Pháp Tính Toán MeiliSizer: Công Thức LMDB Mmap, RAM Typesense, Vector HNSW & Đối Chiếu Algolia
Ước lượng máy chủ tìm kiếm chỉ dựa trên tổng dung lượng Database thô thường dẫn tới hai sai lầm đắt giá: hoặc thuê dư thừa RAM cho các cột HTML không bao giờ tìm kiếm, hoặc bị sập OOM-Killer lúc 3 giờ sáng vì quên tính độ phình của cây chỉ mục đảo và đồ thị Vector. MeiliSizer mô phỏng chính xác từ tầng bộ tách từ và Engine lưu trữ.
MeiliSizer 1. Tỷ Lệ Trường Tìm Kiếm & Hệ Số Nhân Chỉ Mục 2.2x–3.5x
Trong thực tế thương mại điện tử và SaaS, một bản ghi SKU gọn 0.5 KB có khoảng 72% dữ liệu cần đánh chỉ mục, trong khi bài báo 10 KB chỉ có ~34% tiêu đề/nhãn cần tìm kiếm (phần còn lại là ảnh và mã HTML hiển thị). MeiliSizer nhân dung lượng trường tìm kiếm thực tế với hệ số 2.2x cho vùng nóng Linux Page Cache của Meilisearch LMDB, 2.85x cho cây Radix C++ thường trực trong RAM của Typesense, và 3.5x cho kiến trúc tìm kiếm lai Hybrid.
MeiliSizer 2. Đỉnh Bộ Nhớ Lúc Đánh Chỉ Mục (--max-indexing-memory) & Hoán Đổi Blue/Green
Lượng RAM lúc chỉ đọc tìm kiếm mới là một nửa câu chuyện. Khi đồng bộ kho hàng ban đêm hoặc chạy lệnh hoán đổi nguyên tử /swap-indexes, Meilisearch cấp phát thêm vùng nhớ đệm theo cờ --max-indexing-memory, còn Typesense cần tối thiểu 32% khoảng trống RAM an toàn chống phân mảnh bộ nhớ jemalloc. Chỉ số Đỉnh RAM của chúng tôi cộng gộp Working Set, vùng đệm nạp dữ liệu, luồng xử lý QPS đồng thời và 16% dự phòng nhân Linux — kèm quy hoạch ổ NVMe gấp đôi cho bản nháp Zero-Downtime.
MeiliSizer 3. Toán Học Đồ Thị Vector Ngữ Nghĩa Arroy / HNSW 768 Chiều
Khi chọn chế độ Tìm Kiếm Lai (Hybrid), công cụ cộng thêm dung lượng vector 768 chiều đã lượng tử hóa (~1.0 KB mỗi bản ghi bao gồm cả liên kết đồ thị Arroy/HNSW, tương đương ~0.95 GB cho mỗi 1 triệu sản phẩm) và tự động nâng số nhân vCPU hỗ trợ SIMD để giữ thời gian gộp điểm từ khóa + ngữ nghĩa dưới ngưỡng 15ms.
MeiliSizer 4. Mô Hình Chi Phí Algolia / Meilisearch Cloud & Cam Kết Độc Lập
Hóa đơn đối chiếu được tính dựa trên biểu giá công khai theo lưu lượng ($0.50/1K truy vấn + $0.40/1K bản ghi cho từ khóa tiêu chuẩn; $1.00/1K truy vấn + $0.50/1K bản ghi cho gói AI Vector sau ngưỡng miễn phí 10K đầu tiên). MeiliSizer hoạt động miễn phí và độc lập hoàn toàn. Các liên kết /go/ sử dụng chuyển hướng HTTP 302 bảo mật (noindex, no-store) và có thể mang lại hoa hồng đối tác từ Hostinger, Vultr, UltaHost, InterServer hoặc ChemiCloud mà không làm tăng giá mua của bạn, đồng thời kích hoạt mã giảm thêm 20% hoặc $300 dùng thử.
// Tóm tắt thuật toán định cỡ tại MeiliSizer (src/meili-sizer-engine.mjs)
rawDatasetGb = (docCount * avgJsonKb * 1024) / (1024 ** 3);
searchableGb = rawDatasetGb * searchableFieldShare; // 0.34 .. 0.72
lexicalIndexGb = searchableGb * engineMultiplier; // 2.2x (LMDB) | 2.85x (Typesense) | 3.5x (Hybrid)
vectorHnswGb = (docCount * vectorBytesPerDoc) / (1024 ** 3);
indexedWorkingGb = baseDaemonGb + lexicalIndexGb + vectorHnswGb + (peakQps * 0.0022);
indexingPeakRamGb = max(effectiveWorkingGb + indexingArenaGb + osReserveGb, typesenseSafeFloorGb);
savedVsAlgoliaUsd = algoliaMonthlyBill - recommendedNvmeVpsMonthlyUsd;