I've applied the patches and am running with the new version now. I'll let it run overnight (with nbproc back at 1...). I'll probably switch back to nbproc >1 in the morning, as traffic starts ramping up.
Mark On Thu, Jul 18, 2013 at 10:42 PM, Willy Tarreau <w...@1wt.eu> wrote: > Hi Mark, > > OK I could reproduce, debug and fix. It was a tough one, really... > More a problem of internal semantics than anything else, so I had > to test several possibilities and study their impacts and the corner > cases. In the end we get something that's fixed and better :-) > > The issue was mostly visible with pipelined keep-alive requests, > but was still happening for tails of transfers that were less than > 4kB, and delayed closes. These ones are much more common (about 1/4 > of the transfers) but shorter so they remain unnoticed as they just > result in a few more syscalls for a transfer, causing a slight CPU > usage increase (I noticed 10% instead of 6% here with the fix). > > So I'm sending you 3 patches. The first one is the most important > one, alone it must fix the issue. The second and third ones are > the least important parts of the fix, but which should still be > applied to save CPU usage in the low numbers. They can be seen as > optimizations but alone they could have seriously addressed the > issue as well, except a few corner cases. > > So please apply them all in sequence to your tree. They were made > on latest -master, but they should apply to plain 1.5-dev19 as well. > > Oh and by the way, the bug was present since 1.5-dev12. > > Best regards, > Willy > > -- Mark Janssen -- maniac(at)maniac.nl Unix / Linux Open-Source and Internet Consultant Maniac.nl Sig-IO.nl Vps.Stoned-IT.com