Unraid...SSD Cache necessary?

I don’t have this 100% setup yet, as i am still waiting for the HDHOMRRUN Quattro to arrive in the mail, but ChannelsDVR docker seems to run runs beautifully. Whole setup only takes up 12% of RAM, 2% of all 4 CPU cores. (I haven’t tried recording anything yet, but all seems well and ready).

8GB RAM
Intel Core i5-4590 CPU (Unraid allows for hardware transcoding, thanks to the CPU’s built in Intel Quick Sync)
3.5” 500GB HDD

I’m wondering if I should add in a 120GB SSD for caching....since this is 100% intended to pause/record live TV OTA, for up to 4 sessions, I’m thinking no, but perhaps someone could convince me otherwise?

From my understanding all live tv buffering is done on the client side currently, not the server. So I don’t think a cache is necessary.

Not unless you do alot of remote streaming, I use a couple cheap ssd in mirror on freenas for Plex/Channels transcoding, but there is no writing to the server unless you remote stream or transcode.

I do want to make remote transcoding as available as possible. I'm setting this up for my family. They have smartphones and tablets, so I'm sure they plan on doing a lot of that. so an SSD for caching would help, even though I already have an Intel i5 CPU that has Quick Sync Video?

When remote streaming it writes everything to a temp file even if there is no transcoding going on. I don't use the ssd's to speed things up, I use them to keep my HDD's from being written to continuously. The two ssd's cost me $40 total, if one fails I'll throw another in the mirror.

Do you use this setup 100% for ChannelsDVR like I’m doing?

No, my server is used for multiple things, but I'm not sure why that makes a difference for using an ssd for trancoding temp files.

Thank you.

I went ahead and added the 120GB SSD for caching, as well as formatted it to btrfs.

Do I have to do anything more, to get the SSD to assist in transcoding?

I personally have a 250 GB SSD That I use for cache on my unraid. The way I have it set up is everything rights to that drive and then only gets moved after 48 hours, or if the driver gets over 75% full. What this means is that if I record something or download something and watch it within 2 days, it will never touch my standard drives and they don’t have to spin up. Since the majority of stuff i watch is weekly shows that we watch right away this prevents less stuff from having to get moved .

Excessive writes to flash storage wears it out faster. Particularly on a low capacity SSD (with less flash to spread the write load across and fewer reserve sectors to replace failed sectors), this could lead to accelerated drive failure.

If you're worried about hardware longevity or seeking performance: You're best off just using your HDD. HDD's can handle high write loads much better than SSD's can, and even the slowest hard drives still seek much faster than needed for a DVR workload (even the earliest hard drives from the 1950's took only about half a second to seek, which is probably good enough...). If you're worried about the additional spin-ups causing your 500GB HDD to fail earlier, and losing the data on it, consider buying another 500GB HDD and using a RAID configuration.

If you don't want to use your HDD to buffer to avoid noise, power consumption, or vibration: If you're transcoding to h.264 anyway (which doesn't take up much space), you might just want to use a RAM disk. Assuming a 6mbit/s transcode, you would need about 2.7GB of storage per hour of buffer. If your system runs Linux, you can use tmpfs which will also take care of swapping out data to disk if your RAM disk runs out of space. Here's a writeup of some steps that may or may not work well for this: https://www.howtoforge.com/storing-files-directories-in-memory-with-tmpfs (I haven't attempted this myself so I have no idea if it would actually work, but I would try it before I used an SSD)

1 Like

I've used tmpfs before- it works very well as long as you have plenty of RAM for it. You can size the ramdisk mount as needed.

As far as disk speeds, a typical mpeg2 stream is at most 2MB/s. Even the slowest HDD can do 50MB/s, and a modern 7200rpm drive can go up to 150MB/s. The disk is almost never going to be a bottleneck, so trying to optimize that with an SSD doesn't really have any effect.

When transcoding for remote viewing, the CPU will be the bottleneck and the resulting h264 stream is even smaller (1080p @ 8mbps = 1MB/s).

1 Like

SSD's have gotten so cheap though it's actually cheaper to spend $40 on a pair of 120GB SSD's and put them in a mirror that to replace one of the drives in the pool. I've been using HP M700's written to constantly for 10-15 hours a day over a year now without an issue, and if one does fail I've got an $18 spare ready to go in.

Yeah my thoughts exactly.