[squid-users] Hyper-threading, SSD vs HDD, CentOS vs Ubuntu Server and best performer Squid version

Alex Rousskov rousskov at measurement-factory.com
Mon Oct 29 16:07:06 UTC 2018


On 10/28/18 4:13 PM, manuelfgarcia wrote:
> According to https://wiki.squid-cache.org/BestOsForSquid :
> "CPU speed and core count:
> few faster cores are better than many slow cores. SMP Squid can currently
> operate most efficiently with 4-8 cores of 3GHz or more. multi-tenant
> installations are better for machinery with very many cores.
> only the physical cores are useful, hyper-threaded "cores" can actually be
> worse.

> Is that statement still up to date or is is it no longer the case from any
> specific version of Squid?

There are several statements in "that statement":

* The statement about fewer faster cores being better can be true or
false for SMP Squids, depending on how much fewer and how much faster
those cores are. That statement should be removed or toned down IMO.

* The statement that only the physical cores are useful is bogus.
Virtual cores can be useful in some environments. For busy systems with
many cores, it is usually a bad idea to put multiple busy processes
(e.g., Squid workers) on one physical core, but that does not mean that
ignoring or disabling virtual cores is always a good idea. The optimal
process:core mapping depends on many factors.

* The statement about hyperthreading sometimes leading to worse
performance is still correct. Improper use of hyperthreading can
decrease performance compared to disabling hyperthreading. However, that
does not mean one should always disable hyperthreading.

The above applies to all modern Squids.


> Considering the statement that "hyper-threaded "cores" can actually be
> worse.", what is supposed to handle faster and concurrent connections on
> reverse proxy mode?:
> - Intel Xeon X3430 (2.40GHz, 2,80 GHz turbo, 4 physical cores, 4 threads)
> vs.
> - Intel Xeon E3-1230-V6 3.40GHz (3.50 GHz, 3.90 GHz, 4 physical cores, 8
> threads)

In most cases, it is not so much the _presence_ of virtual cores that
matters. It is whether you overload physical cores by placing too many
busy processes on them. Thus, if each of the two machines is correctly
configured/optimized, then I would bet on E3-1230-V6 because it has the
same number of physical cores but they are faster.


> On another note, what is supposed to handle faster and more concurrent
> connections on reverse proxy mode between these options?:
> 
> - SSD vs HDD

SSD if disk I/O is a bottleneck.


> - CentOS 7 vs CentOS 6 vs Ubuntu Server 16.04 vs Ubuntu Server 18.04

I would not expect a huge difference if each is properly configured and
tuned, but we have not compared these four in our lab.


> - Squid 3.1 vs 3.5 vs 4.x...

Squid v2 :-). If you are selecting a Squid version based primarily on
its speed, you will probably regret your choice. My suggestion is to
avoid Squid v3.1 in all cases and use Squid v4 if you can.


HTH,

Alex.


More information about the squid-users mailing list