Search squid archive

Re: squid performance epoll. 350req/sec 100% cpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



----- Original Message ----- From: "John Horne" <john.horne@xxxxxxxxxxxxxx>
To: "Squid Users" <squid-users@xxxxxxxxxxxxxxx>
Sent: Wednesday, May 24, 2006 11:10 PM
Subject: Re:  squid performance epoll. 350req/sec 100% cpu


On Wed, 2006-05-24 at 16:37 +0200, Henrik Nordstrom wrote:
ons 2006-05-24 klockan 14:45 +0100 skrev John Horne:

> Can I jump in and ask if the bootstrap script needs to be run when
> installing on a Fedora Core 4 linux system using the squid SRPM?


If the SRPM spec includes patches which modifies configure.in,
Makefile.am or any other autotool config file then yes, it needs to
bootstrap the source tree before compile. Either by running the
bootstrap.sh script or manually invoking the autotool programs
separately.

In which case, and as far as I can tell, the bootstrap script doesn't
need to be run in this instance.

Also, grepping the squid source, it seems that only the epoll patch
makes use of ENTRY_DEFER_READ. Since this appears in our log files epoll
must be being used.

Having said that though, I have just run strace on the main squid pid
and captured the output to a file. I let it run for a couple of minutes
- we have a busy cache - so the file was getting big. The file contains
no mention of poll/epoll but lots of 'select' (over 30,000).

It is very confusing that our squid seems to have the epoll patch
included, but is using select as well as producing error messages
produced by the epoll patch.

Any ideas as to what is going on here?


The epoll patch does add the ENTRY_DEFER_READ flag to connections regardless of whether epoll is actually being used or not. This flag allows squid to skip a few tests in the deferred handler. The presence of these messages in your cache log shows that you've applied the epoll patch successfully.

Check that your sysem supports epoll (linux 2.6 kernel) and make sure you have --enable-epoll as an option to configure. The epoll patch will download and compile an epoll library if the glibc headers do not support epoll. For this library to compile, a 2.6 kernel source must be present in /usr/src/linux.

Steven

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux