Hardware and OS requirements

The machines and disks a production node needs, with their operating system.

Prepare Linux machines with NVMe disks and dedicated cores for the production nodes of TeselaDB.

Requirements

  • Linux on x86_64 or aarch64. macOS is for development, with no latency guarantees.

Disks

TeselaDB writes with O_DIRECT and uses io_uring on Linux. Use NVMe disks. If the kernel has no io_uring, the node uses I/O threads and says so in the log when it starts.

CPU

Each node has one thread per core, pinned to a CPU. --cores sets how many and --cpu-list on which CPUs, with the same number on every node.

Memory

--memory-limit sets the total memory of the node; by default, 75% of the lower of physical memory and the cgroup limit. The node shares it among its cores.

Check

The start-up log says which disk executor the node chose and how many cores it uses.

Common problems

  • The node starts with I/O threads instead of io_uring because the kernel has no io_uring.

See also