milvus-logo

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

Component Requirement Recommendation Note
CPU
  • Intel CPU Sandy Bridge or later
  • Apple M1 CPU
  • standalone: 8 core or more
  • cluster: 16 core or more
Current version of Milvus does not support AMD CPUs.
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: 16G
  • cluster: 64G
  • standalone: 32G
  • cluster: 128G
The size of RAM depends on the data volume.
Hard drive SATA 3.0 SSD or higher NVMe SSD or higher The size of hard drive depends on the data volume.

Software requirements

Operating system Software Note
macOS 10.14 or later Docker Desktop Set 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 enabled Docker Desktop We 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.
Software Version Note
etcd 3.5.0 See additional disk requirements.
MinIO RELEASE.2020-11-06T23-17-07Z
Pulsar 2.8.2

Additional disk requirements

Disk performance is critical to etcd. It is highly recommended that you use local NVMe SSDs. Slower disk reponse 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

On this page