HAProxy community

More CPU cores & frq VS more cache & frq -> max performance

Hi HAProxy Gurus!

A little bit theoretical but mostly practical question:

in physical multi-CPU server configuration (no VM of course for this type of operations), with the same good NIC:

MORE core + MORE FRQ

VS

LESS core + MORE cache + LESS FRQ

for high loading ?

Thank You for suggestions!

It depends. What’s the configuration? What’s high load? Whats more and what’s less? Which NUMA configuration?

This is a numbers question but you didn’t provide any numbers.

If the cache is abysmal, then it probably won’t work very well. But I doubt any modern CPU (especially with high core count and frequency) will have L2 cache that is too small.

So generally speaking, without looking at actual configuration/numbers and other values, I’d say more cores and frequency will outperform a system where the L2 cache is bigger. But I don’t have any hands-on experience with benchmarking such systems.

Hi, Lukas!
At the first hank You for answer.

Let to note, You are absolutely right, because we seriously speak about network and software, without numbers any discussion are useless.

I wrote my question based on server we have:

HighLoading mean 500,000 - 1,500,000 requests / second.

Based on any Intel CPU chart above (http://www.cpu-world.com/info/Intel/Intel_Xeon.html), modern server CPU have not small L2 and L3 cache (please sort rows by header label).
Hi cores & frequency mostly popular in PCs for gaming, or in servers for virtualizing where we need frequently switching between environment, not in servers for networking operation.

My question start from understanding that any network routing operations are nothing just working with sequence of TCP/IP packets and rules/tables of routing this packets.
Fastest access to rules and tables are if this rules/tables are in RAM. And sequence of packets are also just stack in RAM.

It’s say use the CPU with more frequency and more cores.

I don’t have data to back that up, and the actual scenario always changes. You’d have to benchmark it yourself for your specific use-case.

So, generally, good to say that core of fast&effective working of HAproxy are

  • big amount of system memory (better to be Registered ECC and Mirrored (like in IBM servers))
  • big amount of cache and fast controller in NIC (fiber based)
  • big amount of L2 and L3 cache in main CPU (CPUs)

How You comment this ?
Which item are more valuable than other ?

Thank You for Your time!