I have an i7 iMac with a Fusion hybrid 3-TB drive and 24 to 32 GB RAM. Someone recommended attaching an external SSD to use as the boot drive and Roon core to ensure speedy operation of Roon. I can get an SSD with throughput of around 400 MB/second for a reasonable price, or I can get a RAID configuration with throughput of over 1 GB/second for quite a bit more. Which should I choose? Does the faster thrroughput make any difference? My system is wired by Ethernet, and I would use it with Bluesound speakers and a Synology spinning-disc NAS connected by Ethernet.
If the iMac has thunderbolt then maybe an ssd thunderbolt boot could be best. You might be fine with the internal fusion drive though and should perhaps trial that first but might depend ultimately how big your library is or becomes over time
If you don’t need the RAID for anything else, I’d start with a smallish SSD and see what improvement you get.
Is it just about improving Roon or the machine in general? You could test Roon with a small cheap SSD in a caddy and move the database there.
I personally replaced my Mac mini drive with an internal SSD and it makes the machine and Roon quick enough for me. My ‘mostly played’ musics on the SSD too.
If it’s not a slim edge iMac then it’s possible to open up and get to the drives but it’s not for the feint of heart that’s for sure…I just stripped down a 27"
Ifixit.com has some guides, but fusion setups have their own challenges if I recall correctly.
External bootable raid will be overkill unless you have deep pockets, and are prepared to use thunderbolt or better have tb2 as an option if it’s a recent iMac model
It’s a 2014 iMac with Thunderbolt 2. I would not store my music on an SSD since the music files are around 1.7 TB. This would be only to secure a good speed for Roon, which would reside with its database on the SSD. I am leery of spending too much on a RAID SSD configuration if connecting a single SSD by Thubderbolt and running at 400 MB/second will suffice. Is the greater speed (1.1 TB/second) of the RAID array worthwhile?
Hi @Andrew_Stein,
The Fusion drive should keep frequently-accessed blocks in it’s SSD cache, but it may not work as expected with Roon’s database depending on whether it’s caching whole files or just blocks. Plus if it’s like any other caching setup I’ve used recently it’s going to run the risk of bumping Roon’s files when you do any large transfer to your system disk.
I’ve had good luck with the Samsung USB3 external SSD drives. They’re fast compared to spinning disk and relatively cheap to boot! Won’t be as fast as something like an 850 or 950 Pro in a thunderbolt enclosure, but I don’t know if that’s necessary especially given the size of your library.
If you get good results, but end up wanting to move to something thunderbolt in the future then the Samsung makes a great (fast) alternative to a flash stick. I carry one around with me all the time and it takes up less space in my bag than my iPhone.
Also, keep in mind that throughput isn’t the issue with Roon as none of the data files are large. Your whole database is likely only 1.5GB.
The reason for the SSD is to overcome the latency associated with doing all of the random reads and writes that Roon does to its database. Waiting for the head to move and the platter to spin around can really kill performance when you’re doing a bunch of tiny transactions on a large spinning disk.
This got me thinking, should there be any disk read/writes if the database is smaller than the available RAM?
Mine would easily fit into memory, so in theory could be accessed fully from there, with any necessary writes trickled back to disk as required?
I’ve got it on an SSD anyway, but RAM should be faster?
In theory this is possible, but there’s a huge DR (disaster recovery, not Dynamic Range ;)) issue here.
If you’re doing your writes to memory with backend writes to disk happening asynchronously what happens when your computer crashes, power goes out, or Roon crashes? Now the database on disk is inconsistent and you’re hosed.
This can be overcome with transaction journaling to disk, but that again requires synchronous writes. I’m not sure what Roon’s underlying database architecture is, but they may already be taking a hybrid direct write / journal approach.
Either way you have to hit resilient storage before a transaction can be considered complete otherwise you’re only running as long as nothing bad ever happens.
Yeah but I’d imagine (possibly incorrectly) that most DB activity for day-to-day use is reads? So they could all be read from RAM, and writes done back to disk. Possibly this happens by default - I’d just never really thought about it.
I have a pretty normal quad core i5 Windows 10 PC, but I do have 64Gb of memory. Runs Roon perfectly.
It might be easier to try adding memory and see if that fixes your performance issues.
The whole Roon database in RAM seems like a very interesting idea!
I haven’t bought Roon yet. I am awaiting Bluesound integration. But I would like to get a good setup in place as soon as Bluesound support lands. I was told that the Mac’s hybrid Fusion drive would probably not run Roon smoothly enough and that I should use an SSD for an ideal environment. I am just hoping that a $250 external SSD that reads at 400 MB/second will do the trick.
To be perfectly honest I don’t think that your library is large enough for it to make a huge difference one way or the other. I’ve run a similarly sized core on waaay under-spec’d hardware and it was absolutely fine. My first start with Roon was on a 2008 MacBook Pro!
My advice is to start by using the internal drive. You may find that’s a perfect solution for you. If you have issues then migrating to different storage isn’t a big deal at all.
Thanks very much for your help. I have around 65,000 tracks, but I will give it a go.
I have about 37K tracks, and I don’t think it would perform any better on my PC.
Not trying to start an ecosystem war, but is it possible that Roon runs better on a Windows PC versus a Mac?
It might run better on a Windows machine. I seem to recall having read as much somewhere in these forums. But throw enough processing power at it from a Mac and the difference might disappear. I don’t know that. I am just speculating.
Roon is natively compiled for Windows as a .NET application and cross compiled for the other operating systems using Mono the open source implementation of Microsoft’s .NET Framework
However, the performance differences when using Mono are minimal and tend to only manifest when the library size is extremely large … 300,000+ tracks. As Mono is further developed and hardware evolves these differences will become negligible to users.
So for the vast majority of Roon users they can select the OS they are most comfortable with.
Thanks, Carl… I didn’t know one way or the other if it’d make a difference.
I use an external USB SSD as the boot drive for my MacMini. It works great. I’ve been using it for several years now. Remember, you don’t need all that big of an SSD for just the Mac OS.