I have a Haswell E3-1220v3 (i5-4460ish) home server and am debating upgrading it to an SP3 (Naples), AM4, or LGA1700 platform. SP3 seems preferable, but the single-threaded performance would be about the same as my current box. It’s not obvious if I’ll care, but I don’t want to be >$1500 into an upgrade and then discover that I actually needed a single-thread upgrade too.
How would you go about confirming how many threads a process uses a lot in debian linux? I know how to get the number of threads per process, but I have no idea how to also look at how the load is distributed.
I had an E3-1240v2 file server, it was a little Fujitsi unit, very reliable and quiet but I wanted more disk space and it would not accept the HBA card.
I replaced it with a RYZEN 5 2600 with 16GB of RAM running TrueNAS core. I can’t say I’ve noticed any difference apart from having fittied 3 3TB drives in RAIDz1. It’s just the same.
However on monitoring the CPU usage it really does not use any. It would have been fine with the E3 CPU had I been able to fit the SAS card.
I went with old RYZEN because I had a few bits left over from upgrades, you really should not burden a gamer with a RYZEN 5 2600 so use them for servers.
I really don’t think threads in Linux is really something to consider. The biggest slowdown is IO bandwidth. The best solution to that is RAM. 16GB is good, 32GB and you can stop thinking about it.
My server hosts more than just files (e.g. game servers, jellyfin, handbrake, virus scanner, etc), and this stuff does overwhelm the CPU if I’m not careful to limit any CPU-bound tasks. I do also have an I/O bottleneck (a lot of my data is on 2x2 12TB HDDs), but I plan to double the number of HDDs either before or during the platform upgrade.
I might be able to force docker containers to use all 4 cores but only a small portion of each core and see how laggy they get, but it sounds pretty tedious, and not all my heavy stuff is in docker.