/ Zope / Apsis / Pound Mailing List / Archive / 2003 / 2003-09 / Pound-current

[ << ] [ >> ]

[ 500 Internal SErver Error on reload / Roland ... ] [ Re: [Zope] Banner Grabbing / Robert Segall ... ]

Pound-current
Robert Segall <roseg(at)apsis.ch>
2003-09-27 05:32:19 [ FULL ]
Thanks to a lot of effort and help by Andi Roedl we finally managed to track 
down a nasty bug in -current. It turns out it not a bug at all, but a problem 
in the TCP implementation!

Under heavy load Pound may have returned partial responses for requested 
pages. This is due to the fact that under heavy load the TCP packets may 
time-out at the system level. Nothing like an all-nighter to clear your 
ideas...

I have just posted an updated version of -current that reduces the damage 
that this can cause. The real cure is to size your hardware correctly (both 
for Pound and for the back-ends) and to tweak your OS. Try playing with the 
values of receive/send queues sizes and TCP timeouts.

Please let me know if you manage to test it and how it behaves.[...]

Re: Pound-current
Robert Segall <roseg(at)apsis.ch>
2003-09-27 17:19:08 [ FULL ]
An improved solution has been uploaded to the Web site. I believe this to 
work correctly under all circumstances - let me know if that is not the case.

For those interested in technical details: under heavy load select() could 
return as a result of an interrupt (possible pthreads bug? Needs 
investigating). This now leads to a retry rather than BIO_read() abort. In 
version 1.4 or older there was no select() on the back-end access (it is a 
result of the newly introduced Server parameter), thus no errors there.

I hope this is the end of this saga...[...]

MailBoxer