Well, I based my argument from the 10 instances of reverse proxies I'm running. It has 266,268,230 objects and 3.7 TB of space. CPU usage is always around 0.2 according to ganglia. So unless you have some other statistics to prove CPU is that important, I'm stick w/ my argument that disk and RAM is way more important that CPU.

mike

At 03:41 AM 7/6/2008, Michel wrote:

> The cpu doesn't do any IO, it's WAITING for the disk most of the
> time. If you want fast squid performance, CPU speed/count is
> irrelevant; get more disks and ram.  When I mean more disk, I mean
> more spindles.  eg: 2x 100GB will is better than a 200GB disk.
>


well well, get prepared ... take your cpu out and then you'll see who is waiting
forever :)

even if IO wait is an issue it is or better WAS one on "old" giant lock systems where the cpu was waiting until getting the lock on a busy thread because there was only ONE CPU and even on multi-cpu-systems there was only one core a time bound to
the kernel

to get around this issue good old posix aio_*calls where used in order not to wait for a new lock what I believe is squid's aufs cache_dir model which is still very good and even better on modern smp machines and even with squid's not-smp-optimized code - you really can drain disks to their physical limits - but that is not all

SMP (modern) works around the global giant lock, the kernel is not anymore limited
to get one core a time

SMP sistems are going to work with spin locks (Linux) and sleep locks (freebsd)
where the linux way is focusing thread synchronizing which is going to be
outperformanced by the sleep lock mechanism. Spin locks certainly still waste cpu while spinning what sleeplocks do not, cpu is free to do other work. This was kind of benefit for Linux last couple of years when freebsd was in deep developing of it's new threading model which is now on top I think, especially in shared memory
environments.

basicly is it not important if you use one or ten disks, this you should consider later as fine tuning but the threading model works the same, for one or two disks, or for 2 our 32Gigs of memory - so you certainly do NOT get araound your IO-Wait with more memory or more disk when the cpu(s) can not handle it "waiting for locks"
as you say ...

So IMO your statement is not so very true anymore, with a modern SMP-OS on modern
smp hardware of course.

michel




****************************************************
Tecnologia Internet Matik http://info.matik.com.br
Sistemas Wireless para o Provedor Banda Larga
Hospedagem e Email personalizado - e claro, no Brasil.
****************************************************

Reply via email to