FreeBSD тюнинг сетевых и dummynet

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Lgo
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-01-22 21:45:03

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение Lgo » 2015-01-22 22:12:44

Уважаемые форумчане,

Появилась необходимость сделать тюнинг сетевой подсистемы FreeBSD и шейпера Dummynet в частности. В интернете на эту тему куча информации, но история использования FreeBSD растянута уже на много лет, и не совсем понятно какие методы актуальны а какие нет. Я собрал самые интересные на мой взгляд советы и прошу коротко прокомментировать, что есть что.

Да, система FreeBSD-10.1 Stable (сейчас обновляю как раз), сетевые igb Intel 82575EB, процессор Xeon E5620 2.40GHz 4 ядра, года этак 2012, Памяти 6 Гб.

1. Polling. Актуальна ли эта техника? Если да, то какое значение options HZ= нужно выставлять?

2. Рекоммендация исправить #define HASHSIZE 16 в /usr/src/sys/netinet/ip_dummynet.c. Такого файла не нашел. Это уже исправили или как то можно настроить через системные переменные?

3. Привязка dummynet к 1 ядру. Стоит ли это делать?

4. Параметры net.inet.ip.dummynet.io_fast=1 и net.inet.ip.fastforwarding=0. Встречал много советов «обязательно включать» и «ни в коем случае не включать». Кому верить?

5. Прокомментируйте пожалуйста другие рекомендованные тюны:

Код: Выделить всё

dev.igb.0.rx_processing_limit=4096
dev.igb.1.rx_processing_limit=4096
hw.igb.rxd=4096
hw.igb.txd=4096
hw.igb.max_interrupt_rate=32000

net.isr.defaultqlimit=4096
net.link.ifqmaxlen=10240
net.route.netisr_maxqlen=4096

sysctl kern.ipc.nmbclusters=400000
sysctl kern.ipc.maxsockbuf=83886080
sysctl kern.ipc.shmmax=67108864

sysctl net.inet.ip.dummynet.hash_size=65535 (встречал также 64) Такая большая разница?
sysctl net.inet.ip.dummynet.max_chain_len=16
sysctl net.inet.ip.dummynet.pipe_slot_limit=2048
sysctl net.inet.ip.intr_queue_maxlen=8192
sysctl net.inet.ip.fw.dyn_buckets=1024
sysctl net.inet.ip.intr_queue_maxlen=10240

sysctl net.inet.ip.fw.curr_dyn_buckets=256
sysctl net.inet.ip.fw.dyn_buckets=256

sysctl kern.ipc.somaxconn=32768
sysctl kern.ipc.nmbclusters=524288
sysctl kern.ipc.maxsockbuf=83886080

sysctl net.local.stream.recvspace=65535
sysctl net.local.stream.sendspace=65535

sysctl net.inet.ip.dummynet.expire=0
Относится ли к сети?

Код: Выделить всё

sysctl kern.maxfiles=204800
sysctl kern.maxfilesperproc=200000
sysctl kern.random.sys.harvest.ethernet=0
sysctl kern.random.sys.harvest.interrupt=0
Заранее спасибо!
Последний раз редактировалось f_andrey 2015-01-22 22:16:09, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума, оформляйте сообщение по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35291
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение Alex Keda » 2015-01-23 8:07:32

А потестить и выяснить - не?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение Alvares » 2015-01-23 9:32:16

Собственно тюнинг-то для чего? Ради тюнинга или что-то с чем-то не справляется?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

Аватара пользователя
skeletor
майор
Сообщения: 2508
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение skeletor » 2015-01-23 12:30:13

1) Актуально было до 8.Х, в 9.Х и выше - нет.
2) Для чего?
3) Только если реально нужно. Смотреть по нагрузке на CPU
4) Только тестам на своём сервере
5) Это базовые рекомендации, можно использовать.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Lgo
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-01-22 21:45:03

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение Lgo » 2015-01-23 22:17:17

Тюн нужен потому что машина не справляется с относительно простыми задачами. При ~300Мегабитах трафика, у пользователей которые ходят через dummynet скорость ниже плинтуса. При меньшей нагрузке такого не было, в какие то параметры думинет и упирается. Загрузка процессора - %20.

1.) Polling. Понятно.
2.) hashsize 16. Пишут что помогает ускорить dummynet. Вероятно устарело.
3.) Привязка к 1 процессору. Опять же, пишут что ускоряет dummynet.
4,5.) Буду пробовать. Возможно какие то параметры стоит увеличить? Или наоборот, не трогать?

p.s.: Просто все попробовать - не с руки. За роутером около 1000 пользователей, и любое падение - критично.
И тестить по принципу "Сколько людей позвонит с жалобами на инет" тоже не вариант.

p.p.s: Я пробовал применить несколько тюнов в sysctl, какая то комбинация привела к тому, что через dummynet вообще трафик не бегал.

_skeletor
проходил мимо

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение _skeletor » 2015-01-23 23:20:25

3) Нужно это делать грамотно и обязательно понять, стоит ли делать или нет. Можно как мануал использовать это http://muff.kiev.ua/content/dummynet-pr ... ssa-k-cpu0 , но если нагрузка значительная. А если у вас до 10%, то нет смысла этим заниматься.
4.5) Да, можно попробовать. В своё время были проблемы с em/igb и, поэтому, собрал не мало ссылок http://skeletor.org.ua/?p=3976 , каждую из которых следует внимательно прочесть.
Касательно sysctl, можно конечно много рассуждать. Мне когда-то помогли значения http://skeletor.org.ua/?p=179 .

PS. Тут единого рецепта нет. Нужно много читать, пробовать.

Lgo
проходил мимо
Сообщения: 3
Зарегистрирован: 2015-01-22 21:45:03

FreeBSD тюнинг сетевых и dummynet

Непрочитанное сообщение Lgo » 2015-01-25 14:57:11

Я, в общем, этого и просил, толкового совета и направление дальше.
Буду читать, разбираться. Спасибо!