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 )
On 02.06.2008, at 14:13, MZ wrote:
В вс, 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 оставляем, для
чего ?
да, для этих примеров надо было
почистить файлики, согласен
кстати, если 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 будет паника
это я вроде включал в конфиг ядра 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 и все
работает.
что здесь означает 0 ?
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
Зачем юзеру спешить что-то качать,
пусть понаблюдает как картинки одна
за одной возникают на странице.
Особенно если он на другом континенте.
Или сервер досят сразу после
загрузки ? Впечатление что автор не
нашел
другого способа избежать паники от
нехватки ядерной памяти.
приступ паранойи был, вот и уменьшил
сколько рекомендуете поставить? сенд -
256К или 512К ? страницы у нас в среднем
такие
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
######## после всех мытарств, работа
системы весьма порадовала.
Для трафика до двухсот мегабит в
принципе сойдут и такие настройки.
ваши рекомендации? пол гигабита,
гигабит, 5, 10 гигабит
######## комменты только приветствуются.
######## огромное пожелание к Игорю
включить сей опус с поправками и
комментариями (кои лично меня ОЧЕНЬ
интересуют) в документацию на
своём сайте.
######## данные конфиги являются
результатом печального опыта. если не
указывать vm.kmem_size_max, ядру нехватит
памяти, для всей этой
красоты.
Ядру надо увеличивать память, не
вопрос. Как и уменьшать её лишнее
потребление. Но не банальным же
уменьшением tcp-буфера.
если "почистить" GENERIC, то много памяти
не выиграешь. по сравнению с тем
гимором, который можно получить
что там такого ужасного есть в GENERIC?
debug_symbols ? лучше пусть будут
######## успехов
|