Re: [squid-users] 2-gigabit throughput, 2 squids

From: Michel Santos <michel@dont-contact.us>
Date: Wed, 13 Jun 2007 09:33:19 -0300 (BRT)

Dave Dykstra disse na ultima mensagem:
> Hi,
>
> I wanted more throughput for my application than I was able to get with
> one gigabit connection, so we have put in place a bonded interface with
> two one-gigabit connections agregated into one two-gigabit connection.
> Unfortunately, with one squid, re-using objects that are small enough to
> fit into the Linux filesystem cache but large enough to be efficent (a
> few megabytes each), it maxes out a CPU core at around 140MB/s. This is
> a dual dual-core AMD Opteron 270 (2Ghz) machine, so it is natural to
> want to take advantage of another CPU. (This is a 64-bit 2.6.9 Linux
> kernel and I think I have squeezed about all I am going to out of the
> software). At first I tried running two squids separately on the two
> different interfaces (without bonding, 2 separate IP addresses) but that
> confused the Cisco Service Load Balancer (SLB) we're using to share the
> load & availability with another machine so I had to drop that idea.
> For much the same reason, I don't want to use to two different ports.
> So then the problem is how to distribute the load coming in on the one
> IP address & port to two different squids. Two different processes
> can't open the same address & port on Linux, but one process can open a
> socket and pass it to two forked children. So, I have modified
> squid2.6STABLE13 to accept a command line option with a file descriptor
> of an open socket to use instead of opening its own socket. I then
> wrote a small perl script to open the socket and fork/exec the two
> squids. This is working and I am now getting around 230MB/s throughput
> according to the squid SNMP statistics.
>

I use another approach. I run three squids. using two on 127.0.0.2 and .3
which serve as parent. So the Ip address which contacts the remote sites
is the IP address of the server. I get very high performance and the setup
is easy without helper programs. What was important to me that I can
sibling both in order not getting objects cached twice

I am curious if you can get higher throuput using sockets or tcp over
loopbacks.

michel
...

****************************************************
Datacenter Matik http://datacenter.matik.com.br
E-Mail e Data Hosting Service para Profissionais.
****************************************************
Received on Wed Jun 13 2007 - 06:33:35 MDT

This archive was generated by hypermail pre-2.1.9 : Sun Jul 01 2007 - 12:00:04 MDT