Оптимизируем FreeBSD для увеличения производительности.

14.10.2002 12:08

В статье "BSD System Tuning" приводятся советы по тюнингу параметров ядра FreeBSD, OpenBSD и NetBSD для достижения максимальной производительности и решения проблем.

Резюмирую содержимое статьи:

  • Смотрим статистику: systat -vmstat
  • Многие параметры зависят от maxusers в конфиге ядра, например:
    • NPROC (20 + 16 * MAXUSERS)
    • NTEXT (80 + NPROC / 8) /* actually the object cache */
    • NVNODE (NPROC * 2 + NTEXT + 100)
  • Увеличиваем число файловых дескрипторов:
    • sysctl ­-w kern.maxfiles=8192
    • sysctl ­-w kern.maxfilesperproc=8192
    • ulimit ­-n 8192
  • В логе появляются сообщения "/kernel: icmp­response bandwidth limit"
    • sysctl ­-w net.inet.icmp.icmplim=30
    • sysctl ­-w net.inet.icmp.icmplim_output=0
  • Оптимизация файловой системы (tunefs ­выполнять в в single-mode на отмонтированых устройствах):
    • tunefs ­-n enable /
    • tunefs ­-n enable /usr
    • tunefs ­-n enable /var
  • Общие рекомендации, в/etc/sysctl.conf:
    • vfs.vmiodirenable=1
    • kern.ipc.maxsockbuf=2097152
    • kern.ipc.somaxconn=8192
    • kern.ipc.maxsockets=16424
    • net.inet.tcp.rfc1323=1
    • net.inet.tcp.delayed_ack=0
    • net.inet.tcp.sendspace=65535
    • net.inet.tcp.recvspace=65535
    • net.inet.udp.recvspace=65535
    • net.inet.udp.maxdgram=57344
    • net.local.stream.recvspace=65535
    • net.local.stream.sendspace=65535