milvus-logo
LFAI
Home
  • Get Started

Environment Checklist for Milvus with Docker Compose

Before you install Milvus, check your hardware and software to see if they meet the requirements.

Hardware requirements

ComponentRequirementRecommendationNote
CPU
  • Intel 2nd Gen Core CPU or higher
  • Apple Silicon
  • Standalone: 4 core or more
  • Cluster: 8 core or more
CPU instruction set
  • SSE4.2
  • AVX
  • AVX2
  • AVX-512
  • SSE4.2
  • AVX
  • AVX2
  • AVX-512
Vector similarity search and index building within Milvus require CPU's support of single instruction, multiple data (SIMD) extension sets. Ensure that the CPU supports at least one of the SIMD extensions listed. See CPUs with AVX for more information.
RAM
  • Standalone: 8G
  • Cluster: 32G
  • Standalone: 16G
  • Cluster: 128G
The size of RAM depends on the data volume.
Hard driveSATA 3.0 SSD or higherNVMe SSD or higherThe size of hard drive depends on the data volume.

Software requirements

Operating systemSoftwareNote
macOS 10.14 or laterDocker DesktopSet the Docker virtual machine (VM) to use a minimum of 2 virtual CPUs (vCPUs) and 8 GB of initial memory. Otherwise, installation might fail.
See Install Docker Desktop on Mac for more information.
Linux platforms
  • Docker 19.03 or later
  • Docker Compose 1.25.1 or later
See Install Docker Engine and Install Docker Compose for more information.
Windows with WSL 2 enabledDocker DesktopWe recommend that you store source code and other data bind-mounted into Linux containers in the Linux file system instead of the Windows file system.
See Install Docker Desktop on Windows with WSL 2 backend for more information.
SoftwareVersionNote
etcd3.5.0See additional disk requirements.
MinIORELEASE.2023-03-20T20-16-18Z
Pulsar2.8.2

Additional disk requirements

Disk performance is critical to etcd. It is highly recommended that you use local NVMe SSDs. Slower disk response may cause frequent cluster elections that will eventually degrade the etcd service.

To test if your disk is qualified, use fio.

mkdir test-data
fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=2200m --bs=2300 --name=mytest

Ideally, your disk should reach over 500 IOPS and below 10ms for the 99th percentile fsync latency. Read the etcd Docs for more detailed requirements.

What's next