Default of "half_closed_clients on" causes Squid to repeatedly
try to read from client socket. It seems that these sockets are
polled and OS returns them as ready for read. Thus from time to
time Squid falls into cpu-burning mode, during which it makes
few thousand poll()'s per second, together with zero read() and
parsing/preparing whole poll array. This results in pretty any
CPU to get to 100%. When there are few thousand open files on the
proxy, this pretty much kills all performance.
I couldn't determine exactly when and why does this cpu-hog
occur, (half-closed sockets do not always cause this..), but I'm
pretty confident that half-closed detection is involved.
When I get enough time I'll go to educate myself what the half-closed
connections are and why we need them. For now I cannot suggest any
better fix, but only suggest that in squid.conf we'd default to
"half_closed_clients off".
------------------------------------
Andres Kroonmaa <andre@online.ee>
CTO, Microlink Online
Tel: 6501 731, Fax: 6501 725
Pärnu mnt. 158, Tallinn,
11317 Estonia
Received on Thu Jul 05 2001 - 07:57:07 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:14:05 MST