MS MeiliSizer Instant-Search Spec & Cost Matrix
MeiliSizer Matrix / Search Blueprints / meilisearch-ram-lmdb-sizing
BLUEPRINT 01 • MEILISEARCH LMDB ARCHITECTURE

Meilisearch v1.11+ LMDB Mmap & Linux Page Cache RAM Sizing Blueprint

MeiliSizer Blueprint Summary: Understand how Meilisearch maps Roaring Bitmaps and prefix FSTs onto NVMe via LMDB mmap(), and how much physical DDR5 RAM you actually need before page faults cross 15ms.

Why Meilisearch Rarely Crashes With OOM — Yet Slows Down on Cheap Disks (MeiliSizer Guide)

Unlike pure in-memory engines, Meilisearch stores its inverted index inside Lightning Memory-Mapped Database (LMDB). Linux automatically caches hot B-tree pages in unused system RAM (Page Cache). When physical RAM covers at least 2.2x of your searchable field bytes, p99 keystroke latency stays at 7–11ms. If RAM is undersized on slow SATA/Ceph disks, major page faults spike search latency above 180ms.

Production Meilisearch systemd & Linux vm.swappiness Tuning

# /etc/systemd/system/meilisearch.service (16GB DDR5 KVM Node)
[Service]
ExecStart=/usr/local/bin/meilisearch \
  --db-path /var/lib/meilisearch/data.ms \
  --env production \
  --http-addr 127.0.0.1:7700 \
  --max-indexing-memory 4Gb \
  --max-indexing-threads 3 \
  --no-analytics
LimitNOFILE=65535

# /etc/sysctl.d/99-meilisearch.conf
vm.swappiness = 1
vm.max_map_count = 262144

MeiliSizer RAM & NVMe Tier Matrix for LMDB-MMAP-V1.11

Catalog Scale Hot Working Set Safe Peak RAM Matched Spec Tier
250K Products (1.5 KB JSON) ~0.9 GB Mmap Hot Set 2.1 GB Peak Hostinger KVM 2 8GB DDR5 ($5.99/mo)
1M Products (1.5 KB JSON) ~2.2 GB Mmap Hot Set 4.6 GB Peak Hostinger KVM 4 16GB DDR5 ($10.49/mo)
5M Listings (4.0 KB JSON) ~19.3 GB Mmap Hot Set 31.5 GB Peak UltaHost VDS 32GB–64GB ($58+/mo)
MeiliSizer Public Vendor Pricing Sources (Retrieved 2026-11-12): Public rates retrieved 2026-11-12 from official vendor pages; promotional & renewal prices may change — always verify exact billing cycles, regional stock, and renewal terms on the vendor’s official checkout page before purchasing.

MeiliSizer Production Checklist: LMDB-MMAP-V1.11

  • Restrict searchableAttributes and filterableAttributes strictly to fields users query or facet — trimming display-only fields cuts LMDB size by 40–60%.
  • Cap --max-indexing-memory to 35%–45% of physical VPS RAM so bulk re-indexing never evicts live search mmap pages.
  • Deploy strictly on local PCIe Gen4 NVMe KVM/VDS instances; avoid network-attached HDD block volumes.
  • Set vm.swappiness=1 so the Linux kernel prioritizes retaining LMDB read-only pages in Page Cache.
#1 DDR5 NVME FOR MEILISEARCH

Hostinger KVM DDR5 NVMe VPS (1-Click Docker / Meilisearch) — MeiliSizer Pick

Up to 67% OFF + Extra 20% Partner Discount • 8GB–32GB DDR5 RAM + PCIe Gen4 NVMe for LMDB Mmap

Inspect Hostinger KVM on MeiliSizer ($5.99+/mo) →
$300 FREE BENCHMARK CREDIT

Vultr High Frequency ($300 Free Algolia Migration & Load-Test Credit) — MeiliSizer Option

$300 Free 30-Day Cloud Credit to Import Millions of JSON Docs & Benchmark <10ms Latency Risk-Free

Inspect Vultr ($300 Credit) on MeiliSizer ($12+/mo) →

Load Workload in MeiliSizer Matrix →

MeiliSizer Engineering FAQ: LMDB-MMAP-V1.11

Can Meilisearch index a 40 GB database on a 16 GB RAM VPS?

Yes! Because LMDB uses virtual memory mapping, Meilisearch can store 40 GB on local NVMe while keeping the hot 8–10 GB prefix FST and Roaring Bitmaps in 16 GB RAM — provided you cap --max-indexing-memory to 4Gb.

Why does top/htop show VIRT as 200 GB for Meilisearch?

LMDB reserves a large virtual address map size upfront (VIRT), which consumes zero physical RAM. Always monitor RES minus SHR or cgroup file-backed page cache instead.

Related MeiliSizer Search Blueprints (LMDB-MMAP-V1.11)