Multi core vs single core performance on server reddit / selfhosted ---------------------------------------------------------------------- Discommodian · 2023-10-28 01:06 This may be naive but I am unsure how you tell what applications benefit most from single core performance vs multi core performance. I feel like upgrading my server to a processor with higher single core performance will benefit the “snappiness” because the CPU utilization percentage sits at such a low level. But that may not even make sense. ---------------------------------------------------------------------- NikStalwart · 2023-10-28 01:12 > how you tell what applications benefit most from single core performance vs multi core performance. If you are lucky, the documentation will say. If you are unlucky but you have the skills, you can look at the source code to see if the application is leveraging multithreading, or if everything happens in a single thread. For instance, something with worker processes like nginx or a synapse homesever will likely benefit from multicore performance; old versions of Apache only used a single thread so multiple cores didn't matter. It comes with experience and some tinkering. I'd also say that unless you are running high-volume production work, the negligible difference in multi-vs-single performance will not actually matter as much as memory. I'll also say that I like having high core counts for hosts that will be running virtual machines — I like to dedicate N cores to VMs. ---------------------------------------------------------------------- Discommodian · 2023-10-28 01:15 That does make sense. I will probably stick with the processors I have because they are low wattage and decent core count. It is always tempting to go for the bigger number, if you know what I mean aha. I have noticed that RAM does seem to be the biggest factor to performance. Most of my Linux VMs sit below 10% CPU usage most of the time, but usually use over half of the allocated RAM. ---------------------------------------------------------------------- NikStalwart · 2023-10-28 01:20 I have 128GB in both my daily driver box and in my home server. I like high RAM on my daily driver because I use a lot of browser tabs (when you do research, 200+ is not uncommon), I have docker and WSL, and sometimes normal HyperV VMs running. My actual servers are all linux based, KVM for hypervisor if needed. The latest-gen consumer intel CPUs are really not bad for cores if you want to do virtualization. ---------------------------------------------------------------------- Discommodian · 2023-10-28 01:22 My server really doesn’t need an upgrade. It is perfectly capable of all that it is running. However, 128 GB for your personal desktop? Woo baby that is a shit load of RAM. I don’t even utilize the 32GB I have in mine. I have 256GB in my server and use about 120 of it. The other half just gets gobbled up for the ZFS pools. ---------------------------------------------------------------------- NikStalwart · 2023-10-28 01:27 I like playing modded strategy games  —  that consumes a lot of system RAM on top of all the browsers and virtualization. ---------------------------------------------------------------------- Discommodian · 2023-10-28 01:28 You are a mad man ---------------------------------------------------------------------- NikStalwart · 2023-10-28 01:29 A typical stellaris playthrough might chug 15GB-20GB. Elder Scrolls Online might be 8GB easily. I dedicate 16GB to my WSL VM. So, I suppose...? ---------------------------------------------------------------------- Discommodian · 2023-10-28 01:30 But… all at the same time? ---------------------------------------------------------------------- NikStalwart · 2023-10-28 01:31 No, only one game at a time. I'm not *that* crazy. ---------------------------------------------------------------------- dazchad · 2023-10-28 03:13 Multi core also improves multiple processes. In fact a good strategy for service deployment is to have 2 to 4 processes instances per core on the server. Single thread performance is better for heavy processing, even on multi threaded applications ---------------------------------------------------------------------- lilolalu · 2023-10-28 08:57 Usually "a server" runs a lot of different things and programs. Multicore is especially beneficial in that scenario because even if a certain program does not support multicore processing, the os will just run "the other app" on another core. So the concept of which app can use multicore processing is mainly relevant for desktop PC's that run "one big app". ---------------------------------------------------------------------- phein4242 · 2023-10-28 12:43 It all depends on what you do with the box, how the applications you run utilize the cpu (single vs multithreaded/multiprocess but also stuff like cpu cache utilization. if you profile the workload that you want to run (see if its cpu, memory or io bound for instance) will help you in figuring out what works best for you. ---------------------------------------------------------------------- tomistruth · 2023-10-28 12:54 Large databases and complex queries or video streaming definitely will benefit from higher clock speeds from single core performance. But if you plan for multiple users using your services at the same time, then multicore benefits will outweigh single core performance. So if you are the only user than single core it is, but if you have multiple users or run multiple docker containers than you reach a bottleneck quite fast, where background services will compete with each other.