Тюнинг сети. Polling?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-25 21:43:05

Вот собственно картинка такая

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

   26 root        1 -68    -     0K     8K -       0 223:09 57.96% [em1 taskq]
   12 root        1 171 ki31     0K     8K RUN     0 371:42 42.29% [idle: cpu0]
   25 root        1 -68    -     0K     8K CPU1    1 177:58 38.77% [em0 taskq]
   11 root        1 171 ki31     0K     8K RUN     1 402:43 38.18% [idle: cpu1]
    2 root        1 -68    -     0K     8K RUN     1  40:30 10.06% [ng_queue0]
    3 root        1 -68    -     0K     8K sleep   1  40:43  9.47% [ng_queue1]
2 сетевые карточки на вход и выход em, загружены грубо на 300 мегабит, в обе стороны. Для шейпинга использую ng_car mode=3.
Как бы можно было разгрузить систему не в ущерб пользователям? Есть смысл врубать поллинг? Сколько поставить HZ? Я так полагаю если его поставить меньше, то есть вероятность потери пакетов при нехватке буфера на сетевушке.
Так же может в ng_car mode=3, сменить на 2 или смысла тут особого нет? Сейчас клиентов 388 онлайн, а вообще хотелось бы до 800 довести...

Я бы поэкспериментировал и сам с hz но бутать сервак придется частенько, а пользюки мозг начинают промывать когда у них дисконект... (
Сейчас поллинг врубил но забыл указать hz и получается, что трафик на сетевушках плавно но верно тухнет...

Хостинговая компания 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/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Тюнинг сети. Polling?

Непрочитанное сообщение paradox » 2009-10-26 2:57:09

Я бы поэкспериментировал и сам с hz но бутать сервак придется частенько, а пользюки мозг начинают промывать когда у них дисконект... (
в чем проблема
повесь обьяву что в такое то такое то время сервер будет уходить минут на пять в ребут
например раз в сутки
а сам будешь пробовать разные режимы и смотреть на общее состояние сервера

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-26 11:03:24

Ну можно часа в 3 ночи бутнуть, вопрос только от скольки начинать hz . Я думаю 2000 поставить...

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-28 10:44:18

Ставлю в ядре

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

options DEVICE_POLLING
options HZ=5000
А в итоге получаю

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

sysctl kern.hz
kern.hz: 1000
Почему может не выставляться значение?

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-10-30 14:53:56

polling -- это хорошо. Особенно для карт от Интел.
еще посмотри в dmesg что тебе говорит

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

sysctl dev.em.0.debug=1
sysctl dev.em.1.debug=1
dmesg |grep 'Packet buffer'
Посмотри какие буфферы на твоих картах. 8к -- самый маленький буффер. :( Интеловские карты разные бывают, подешевле более слабые, подороже более мощные. С твоей нагрузкой желательно, чтобы карта была Server Adapter, а не Desktop...

Потюнь

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

hw.em.rxd=ххх
hw.em.txd=ххх
для себя в /boot/loader.conf. Попробуй 1024, 2048.
Поллинг включаешь при помощи:

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

ifconfig_em0="... polling"
в /etc/rc.conf ???

И еще, fastforwarding включен?
Последний раз редактировалось Laa 2009-10-30 15:07:12, всего редактировалось 1 раз.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-10-30 15:03:55

Spank писал(а):Ставлю в ядре

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

options DEVICE_POLLING
options HZ=5000
А в итоге получаю

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

sysctl kern.hz
kern.hz: 1000
Почему может не выставляться значение?
Может ядро забываешь инсталлировать?
Я много читал о том, что выше 1000 не имеет смысла ставить.
Кстати, а какой процессор у вас?
И какая бсд?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-30 15:45:14

в /etc/rc.conf ???

И еще, fastforwarding включен?
Включаю ручками через ifconfig
Фастфорвардинг был вырублен, включил.
При hz=1000 скорость сети грубо держится в 100 мегабит, а у меня 300-400, к тому же нужно иметь очень гигантский буфер в сетевушке, что бы при такой скорости пакеты не терялись.
Ядрове вроде как ставлю, пробовал через /boot/loader.conf kern.hz=4000 таже история.
FreeBSD access.localdomain 7.2-STABLE FreeBSD 7.2-STABLE #0: Wed Oct 14 01:15:42 MSD 2009 root@access.localdomain:/usr/obj/usr/src/sys/ACCESS i386
Сетевки em0.
Проц двухядерник hw.model: Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz

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

em0: Packet buffer = Tx=20k Rx=12k
em1: Packet buffer = Tx=20k Rx=12k

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

sysctl hw.em.rxd
sysctl: unknown oid 'hw.em.rxd'

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-10-30 16:07:51

Значения hw.em.rxd через /boot/loader.conf задаются при новой загрузке.
Под драйвером em может определяться масса сетевушек. От 20долларов до 500дол. 8)
Rx буфер у тебя мягко говоря мелкий для твоей нагрузки. Похоже у тебя Desktop Adapter. :( Они, действительно до 200-250мбит только могут стабильно работать, а потом под нагрузкой прогибаются. :-o

Попробуй задать эти параметры раз, и попробуй заюзать Intel Server Adapter два вместо em0 и em1, сразу проверь в Server Adapter какой Rx будет. У меня в одном месте на карточке за 120долларов буфер 48к. Но такого трафика как у тебя пока нет. Да и при приближении к 100мбит у меня вообще нет нагрузки на em девайсы в системе. Ну то есть есть, но минимальная.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Тюнинг сети. Polling?

Непрочитанное сообщение LMik » 2009-10-30 16:18:38

Я ничего не путаю? разве отложенные прерывания на интелах не лучше полинга? :/
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-10-30 16:56:59

LMik писал(а):Я ничего не путаю? разве отложенные прерывания на интелах не лучше полинга? :/
Уточни, pls.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-30 17:22:23

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

em0: <Intel(R) PRO/1000 Network Connection 6.9.6> port 0x2000-0x201f mem 0xd8000000-0xd801ffff irq 16 at device 0.0 on pci13
em0: Using MSI interrupt
Вот у мну какие сетевки, Using MSI interrupt это я так понял и есть отложенные прерывания. Вроде сервак стоечный странно, что там сетевка гавно стоит...

Intel Server Adapter Это я так понял сетевушка другая?
Паметры ночью воткну, посмотрим что будет..

Еще вопрос, как можно bge протюнить, так как параллельный серв именно с ними стоит.

ЗЫ По поводу буфера просил узнать у чела кто сервы заказывает, сам в железе плохо понимаю, вот он сказал что 131 071 байт.

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-10-30 18:29:04

Еще попробуйте такие sysctl:

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

dev.em.0.rx_int_delay=250
dev.em.0.tx_int_delay=250
dev.em.0.rx_abs_int_delay=250
dev.em.0.tx_abs_int_delay=250
dev.em.0.rx_processing_limit=400
для обоих карт.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Тюнинг сети. Polling?

Непрочитанное сообщение zingel » 2009-10-31 0:55:07

Вы так доиграетесь до

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

watchdog timeout reseting
используй

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

options ZERO_COPY_SOCKETS
и не изобретай велосипед.
Z301171463546 - можно пожертвовать мне денег

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-10-31 12:35:48

Что именно не делать? У мну ща серв висит, жду когда люди поедут бутать его, но я применил только фастфорвардинг, ну и после перезагруки применится

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

hw.em.rxd=1024
hw.em.txd=2048
Ну это я так понял для увеличение буферов сетевушки..

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-11-02 11:49:45

Система повисла с такими строками в логах

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

kernel: em1: discard frame w/o packet header
/etc/sysctl.conf

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

kern.ipc.maxsockbuf=8388608
net.graph.recvspace=1024000
net.graph.maxdgram=1024000
net.inet.ip.dummynet.io_fast=1

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1

net.inet.tcp.sendspace=3217968
net.inet.tcp.recvspace=3217968
net.inet.ip.intr_queue_maxlen=5000

net.inet.ip.fastforwarding=1
/boot/loader.conf

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

kern.maxusers=512
kern.ipc.maxpipekva=400000000
sysctl net.graph.maxalloc=8192
hw.em.rxd=1024
hw.em.txd=2048
HZ 3000 тысячи уже не ставится, а 2000 тысячи ставится, но сеть упирается в 100 мегабит, как и при hz=1000.
Ядро

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

options         IPFIREWALL              #firewall
options         IPFIREWALL_VERBOSE      #enable logging to syslogd(8)
options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
options         IPFIREWALL_FORWARD      #packet destination changes
options         IPFIREWALL_NAT          #ipfw kernel nat support
options         IPDIVERT                #divert sockets
options         LIBALIAS

options         DEVICE_POLLING
options         HZ=3000
options         ZERO_COPY_SOCKETS


options         NETGRAPH
options         NETGRAPH_IPFW
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_PPP
options         NETGRAPH_NAT
options         NETGRAPH_IFACE
Еще нашел обсуждение http://sysadmins.ru/topic244491.html
Там в конце человек пишет
не так давно, на одном из них включил эту опцию (set bundle enable multilink) - сервак свалился в краш через сутки (до этого простоял 6 дней в апе)

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-11-02 13:37:16

1. попробуй на всех сетевушках жестко прописать скорость и дуплекс.
2. зачем тебе IPDIVERT в ядре, если есть kernel nat?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-11-02 14:14:51

Laa писал(а):1. попробуй на всех сетевушках жестко прописать скорость и дуплекс.
2. зачем тебе IPDIVERT в ядре, если есть kernel nat?
Ну позже уберу, раньше его пользовал. Ща ядреный нат.
media: Ethernet autoselect (1000baseTX <full-duplex>) тут вроде не плохо стоит, да и скорость он держит наманую, только с загрузкой траблы могут быть...
Убрал фастфорвардинг, чет мне кажется из за него начал серв бутаться, уже 2 раза перезагрузился...

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-11-02 14:53:49

У тебя autoselect ! Попробуй жестко указать параметры.
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-11-02 15:30:48

Laa писал(а):У тебя autoselect ! Попробуй жестко указать параметры.
ifconfig em1 media 1000baseTX mediaopt full-duplex

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

em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>
        ether 00:30:48:63:51:a9
        media: Ethernet 1000baseTX <full-duplex>
        status: active
На нулевой так же указал. Вопрос что должно изменится? :)

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-11-02 15:51:14

Если видишь ровно 100мбит, то возможно карта показывает одни настройки сети, а фактически работает на других.
Скорость после этого стала выше 100мбит?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-11-02 16:48:53

Laa писал(а):Если видишь ровно 100мбит, то возможно карта показывает одни настройки сети, а фактически работает на других.
Скорость после этого стала выше 100мбит?
Сто мегабит у меня когда поллинг включаю, а тк 200-400

Spank
мл. сержант
Сообщения: 106
Зарегистрирован: 2009-04-16 0:28:05

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Spank » 2009-11-02 16:59:25

netstat -I em1 -w1
При включенном поллинге, при увеличении нагрузки начинает показывать ошибки

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: Тюнинг сети. Polling?

Непрочитанное сообщение LMik » 2009-11-02 17:37:53

Spank писал(а):netstat -I em1 -w1
При включенном поллинге, при увеличении нагрузки начинает показывать ошибки
Я разве не говорил отложить прерывания и вырубить поллинг?
Несомненно есть шанс получить ватчдог таймаут... но уже тонкости.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

Аватара пользователя
Laa
ст. лейтенант
Сообщения: 1032
Зарегистрирован: 2008-02-21 18:25:33
Откуда: Украина, Россия

Re: Тюнинг сети. Polling?

Непрочитанное сообщение Laa » 2009-11-02 18:02:14

input errors?
exim: помните, что выдавая deny, вы можете недоставить ваше же письмо, зарубив sender-verify удаленного MTA к вашему MTA!!!

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Тюнинг сети. Polling?

Непрочитанное сообщение zingel » 2009-11-02 18:38:10

ну вот вы и доигрались как я и говорил.

давайте сюда

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

dmesg -a
опять и

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

ifconfig -amv
Z301171463546 - можно пожертвовать мне денег