ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RootConf / прямая транс ляция



On Tue, Apr 14, 2009 at 02:35:21PM +0300, maxhl@xxxxxxxxxxxxxx wrote:

>  
> > Презентация вчерашнего выступления Игоря Сысоева:
> > http://www.rootconf.ru/papers2009/12568.html
> >
> Классная презентация но мне кажется что рекомендованные значения могут
> вызвать панику на сервере с объёмом оперативной памяти менее 8гиг. А
> возможно сделать разбивку с рекомендациями для серверов с 1Гб, 2Гб, 4Гб,
> 6Гб. Восемь есть далеко не у всех :-(

Это значения примерно для 4G физической памяти и kmem 1.8G. 2.2G остаются
для VFS-кэша и приложений.

> kern.ipc.maxsockets=204800 (400М)
> kern.ipc.numopensockets=???

sysctl -d kern.ipc.numopensockets
kern.ipc.numopensockets: Number of open sockets

> net.inet.tcp.tcbhashsize=32768
> kern.ipc.somaxconn=4096
> kern.maxfiles=204800
> kern.openfiles=???

sysctl -d kern.openfiles
kern.openfiles: System-wide number of open files

> kern.maxfilesperproc=200000
> kern.ipc.nmbclusters=204800 (421М)
> net.inet.tcp.recvspace=8192
> net.inet.tcp.recvbuf_auto=0
> kern.ipc.nmbjumbop=192000      (796M)
> net.inet.tcp.sendspace=16384
> net.inet.tcp.sendbuf_auto=1
> net.inet.tcp.sendbuf_inc=8192
> net.inet.tcp.sendbuf_max=131072
> net.inet.tcp.maxtcptw=102400
> 
> #vm.kmem_size="1536M"   #amd64 2G KVA 100M kmem
> #vm.kmem_size="5G"      #amd64 6G KVA 1-3.6 kmem
> 
> kern.maxvnodes=100000

Это значение по умолачнию, его нужно увеличивать.

> net.inet.ip.intr_queue_maxlen=2048 #bge               Вот эти настройки 
> касаются
> только bge?
> net.isr.direct=0

Нет, это не для bge. Это для того, чтобы оценить, сколько CPU занимает
обработка TCP/IP. Вообще же, лучше использовать net.isr.direct=1.

> kern.ipc.shm_use_phys=1 # Крайне желательно для FreeBSD установить
> переменную ядра kern.ipc.shm_use_phys=1 Это запретит свопинг разделяе
> мой памяти.
> 
> В докладе не упоминаются настройки рекомендованные в прошлом докладе:
> net.inet.tcp.msl=30000
> net.inet.tcp.maxtcptw=40960
> net.inet.ip.portrange.first=1024
> net.inet.ip.portrange.last=65535
> net.inet.ip.portrange.randomized=0

Для проксирования нужно.

> net.inet.tcp.nolocaltimewait=1

Как оказалось, из-за неверной реализации net.inet.tcp.nolocaltimewait
использовать вредно - лекарство хуже болезни.

> net.inet.tcp.syncache.hashsize=1024
> net.inet.tcp.syncache.bucketlimit=100
> kern.ipc.nsfbufs=10240

kern.ipc.nsfbufs на amd64 не имеет смысла.

> vm.pmap.shpgperproc=2048 #Количество единовременно-обрабатываемых потоков
> виртуальной памяти

Нет, это совсем не "потоки виртуальной памяти". Но в двух словах не объяснишь.

> options VM_KMEM_SIZE=1073741824
> options VM_KMEM_SIZE_MAX=1073741824

vm.kmem_size=1g

> options KVA_PAGES=512         #Увеличение адресного пространства ядра

Только для i386.

> options KSTACK_PAGES=8        #Увеличение пространства под
> выделяемую память

Ну и комментарий. Скорее всего не нужно.

> options MAXFILES=16384       #Максимальное количество создаваемых
> файлов

Это изменяется на лету sysctl kern.maxfiles

> options ZERO_COPY_SOCKETS     #Для создания дополнительных буферов
> под копирование сокетов

Комментарий тоже хорош. Это скорее вредно, чем полезно.

> Насколько эти настройки актуальны для FreeBSD 7.2
> 
> Еще заметил следующую тенденцию - при скачивании большого файла (несколько
> гигабайт) сначала минут 5 скорость высокая более 10Mбит но потом она падает
> гдето до 700К :-( и уже не поднимается. Какой то админ на промежуточном
> роутере ограничил вручную? Или что может быть причиной подобного поведения?

Нужно смотреть.

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.