I completely fouled up my ZFS deployment through lack of reading the manual and a misunderstanding of how its cache works. My I/O wait times on disk are silly high. This was many years ago and I’ve never gone back to fix it. I run ROCK in a VM with the block storage managed by the hypervisor. My music files live on a USB drive passthrough directly to ROCK.
This is a great example of something where it’s not something I would personally do given my current known situation, but everyones situation is different and it may be exactly the right thing for you - as such I’m not going to call it out like some people might do. I hate that.
I’ve never experienced slow start-up or what I’d consider slow performance. Roon gets 8GB of RAM. It manages just over 19,000 track across almost 1400 albums.
I do seem to have a library quite a lot larger than this, having spent hours importing CD’s in lossless format from my teenage years - but equally it’s a dual xeon with 96GB RAM, so it’s scaled up a bit, though not exactly the latest tech any more. I have a suspicion I have a larger database than many and that may be causing the issues. It’d be interesting to see how big your roonserver folder is - mine’s about 3.6GB (newly restored - so should be very little free space inside - as opposed to something that’s been running a while, there may be a bit of extra space that could be compacted if so).
With Roon, if you look over the forums and spend enough time here, you’ll find that KISS method is where you find stability. It’d be easier / safer to move my music files to a NAS or into the ZFS block store but I don’t… Because Roon likes to have direct access to the device for all kinds of reasons and you don’t need speed to play tiny audio files. In memory key stores are pretty simple; they just need memory to load the tree and they don’t want to compete for memory from other things. That’s why I run ROCK.
I agree simple is good. And yes, people overlook - even with video you don’t actually need a lot of performance / bandwidth for streaming large files, where you do notice it is on the database side, which is why I always split the two between HDD and SSD. With exception of ARC, Roon is rock solid stable for me. But it does not perform as well as I would think a local database would even on the desktop side of things. I’ve been to web sites on the other side of the world that load faster. I could excuse the images given they might be high quality or something, but the metadata loading is not that fast. And startup times is many minutes - I should probably time that.
I recently migrated from unraid to TrueNAS just to get the proper NAS features a bit better - unraid is wonderful for it’s app integration and responsiveness to home user needs, but it falls flat on things like swapping disks, smb share configuration, user accounts and all the basics that most other NAS type solutions get right. It fits well for its market. Unfortunately TrueNAS has a bit of a mess in the apps department - you can’t even set a hostname which means Roon needs to be relicensed every time it restarts. So you’re left with needing a VM or some in beta technology called jailmaker. I chose jailmaker. It works well enough and the performance is identical to unraid as far as I can tell.
I doubt (unless it’s caused by ZFS) that the Rock will perform any better - I don’t really have the space of it in my apartment but it would be interesting to hear if anyone else with a similar size db has any different experience.
I agree with this and am also guilty of it. My wife is pretty good at reminding though that… Maybe it doesn’t work because you evaluated it to death? That’s when I go back to KISS, put the thing in the corner, and move on. It’s working, I know it’s flawed, but it’s working so I’m just going to ignore it’s flaws and keep using it. Good luck. Maybe if I get around to fixing my ZFS I’ll reach out… you certainly seem to understand that aspect of it better than I do / did.
This was just bare necessity for me. I learnt long ago, in IT profession it was important to understand how things worked so you could spot assumptions and things getting in the way of results. Probably that’s a similar story for you and most people. But we do have to ask, is it worth it in each case, a sort of rabbit hole sanity check. I don’t think it’s something we should be ‘guilty’ of, just ‘mindful’ of!
Regarding ZFS, happy to answer any questions where I can. I did a lot of reading in the beginning. The main confusing aspect was variable record sizes - I still don’t think I fully appreciate exactly what that means - not sure many people do. If you have only 8GB RAM I’d say you could certainly use limiting your in ram ZFS cache size. On BSD it seemed to handle this better, but on Linux I think it has only just been pushed into a recent (or maybe not quite yet) release to work the same. The end result is it uses all the RAM it can. 8GB would be considered minimum and many (not me) would say it’s too little. Setting the record size on your audio media to 1M also helps with io. But you’ll need to copy your data out and then back in again to take advantage of it. There are other optimisations I can send you if you like.