Страница 1 из 2
Тюнинг сети. Polling?
Добавлено: 2009-10-25 21:43:05
Spank
Вот собственно картинка такая
Код: Выделить всё
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 и получается, что трафик на сетевушках плавно но верно тухнет...
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-26 2:57:09
paradox
Я бы поэкспериментировал и сам с hz но бутать сервак придется частенько, а пользюки мозг начинают промывать когда у них дисконект... (
в чем проблема
повесь обьяву что в такое то такое то время сервер будет уходить минут на пять в ребут
например раз в сутки
а сам будешь пробовать разные режимы и смотреть на общее состояние сервера
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-26 11:03:24
Spank
Ну можно часа в 3 ночи бутнуть, вопрос только от скольки начинать hz . Я думаю 2000 поставить...
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-28 10:44:18
Spank
Ставлю в ядре
А в итоге получаю
Почему может не выставляться значение?
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 14:53:56
Laa
polling -- это хорошо. Особенно для карт от Интел.
еще посмотри в dmesg что тебе говорит
Код: Выделить всё
sysctl dev.em.0.debug=1
sysctl dev.em.1.debug=1
dmesg |grep 'Packet buffer'
Посмотри какие буфферы на твоих картах. 8к -- самый маленький буффер.

Интеловские карты разные бывают, подешевле более слабые, подороже более мощные. С твоей нагрузкой желательно, чтобы карта была Server Adapter, а не Desktop...
Потюнь
для себя в /boot/loader.conf. Попробуй 1024, 2048.
Поллинг включаешь при помощи:
в /etc/rc.conf ???
И еще, fastforwarding включен?
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 15:03:55
Laa
Spank писал(а):Ставлю в ядре
А в итоге получаю
Почему может не выставляться значение?
Может ядро забываешь инсталлировать?
Я много читал о том, что выше 1000 не имеет смысла ставить.
Кстати, а какой процессор у вас?
И какая бсд?
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 15:45:14
Spank
в /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'
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 16:07:51
Laa
Значения hw.em.rxd через /boot/loader.conf задаются при новой загрузке.
Под драйвером em может определяться масса сетевушек. От 20долларов до 500дол.
Rx буфер у тебя мягко говоря мелкий для твоей нагрузки. Похоже у тебя Desktop Adapter.

Они, действительно до 200-250мбит только могут стабильно работать, а потом под нагрузкой прогибаются.
Попробуй задать эти параметры раз, и попробуй заюзать Intel Server Adapter два вместо em0 и em1, сразу проверь в Server Adapter какой Rx будет. У меня в одном месте на карточке за 120долларов буфер 48к. Но такого трафика как у тебя пока нет. Да и при приближении к 100мбит у меня вообще нет нагрузки на em девайсы в системе. Ну то есть есть, но минимальная.
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 16:18:38
LMik
Я ничего не путаю? разве отложенные прерывания на интелах не лучше полинга? :/
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 16:56:59
Laa
LMik писал(а):Я ничего не путаю? разве отложенные прерывания на интелах не лучше полинга? :/
Уточни, pls.
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 17:22:23
Spank
Код: Выделить всё
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 байт.
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-30 18:29:04
Laa
Еще попробуйте такие 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
для обоих карт.
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-31 0:55:07
zingel
Вы так доиграетесь до
используй
и не изобретай велосипед.
Re: Тюнинг сети. Polling?
Добавлено: 2009-10-31 12:35:48
Spank
Что именно не делать? У мну ща серв висит, жду когда люди поедут бутать его, но я применил только фастфорвардинг, ну и после перезагруки применится
Ну это я так понял для увеличение буферов сетевушки..
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 11:49:45
Spank
Система повисла с такими строками в логах
Код: Выделить всё
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 дней в апе)
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 13:37:16
Laa
1. попробуй на всех сетевушках жестко прописать скорость и дуплекс.
2. зачем тебе IPDIVERT в ядре, если есть kernel nat?
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 14:14:51
Spank
Laa писал(а):1. попробуй на всех сетевушках жестко прописать скорость и дуплекс.
2. зачем тебе IPDIVERT в ядре, если есть kernel nat?
Ну позже уберу, раньше его пользовал. Ща ядреный нат.
media: Ethernet autoselect (1000baseTX <full-duplex>) тут вроде не плохо стоит, да и скорость он держит наманую, только с загрузкой траблы могут быть...
Убрал фастфорвардинг, чет мне кажется из за него начал серв бутаться, уже 2 раза перезагрузился...
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 14:53:49
Laa
У тебя autoselect ! Попробуй жестко указать параметры.
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 15:30:48
Spank
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
На нулевой так же указал. Вопрос что должно изменится?

Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 15:51:14
Laa
Если видишь ровно 100мбит, то возможно карта показывает одни настройки сети, а фактически работает на других.
Скорость после этого стала выше 100мбит?
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 16:48:53
Spank
Laa писал(а):Если видишь ровно 100мбит, то возможно карта показывает одни настройки сети, а фактически работает на других.
Скорость после этого стала выше 100мбит?
Сто мегабит у меня когда поллинг включаю, а тк 200-400
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 16:59:25
Spank
netstat -I em1 -w1
При включенном поллинге, при увеличении нагрузки начинает показывать ошибки
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 17:37:53
LMik
Spank писал(а):netstat -I em1 -w1
При включенном поллинге, при увеличении нагрузки начинает показывать ошибки
Я разве не говорил отложить прерывания и вырубить поллинг?
Несомненно есть шанс получить ватчдог таймаут... но уже тонкости.
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 18:02:14
Laa
input errors?
Re: Тюнинг сети. Polling?
Добавлено: 2009-11-02 18:38:10
zingel
ну вот вы и доигрались как я и говорил.
давайте сюда
опять и