Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: поправки к "100-200 тысяч соединений" для FreeBSD 7 ( i386 и amd64 )
В вс, 01/06/2008 в 05:09 +0400, Alexey V. Karagodov пишет:
> Keywords: freebsd tcp optimization tune speed socket mbuf sendfile sysctl
> From: Сысоев Игорь Владимирович <http://www.sysoev.ru>
> Date: Mon, 1 Oct 2007 14:31:37 +0000 (UTC)
> Subject: FreeBSD для обслуживания 100-200 тысяч соединений
> ######## /usr/src/sys/i386/conf/CUSTOM
>
>
> include GENERIC
сложно скопировать и почистить ? чем инклудить весь мусор
> device pf
> device pflog
> device pfsync
> device carp
>
>
> options ALTQ
> options ALTQ_CBQ
> options ALTQ_RED
> options ALTQ_RIO
> options ALTQ_HFSC
> options ALTQ_CDNR
> options ALTQ_PRIQ
> options ALTQ_NOPCC
>
>
> #options QUOTA
> options IPSEC
оригинально, [GIANT] поддержку квот выключили но ipsec оставляем, для
чего ?
> #options IPSEC_FILTERGIF
> device crypto
> device cryptodev
>
>
> options DEVICE_POLLING
> #options HZ=1000
>
>
> #options SCHED_ULE
>
>
> options KVA_PAGES=512
>
>
> options VM_KMEM_SIZE=1073741824
> options VM_KMEM_SIZE_MAX=1073741824
>
>
> options PANIC_REBOOT_WAIT_TIME=60
>
>
> ident CUSTOM
>
>
>
>
> ######## /boot/loader.conf
> verbose_loading="YES"
> loader_logo="beastie"
> #ng_ether_load="YES"
> #linux_load="YES"
> accf_data_load="YES"
> accf_http_load="YES"
а в ядро добабавить сразу нельзя ?
> net.inet.tcp.syncache.hashsize=1024
> net.inet.tcp.syncache.bucketlimit=100
> net.inet.tcp.tcbhashsize=4096
> kern.ipc.nsfbufs=10240
тут
> vm.kmem_size=1G
без options KVA_PAGES=512 на i386 будет паника
> vm.kmem_size_max=1G
>
>
> ######## /etc/sysctl.conf
> net.inet.tcp.blackhole=1
> net.inet.udp.blackhole=1
> kern.ipc.nmbclusters=262144
Зачем такой гемор, ограничения на полгига при ядерной памяти на гиг ?
Потом подымай если что..
Ставим kern.ipc.nmbclusters=0 в /boot/loader.conf и все работает.
> kern.ipc.somaxconn=4096
> kern.ipc.maxsockets=204800
> kern.maxfiles=204800
> kern.maxfilesperproc=200000
> net.inet.ip.portrange.first=1024
> net.inet.ip.portrange.last=65535
> net.inet.ip.portrange.randomized=0
> net.inet.tcp.recvspace=8192
> net.inet.tcp.sendspace=16384
Зачем юзеру спешить что-то качать, пусть понаблюдает как картинки одна
за одной возникают на странице. Особенно если он на другом континенте.
Или сервер досят сразу после загрузки ? Впечатление что автор не нашел
другого способа избежать паники от нехватки ядерной памяти.
> net.inet.tcp.maxtcptw=40960
> net.inet.tcp.msl=30000
> net.inet.tcp.syncookies=1
> net.inet.tcp.nolocaltimewait=1
> net.inet.tcp.fast_finwait2_recycle=1
>
>
>
>
> ######## после всех мытарств, работа системы весьма порадовала.
Для трафика до двухсот мегабит в принципе сойдут и такие настройки.
> ######## комменты только приветствуются.
> ######## огромное пожелание к Игорю включить сей опус с поправками и
> комментариями (кои лично меня ОЧЕНЬ интересуют) в документацию на
> своём сайте.
> ######## данные конфиги являются результатом печального опыта. если не
> указывать vm.kmem_size_max, ядру нехватит памяти, для всей этой
> красоты.
Ядру надо увеличивать память, не вопрос. Как и уменьшать её лишнее
потребление. Но не банальным же уменьшением tcp-буфера.
> ######## успехов
|