Efficient build, power saving transcoder

Good morning,

I currently run Ubuntu Server 24.04 while I wait for Electric Eel to leave Beta. My current setup is an 8-wide RaidZ2 with an L2ARC of an Intel Optane P1600X nvme ~118GB. I have 32GB of ECC with a Ryzen 5600X and an ASRock Rack X470D4U board. My GPU is an Intel ARC A310 and it works Ok. I am looking to upgrade the rig but also reduce the power/increase efficiency.

What would be a good option? I do Plex/Jellyfin/*arr/SFTP. I use FileFlows for transcoding my media and have a HDHomeRun Network quad tuner. I also have sabnzbd.

I am considering Ryzen 7000 or Ryzen 9000, Epyc 4004 series and Intel Xeon W or something. I plan to upgrade my 4TB WD Reds in the future and plan to make use of the vdev expansion. I also plan to add some Intel optane 900P or 905P SSDs for SLOG and METADATA vdevs. I currently have an LSI 9211-8i P20 IT Mode card.

To save power you could:

  • Remove the HBA, if the motherboard can provide enough ports;
  • Switch to a Pro APU, e.g. a 5650G Pro (-10W for monolithic vs. chiplet design); or
  • Switch to a Xeon E-2000 (or Core i3-9100 + C246 motherboard) with iGPU and remove the Arc GPU.

DDR5 systems will not help you here, nor would adding more Optane drives.
32 GB RAM is generally not considered enough to add a L2ARC. What’s the output of arc_summary ?
What is your use case for SLOG?

Improve write performance and protect writes from power outage.

Here is my Arc_summary output: ARC_SUMMARY - Pastebin.com

Also, the ARC GPU CRUSHES any iGPU on the market at transcoding/encoding.
The motherboard can not provide enough ports so ditching the HBA is a no-go.
A more efficient, modern CPU should be better than an older one. With a newer system, (DDR5) I should be able to better reach the higher RAM capacities with ECC. (Please do not even attempt to tell me not to use ECC like so many others have) The Ryzen 9000 series look promising.
Also, comparing multiple CPUs, why would I go for a 9100 which is trash?
Passmark tells a lot.
Imgur

I certainly won’t!

At >99% ARC hits (100% for metadata) but 71% misses on L2ARC, I’d say: Remove the L2ARC, it’s not useful.

A SLOG only improves performance on sync writes, which will still lag well behind async (by a factor 3 or 4). So what’s your use case for sync writes?

DDR5 is higher power than DDR4. And DDR4 RDIMM can reach high RAM capacity, even at relatively low power (Xeon D-1500, Atom C3000). Newer is not necessarily better—and may come with support issues.

I doubt it “crushes” Intel iGPU, which have the very same transcoding hardware.

Ryzen APUs use 10 W less than CPUs, so PRO 8000 would be better than 7000/9000; and PRO 5000G would be even better on the “low power” criteria. But Intel iGPU are better at transcoding.

For a honest comparison, you should line up 4 core parts, or take a matching Xeon E-2246G or 2278G if you want to compare 6C or 8C.
In any case, what do you need the computing power for in a home NAS? SMB is single threaded per client, so a home setting is unlikely to need many cores for serving files. And I do not see high compute requirements in your apps.

Some motherboards can provide enough ports for an 8-wide array (even you current X470D4U could if its on-board ASM1061 is acceptable, I haven’t checked). And if you want power savings, you should limit the number of spinning drives. So staying at 8 or below and dropping the HBA would be a double win on this front.

You decide the balance…

As far as Sync Writes… I do run several MariaDB and PostgreSQL databases.
Perhaps I should change the P1600X to a SLOG or metadata Special vdev?

As for Arc? I encode mainly to AV1. And when I don’t, it is usually HEVC QC18. I have been comparing notes with some other guys who have older and newer UHD iGPUs and only the 12th, 13th and 14th gen chips can keep up when doing HEVC. I get on average ~250 FPS on encodes.

I do not usually use SMB for my file transfers. I usually use either NFS or SFTP. On SFTP, I am doing ~10 transfers at a time and it is usually backups of the array or copying back to the array.

As for spinning rust? When 4TB WD RED SSDs become affordable (~120 usd), Ill consider it. Otherwise, the alternative is a whackton of SSDs to make up for the lack of overall capacity loss.

I want to modernize my build but keep it efficient. the Arc is doing well at its job and only cost me $95. It also doesnt use more than 75W since it has no additional power. My motherboard does have 8 SATA ports but that would only cover the array. It would not include the 4 SATA SSDs (a mirror for the OS and a mirror for docker containers) The P1600X takes up one of the nvme slots and a 970 evo takes up the other. the 970 evo is a transcoding cache.

1 Like

Clear case for a SLOG then—and possibly also feeding the case for computing power. Switch the P1600X from L2ARC to SLOG. (Possibly partitioned if you want to provide SLOG to both SSD and HDD pools.)
Special vdev would require redundancy (SLOG doesn’t), and you already serve 100% of metadata requests from ARC.

OK. ARC GPU or iGPU then.

Not usual in “home” settings but OK.

You had not mentioned those upfront. Do you see a theme here?

Mirrorring boot is somewhat overkill in home builds, and if you really want resilient boot, you’re one drive short.

Depends how annoying you find rebuilding your boot drive and restoring your root folder.

It annoys me enough that I will mirror boot if I can afford and easily achieve it.

Means only downtime is due to upgrades, and at the end of the day, that it was RAID is for, availability.

Mirrored boot also protects you from boot drive bit rot.

It’s a good feature, people should use it if they want.

Sure. But now seeing how the OP’s system is short of SATA and PCIe lanes that’s a costly feature.

Back to topic. I still favour getting rid of the GPU and/or HBA to recover PCIe lanes for NVMe drives. Options:

  • Upgrade to X570D4U (keeps RAM and CPU, should be the cheapest option)
    8 SATA. M.2 slot from CPU for SLOG. PCIe x1 for boot. Hopefully, the other x8 slot can still be bifurcated x4x4 to move the app pool to NVMe (or a x8x4x4 adapter on x16 slot if GPU is half-height). M.2 slot for transcoding cache or boot mirror.

  • Move to W680 with ASRock Rack W680D4U-2L2T/G5 or Asus Pro WS W680
    8 SATA. Arc iGPU to transcode. x16 bifurcated x8x4x4 for 3 NVMe on CPU, plus x4 slot and M.2/OCuLink ports for boot/cache/whatever.
    (A similar build with AM5 would have to retain the dGPU, while the Intel build can use all CPU lanes for NVMe.)

  • second-hand Xeon W-2000/Scalable, or EPYC
    forget about power savings and go crazy with PCIe lanes and lots of RDIMM
    can be a relatively cheap option and/or provide the chassis as well if you find a complete workstation system… but depends on fiding a suitable offer