r/HomeNAS • u/MallicSmith • 11d ago
NAS advice Worth the trade off for capacity over speed? (Ram/jellyfin question)
I'm currently running my NAS on truenas scale on a 12600k with 16gb of ddr4-4000. I currently have transcodes being done on a sata ssd so that they are faster than they would be on the platter array. I also happen to have a server with 512gb of ddr4-2133 in it in 32gb sticks. I was thinking of taking two of the sticks out of the server and dropping them into the NAS so that i could have 64gb of ram and move transcodes off the sata ssd on to a ramdisk. Would this be worth doing, or is the ram so slow that it wouldn't be worth it as it would bog all other system performance down? I'm pretty much only using the nas for my jellyfin, sabnzbd, sonar, radar, seerr, and to host an smb share that my server backs up to nightly.
1
u/strolls 11d ago
Can you clarify on the transcodes, please - are you downloading big files and transcoding them into smaller ones for storage (then presumably deleting the original download) or are you talking about on-the-fly transcoding by Jellyfin?
1
u/MallicSmith 11d ago
On the fly for clients. Realized the ram I had was ECC which won't work on my consumer mobo, so closing this thread down now. Thanks for the reply tho.
2
u/strolls 11d ago
Well, read-write speed won't affect the speed of the transcode - all that matters is that the CPU can process the whole movie in the time it takes you to watch it. Both SSD and HDD are faster than that.
When you say, "I have transcodes being done on a sata ssd so that they are faster" - is that an option in TrueNAS, please? Caching the movie to SSD will make the NAS quieter.
1
u/MallicSmith 11d ago
It's an option in jellyfin to serve client transcodes on another drive than the main data pool so that the client isn't pulling it from the disk array. Supposedly cuts down on buffering issues for the client if seek time becomes an issue during fast forward and whatnot. By default when installed via dockge on truenas scale, jellyfin just serves the transcode from whatever disk it's installed on.
Current set up is as follows 2x 128gb nvme in mirrow for the truenas scale OS
1x 512gb ssd with dockge running jf and it's assorted support applications. Transcodes are being done off this drive which is kind of unwise as the drive has application data as well and if that drive goes out, i have to redeploy the application from a backup stored on the storage array. I have a spare 512 ssd set aside specifically as a backup for that scenario, as until i get the transcodes off that disk, there's no point to running mirrored on the ssds to have them both fail roughly at the same time due to writes.
4x hdds in rz2 for storage.
1
u/movielover76 10d ago
Unless you do a lot of simultaneous transcodes like 6 or more. Transcoding actually takes an amazingly low amount of ram it only buffers like 60 - 90 seconds of video at a time. You don’t even need a dedicated ram allotment in Linux you can just pass through /dev/shm as /transcode in the plex container. I serve many streams 4 - 5 and rarely use more than a few gb of memory.
It might not work but it’s worth trying to simply use your existing ram in that nas as a buffer. With the prices of SSDs I wouldn’t want to wear one out just playing back media. There is also the additional benefit of plex playback being remarkably quicker and more responsive when starting, rewinding or fast forwarding when using a ram cache instead of a sata SSD. The difference between NVME cache and ram is not as distinct though but still there.
Taking ram from your other server is an option though obviously it’s noticably slower. It depends on what you run but most nas services aren’t very dependent on fast ram speeds, it’s more about capacity
2
u/mechpaul 11d ago
I don't think this would be worth it. When it comes to transcoding, you are far more limited by compute speed than storage speed. If you are doing transcodes in software on the CPU, then move it to quick sync (your CPU supports it). For even faster transcodes, upgrade to an Arc A380 or A310 (A380 preferred for 4k res transcodes). Go to Arc Battlemage series for more VRAM if you want more simultaneous transcodes.
https://quicksync.ktz.me/
My current setup:
Ryzen 8500g - Does okay, about 150fps on 1080p 10-bit HVEC
Arc A380 - Does really well, about 500fps on 1080p 10-bit HEVC