Date: Tue, 22 Jul 2003 12:49:08 -0400 From: Michael Conlen <meconlen@obfuscated.net> To: freebsd-performance@freebsd.org Subject: sbwait state for loaded Apache server Message-ID: <3F1D6B04.4010704@obfuscated.net>
next in thread | raw e-mail | index | archive | help
I'm working with an Apache webserver running 1400 apache processes and the system pusing somewhere in the area of 50-60Mbit/sec sustained. The system seems to top out around 60Mbit/sec and I see some minor degradation of server response times. The server response times are generally very very stable otherwise. Most of the apache processes are in the sbwait state. I've got 4Gig of memory, so I can play with some of the values (nmbclusters has been turned up and I never see delayed or dropped requests for mbufs). I don't see in my old Design & Implementation of 4.4BSD (Red Book?) much about the state, and I don't a copy of TCP/IP Illustrated 2 handy these days, but if memory serves sbwait is waiting on a socket buffer resource. My guess is that these are processes waiting on the send buffer to drain. $ netstat -an | egrep '[0-9] 3[0-9]{4}' | wc -l 297 seems to indicate that I've got a lot of processes waiting to drain. Looking at the actual output it shows most of these are ESTABLISHED. So my thought is by increasing the send queue size I could reduce this. I've got a pretty good idea on the size of the files being sent and my thoughts were to increase the send-q size to where Apache can write() the file and go to the keep alive state quickly instead of waiting. So the questions are Would this affect actual network performance Would this reduce load on the machine (a handy thing to do, but secondary) given c = number of connections and q = queue adjustment and s = size of mbuf do I just need to make sure I have (c*q)/s buffers available, and any fudge? How do I know when I need to increase the overall system buffer size beyond 200 MB? -- Michael Conlen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F1D6B04.4010704>