Commit bd61d388 authored by Jim Jagielski's avatar Jim Jagielski
Browse files

Have people use sysctl to adjust somaxconn

instead of the bogus and incorrect method we suggested before


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@81412 13f79535-47bb-0310-9956-ffa450edef68
parent d2330a64
Loading
Loading
Loading
Loading
+21 −5
Changes for docs/manual/platform/perf-bsd44.html: 21 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -112,7 +112,6 @@ your own values in the kernel configuration file:
# Network options. NMBCLUSTERS defines the number of mbuf clusters and
# defaults to 256. This machine is a server that handles lots of traffic,
# so we crank that value.
options         SOMAXCONN=256           # max pending connects
options         NMBCLUSTERS=4096        # mbuf clusters at 4096

#
@@ -122,10 +121,6 @@ options CHILD_MAX=512 # maximum number of child processes
options         OPEN_MAX=512            # maximum fds (breaks RPC svcs)
</PRE>

SOMAXCONN is not derived from maxusers, so you'll always need to increase
that yourself. We used a value guaranteed to be larger than Apache's
default for the listen() of 128, currently.

<P>

In many cases, NMBCLUSTERS must be set much larger than would appear
@@ -163,6 +158,27 @@ value derived from maxusers proved sufficient for our load.

<P>

To increase the size of the <CODE>listen()</CODE> queue, you need to
adjust the value of SOMAXCONN. SOMAXCONN is not derived from maxusers,
so you'll always need to increase that yourself. We use a value guaranteed
to be larger than Apache's default for the listen() of 128, currently.
The actual value for SOMAXCONN is set in <CODE>sys/socket.h</CODE>.
The best way to adjust this parameter is run-time, rather than changing
it in this header file and thus hardcoding a value in the kernel and
elsewhere.  To do this, edit <CODE>/etc/rc.local</CODE> and add the
following line:
<PRE>
    /usr/sbin/sysctl -w kern.somaxconn=256
</PRE>

<P>

We used <CODE>256</CODE> but you can tune it for your own setup. In
many cases, however, even the default value of <CODE>128</CODE> (for
later versions of FreeBSD) is OK.

<P>

<STRONG>Caveats</STRONG>

<P>