* Adrian Chadd (adrian@xxxxxxxxxxxxxxx): > On Thu, Sep 07, 2006, Thomas-Martin Seck wrote: > > * Adrian Chadd (adrian@xxxxxxxxxxxxxxx): > > > > > 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.