sendfile returning ENOTCONN under heavy load

Igor Sysoev is at rambler-co.ru
Sat Mar 27 07:40:47 PST 2004


On Fri, 26 Mar 2004, Kevin Day wrote:

> I'm using thttpd on a server that pushes 300-400mbps of static content, 
> using sendfile(2).
> 
> Once the load reaches a certain point (around 800-1000 clients 
> downloading, anywhere from 150-250mbps), sendfile() will start randomly 
> returning ENOTCONN, and the client is disconnected. I've raised 
> kern.ipc.nsfbufs pretty high and that hasn't made any difference. Is 
> there any easy way to tell exactly why the sockets are being closed? I 
> can't seem to find any obvious signs of memory exhaustion or anything.

It's the sendfile(2) feature. It can return ENOTCONN instead EPIPE.
See the message:
http://freebsd.rambler.ru/bsdmail/freebsd-hackers_2004/msg00019.html
and its follow-ups.


Igor Sysoev
http://sysoev.ru/en/



More information about the freebsd-net mailing list