Roon server headless on a NUC: CPU/RAM needed for best performance?

Decoding 4k is pretty easy: it’s a constrained problem, the data rate and decoding techniques are well known, and everyone + their mother optimizes against that use case when designing chips, since it’s a common litmus test today.

Roon’s workload is very much unlike decoding 4k video. It’s much more like running a DBMS.

The performance of your I/O, memory, and cache subsystems is what most directly impacts user experience. Most NAS’s are architected badly for this. And other music software tracks an order of magnitude fewer objects in their database than we do–which is why UPnP servers are not making the same performance demands.

We are very bursty. Roon is pretty quiet at idle, and then you click something and suddenly we’re performing bursts of a few dozen database queries and trying to give you a response in 50ms or less to get the data on the screen–when faced with latency-sensitive, bursty workloads (the exact opposite of video streaming), single core CPU/cache performance is the most important factor.

Celeron/Atom CPUs have less (sometimes drastically less) cache compared to i5/i7 CPUs. NAS’s tend not to have modern SSDs (meaning 500mb/s read+write and 30/80k IOPS, not a dinky eMMC/DOM or a bank of spinning disks) to house the database.

We don’t intend to stop people from running Roon wherever they want to–but if you choose hardware appropriate to the workload, the experience will be better.

4 Likes