Re: Squid<->Pinger communication (Squid 2.2STABLE5)

From: Duane Wessels <wessels@dont-contact.us>
Date: Sun, 18 Jun 2000 23:30:58 -0600

On Sun, 18 Jun 2000, Bert Driehuis wrote:

> I'm running Squid-2.2STABLE5 on BSD/OS, and have a problem with it. On
> BSD/OS, IPC_DGRAM is implemented using socketpair(2). BSD/OS has a pretty
> small default SO_RCVBUF and SO_SNDBUF on socketpairs, so I had to throw in
> a setsockopt(2) to increase those. But even bumping them to 64K, the
> pinger occasionally dies because it gets an ENOBUF. Of course, I can bump
> them to even higher limits, but I'm wondering why Squid communicates the
> entire 8K packet to the pinger, rather than just letting the pinger take
> care of it.
>
> I noticed the tip of the CVS Squid got rid of the use of socketpair()
> altogether, but it still seems to communicate the entire payload
> between Squid and the pinger, increasing the risk of running out of
> network resources.
>
> Would it make sense to delegate allocating the payload to the pinger
> process?

Sounds like you have some other problem. Squid should not be
sending out large packets. 8K is a large upper limit.

By default, the UDP/ICMP packet should be small, just a few bytes.

Even if you define ALLOW_SOURCE_PING, they shouldn't be much
larger than an average URL size, maybe 70 bytes.

Maybe the problem is that your system as a whole runs out
of mbufs. On FreeBSD I usually have to increase NMBCLUSTERS.

Duane W.
Received on Sun Jun 18 2000 - 23:31:06 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:30 MST