Half-closed connections eat 100% cpu

From: Andres Kroonmaa <andre@dont-contact.us>
Date: Thu, 5 Jul 2001 15:51:20 +0200

 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