My experiences with Rock and a 500k+ tracks library

Hey, @brian et al - I wanted to check in and ask what the current best practices are for setting up a Roon server to handle an abusively large library (640,000 tracks and growing). They may not have changed since the recommendations earlier in this thread, but I thought I should ask fresh before ordering hardware.

My home Roon setup (with a moderate 40k tracks in 3100 albums) remains snappy running on an Ubuntu-based server (Haswell-era Xeon, music in a local ZFS pool). But the library at the work radio station, the result of years of collective scrounging, now runs over a half-million tracks and… Roon often gets sluggish.

There was a significant speedup somewhere a few releases into Roon v1.3 - thanks to whoever did that work, unless it came mostly from inherited Mono improvements - such that searches no longer hang for minutes at a time, but now usually just seconds. But… I’m wondering if better optimization of the hardware (and if absolutely necessary, OS) environment would offer noticeable further improvement.

The current station RoonServer instance is running under an Ubuntu LTS on a machine with a single SATA-interfaced SSD and an Ivy Bridge-era Xeon, with the track storage CIFS-mounted from a NAS. Clearly, there are multiple places for improvement there, but I’d love some guidance about what to prioritize.

I plan to build a machine for this with internal spinning drives for the music store, just to reduce network dependencies (and RoonServer seems to notice tracks added to the tree more reliably when the storage is local). The NAS will still be the master music repository, but I’ll rsync changes into the RoonServer machine as necessary.

It sounds as if high-end desktop CPUs are favored over server ones (which seem to lag a generation behind the desktop releases). When choosing CPUs, how would these characteristics rate in order of importance?

  • maximum single-threaded speed
  • overall multi-threaded throughput
  • number of available threads
  • number of available distinct CPU cores
  • amount of on-chip cache

Have any of the new AMD CPUs been outperforming Intel when running RoonServer?

I’m assuming that an SSD with a faster interface than SATA would be in order for the Roon database.

Would it also be useful to direct the Roon logs to a separate drive?

As for the OS for this to run on… I have a strong preference for something Linux-based (for maintainability, stability, and ease of setting up file synchronization); but if you-all believe that Windows and native .NET still have an edge over Linux and Mono for this size library (and that said advantage is likely to remain for at least a year or two), I’ll bite the bullet and build a damned Win10 Pro machine.

If something Linux-based might be near parity with Windows in performance - is ROCK flexible enough to set up in this expected shape, or would a general-purpose Linux distribution work better?

Is there any advantage to more than 16GB or so or RAM? I figure once I start researching motherboards, I’ll aim for a configuration which fills all the parallel banks.

And… what have I forgotten to ask?

Thanks!

2 Likes