Roon on macOS not working with huge library

For the most part the critical item here is CPU speed. Due to the way that the Roon database works adding more cores isn’t going to have any real impact on search performance. If the Roon Core is used for other tasks then having an extra CPU core or two available for those tasks will reduce contention.

Important only in the sense that you never want Roon to run out of available physical memory. When that happens the OS will swap some memory blocks to the system disk and that can really kill performance. 8GB is sufficient for the wast majority of libraries, but by all means have at it!

Next to CPU speed this is likely the most important factor but only for the database. Roon is constantly hitting its database and depending on the search query it may be hitting the disk vs. memory. These are tiny random transactions and they are most suited to SSD.

On OSX the database is stored in the user’s home directory ~/Library/Roon. One option is to swap out the system disk for an SSD, but depending on the Mac this can be a pain. It is possible to relocate the Roon folder to a different drive and use some of the underlying features of the OS to point Roon to the right place, but there are several ways in which this can break so I wouldn’t recommend it.

For the database… use SSD. For the media use whatever makes you happy, but it’s not going to make a difference in the interactive application performance. Depending on the number of drives a RAID5/10 configuration can improve the speed of moving the entire library into place, but it’s not going to make a bit of difference in terms of performance.

For reference 2 channel DXD has a transfer rate of about 16Mbit/sec (2 MByte/sec) if your drive can’t hit that then you have much bigger problems!

I would avoid USB2 as it can be painfully slow. For what Roon is doing either USB3 or Thunderbolt are more than adequate for media or the database. I don’t see much of a point in the added expense of Thunderbolt.

The bigger the library the larger the database and its associated indices. A large database on its own shouldn’t present a problem, but it is going to need more resources in terms of CPU speed, memory, and database IOPS.

Of the three platforms on which Roon is available OSX has the slowest overall performance. This is due to a few factors but the two most critical are the way that OSX prioritizes tasks (as well as the number of things running in the background) and the Mono (.NET) execution environment that Roon relies upon.

If I were spec’ing out a Core for a client with a large library I’d likely go for an I7 CPU running at a reasonably high speed, 16GB of ram, and the fastest SSD I could find. I would not spec any Mac hardware for this task (unless it was running linux or Windows). I prefer linux as the OS, but a good stripped-down installation of Windows works just as well.

Ultimately, with 1.3 and the release of the Roon Core Kit I doubt that I will spec anything but that to run the Roon Core.

  1. While Roon is constantly optimizing their code this issue is out of their hands as it’s more specific to the OS (and they didn’t write that part).

  2. No.

  3. Most likely, but people here with 500K+ track libraries would be able to tell you for certain.

  4. Processing speed would help, but it’s not the silver bullet. Sorry, but OSX just isn’t the right platform for the Roon Server when the track count goes up. For a LARGE library the best practice is to run it on a dedicated machine with the most appropriate OS. When customers have no trouble spending $1000s on tweaks they can easily afford to spend a few hundred to get their playback “transport” dialed in.

7 Likes