Re: [squid-users] Re: FreeBSD 6.x server with Squid/diskd

From: Thomas-Martin Seck <tmseck-lists@dont-contact.us>
Date: Thu, 7 Sep 2006 15:56:48 +0200

* Adrian Chadd (adrian@creative.net.au):

> On Thu, Sep 07, 2006, Thomas-Martin Seck wrote:
> > * Adrian Chadd (adrian@creative.net.au):
> >
> > > And I've been testing squid-2.6 + aufs on FreeBSD 6.1 and it seems quite
> > > stable and performing (ie, not blocking on IO like it would do under
> > > FreeBSD 4.x.)
> >
> > Could you tell which thread library is best suited for Squid/aufs on
> > FreeBSD 5 and up? I'd lean towards libthr (1:1 threading, designed for
> > applications that require system scope threads, such as MySQL). I would
> > then include instructions in the FreeBSD port on how to configure the
> > system to make Squid use this library instead of the default thread
> > implementation, which is libpthread.
>
> To be honest: i just compiled my test squid with ./configure ;
> make ; make install. I didn't look into it in depth too much.
> Are you saying the default for 6.1 is pthreads and these still
> play badly with blocking IO calls? I'll have to check!

I guess you mean the libc_r based "threading" in 4.x. What I currently
do in the port to enable aufs -- it it's enabled by the user -- is that
I add aufs to the list of storage schemes and --with-pthreads as well as
--enable-async-io to the list of configure args.

This should result in a Squid binary that is linked to libc_r on 4.x and
libpthread on 5.x and up. lipthread should be far more performant that
libc_r but libthr might be more up to the task because it implements
1:1 threading and system scope threads. The folks that battle MySQL
performance issues on FreeBSD all recommend libthr, so I thought this
might be an interesting data point. To substitute libthr for libpthread
at run time just add the following to /etc/libmap.conf (libmap.conf.5
has all the details):

[/path/to/squid/binary]
libpthread.so.2 libthr.so.2

> (I'm just getting back into the swing of FreeBSD y'see. I've been
> living in a Linux-centric city for too long.)

No problem -- you might want to try out the Squid port of 2.6 (it's a
vanilla STABLE3 at the moment), found in wwW/squid26 in the ports
collection. Run "make config" and select the SQUID_AUFS option, then
"make install" as usual.
Received on Thu Sep 07 2006 - 07:57:05 MDT

This archive was generated by hypermail pre-2.1.9 : Sun Oct 01 2006 - 12:00:03 MDT