Hi, On Sun, 2 Nov 2008, Michael van Elst wrote:
azick%zickswebventures.com@localhost (Al - Image Hosting Services) writes:What I don't understand is that I went as far as rebuilding everything (the kernel, userland, and packages) with the same source as I have on another server that doesn't have this problem.It might be a different usage pattern.I did find by googling a bit more that putting in "options SOSEND_NO_LOAN" into the kernel fixed the problem with Apache users and I thought that it had fixed the problem with lighttpd on this server.sokva is used for zero-copy send operations. A kernel with SOSEND_NO_LOAN will have disabled that mode (so does a -current SMP kernel).
Ok. that would make sense.
It ran for maybe 20 hours before lighttpd stopped responding to requests. I am going to try moving to Apache, but I am not sure if that will fix the problem either. Any ideas on what else I can try?If a process waits in sokva your kernel isn't built with SOSEND_NO_LOAN.
lighttpd doesn't have a state of sokva anymore. It just seems to stops responding.
Otherwise try to find out how large blocks your webserver writes to the network. I would guess that lighttpd maps a whole file and tries to write it out with a single syscall. If your files are large, this may easily overwhelm the sokva area.
I would guess that it does try to map the whole file, but if the kernel is built with SOSEND_NO_LOAN, shouldn't this problem go away? It doesn't wait in sokva, so did I create a new issue? Is there something else in the kernel that would be overwhelmed?
Thanks, Al