I use 8 cores CPU for ISP level Squids. Squid's external apps like DNS resolvers, I/O (especially if you use aufs/diskd/coss), logging, it's always a good idea to get more than 4 cores so Squid wouldn't lock for long on these external apps to reply back to the main process. On Mon, Sep 1, 2008 at 1:11 PM, Michael Alger <squid@xxxxxxxxxxx> wrote: > On Mon, Sep 01, 2008 at 02:20:47AM -0700, elsergio wrote: >> Which option is better for using Squid as a Load Balancer? >> >> a) Multi thread processor. >> b) Non Multi thread processor. > > Non multi-thread/core processor is only to be preferred if you can > get a faster processor at the same price, i.e. if you can trade > processor pipelines for raw speed. Even then, you'd probably only > want to do that if you're gaining quite a bit of speed. > > Squid itself is a single-process, single-threaded application, so > cannot take advantage of more than one processor pipeline. > Theoretically then, a faster CPU that can only run one > thread/process at a time is better than a slower one which can run 2 > or more threads at the same time simply because squid itself can > only make use of a single pipeline. > > However: many (most?) squid configurations make use of external > processes, such as URL rewriters and authentication helpers. Since > they're separate programs they can take advantage of parallel > execution provided by the CPU. You can also use diskd or aufs to > move the disk access to another process (though that's more I/O > intensive than CPU intensive). > > In addition, even a dedicated server will have some background > processes happening (time sync, admin logins, logging, etc.). > Therefore, you're almost guaranteed to have other processes that > would like to run at the same time as squid regardless of your > squid configuration. > > Therefore, my best guess is that dual-core CPUs are the way to go. > Additional cores will probably only be helpful if you have lots of > additional helper processes running simultaneously, or if the server > is doing things besides running squid. > > Another thing to consider is running multiple squid instances on the > same server. In that case, more cores (or physical CPUs) will > definitely help, but whether or not it's feasible depends on what > you want to do and how you want to do it. > > Okay, after having written all that I managed to find the recent > thread which discussed this in some detail, so you might find this > to be worth a read: > > http://www.archivum.info/squid-users@xxxxxxxxxxxxxxx/2008-07/threads.html#00454 > -- Sincerely, Haytham EL-KHOUJA haytham@xxxxxxxxxx