Công Thức Tính RAM Thuần Typesense (2.85x) & Chống Văng Lỗi Linux OOM-Killer
MeiliSizer Blueprint Summary: Typesense đạt tốc độ tìm kiếm siêu tưởng 5–7ms nhờ khóa chặt 100% cây chỉ mục đảo trong RAM C++. Nắm vững công thức tính dung lượng để không bao giờ sập tiến trình.
Giới Hạn Cứng Của Kiến Trúc Nạp Toàn Phần Vào RAM (MeiliSizer Guide)
Typesense lưu bản ghi JSON gốc xuống RocksDB trên ổ cứng NVMe nên các trường chỉ hiển thị không tốn RAM. Tuy nhiên, mọi trường bật index: true hoặc facet: true sẽ phình to gấp 2.5x–3.0x trong bộ nhớ C++ (cây Radix ART + danh sách vị trí từ). Nếu lúc đồng bộ hàng loạt làm bộ nhớ vượt 85% tổng RAM máy chủ, phân mảnh jemalloc sẽ kích hoạt Linux OOM-Killer giết ngay tiến trình tìm kiếm.
Tối Ưu Schema Typesense (Tách Trường Hiển Thị Khỏi Bộ Nhớ RAM)
// Cấu hình Schema Typesense — Giữ ảnh & mô tả HTML nằm trên NVMe RocksDB!
{
"name": "catalog_products",
"fields": [
{ "name": "title", "type": "string", "index": true, "infix": false },
{ "name": "brand", "type": "string", "facet": true },
{ "name": "category_ids", "type": "int32[]", "facet": true },
{ "name": "price_cents", "type": "int32", "sort": true },
{ "name": "image_url", "type": "string", "index": false, "optional": true },
{ "name": "long_html_spec", "type": "string", "index": false, "optional": true }
],
"default_sorting_field": "price_cents"
}
Bảng Định Cỡ RAM MeiliSizer Cho TYPESENSE-CPP-RAM
| Quy Mô Danh Mục | Tập Làm Việc Nóng | Đỉnh RAM Dự Phòng | Cấu Hình Khớp Tải |
|---|---|---|---|
| 250K Bản ghi (1.5 KB, 58% Index) | 1.1 GB RAM Thường Trực | 2.3 GB Mức An Toàn | Hostinger KVM 2 8GB DDR5 ($5.99/tháng) |
| 1M Bản ghi (4.0 KB, 45% Index) | 5.4 GB RAM Thường Trực | 9.8 GB Mức An Toàn | Hostinger KVM 4 16GB DDR5 ($10.49/tháng) |
| 5M Bản ghi (4.0 KB, 45% Index) | 25.5 GB RAM Thường Trực | 39.0 GB Mức An Toàn | UltaHost VDS 64GB Dedicated ($95/tháng) |
Checklist Triển Khai MeiliSizer: TYPESENSE-CPP-RAM
- Gắn cờ "index": false cho các trường chỉ để hiển thị (URL ảnh, mô tả HTML dài) để đẩy hoàn toàn xuống ổ NVMe RocksDB.
- Tắt "infix": true trừ khi bắt buộc tìm chuỗi con giữa mã SKU — bật infix làm tăng thêm 1.4x dung lượng RAM.
- Luôn chừa trống tối thiểu 32% RAM vật lý dự phòng cho các đợt cập nhật JSONL hàng loạt.
- Dùng kiểu số nguyên int32 cho giá bán và mốc thời gian thay vì chuỗi ký tự để giảm mạnh RAM sắp xếp.
Hostinger KVM DDR5 NVMe VPS (Docker / Meilisearch 1-Click) — MeiliSizer Pick
Giảm tới 67% + Giảm thêm 20% đối tác • 8GB–32GB RAM DDR5 + NVMe Gen4 tối ưu LMDB Mmap
UltaHost VDS Tài Nguyên Riêng (Chuyên Trị Typesense RAM Lớn & Vector HNSW) — MeiliSizer Option
100% Nhân CPU vật lý & RAM DDR5 độc lập (0% CPU Steal) • Cụm Singapore, Tokyo, Mỹ, Âu • Không giới hạn băng thông
Câu Hỏi Kỹ Thuật MeiliSizer: TYPESENSE-CPP-RAM
- Các trường JSON không đánh chỉ mục có chiếm RAM trong Typesense không?
-
Không. Từ Typesense v0.22+, các trường đánh dấu index: false nằm yên trong RocksDB trên ổ cứng NVMe và chỉ được đọc lên cho 10–20 kết quả khớp nhất mỗi lần tìm kiếm.
- Khi nào nên chọn Typesense thay vì Meilisearch?
-
Hãy chọn Typesense khi bạn cần độ trễ đuôi p99 cực thấp ổn định dưới 7ms, hoặc cần dựng cụm High Availability 3 máy chủ tự động đồng bộ qua giao thức Raft tích hợp sẵn.