Author: Perry Lorier <isomer@undernet.org>
[ircu2.10.12-pk.git] / README.FreeBSD
1 Running ircu2.10.11 on FreeBSD
2
3 When running on FreeBSD, ircu can make use of the kqueue() event engine, which
4 results in much improved performance over the old poll()-based method. kqueue
5 is included in the more recent 4.x releases of FreeBSD.
6
7 In order for ircu to be able to serve many clients simultaneously, you need
8 to increase the maximum allowable number of open files in the system. To do
9 this, add commands such as the following during your system's boot sequence:
10
11 sysctl -w kern.maxfiles=16384
12 sysctl -w kern.maxfilesperproc=16384
13
14 Unless you will be serving thousands of clients simultaneously, you will not
15 need to do the following, unless of course you just can't stand having a
16 system that is not optimized to its limits :)
17
18 Build a custom kernel: Make your kernel as lean as possible by removing all
19 drivers and options you will not need. The following parameters will affect
20 performance, they are listed with suggested values only. For more information
21 on what they do exactly, see FreeBSD's documentation.
22
23 maxusers        2048
24 options         NMBCLUSTERS=65535
25 options         ICMP_BANDLIM
26
27 Also, you may wish to run the following at system startup (from /etc/rc.local,
28 or whichever other method you prefer):
29
30 sysctl -w net.inet.tcp.rfc1323=1
31 sysctl -w net.inet.tcp.delayed_ack=0
32 sysctl -w net.inet.tcp.restrict_rst=1
33 sysctl -w kern.ipc.maxsockbuf=2097152
34 sysctl -w kern.ipc.somaxconn=2048
35
36 Created by Sengaia <sengaia@undernet.org>, July 20 2002.
37