The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
" mpd, ipfw, ipnat - высокая нагрузка"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

" mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от evb email(ok) on 13-Ноя-06, 18:22 
Есть группа серверов доступа - Xeon 3Ghz, 2Gb RAM. В каждом из них по две сетевухи (одна смотрит в локальную сеть, вторая - на маршрутизатор). На серверах работает mpd4 (с cvs'а), ipfw (pipe, access lists), ipnat (на 2 реальный ip). Нагрузка между ними баллансируется с помощью DNS.

Проблема заключается в следующем: при загрузке каждого сервера порядка 600 VPN сессий и 20-25 мегабит трафика каждого направления (in/out, суммарно порядка 50-ти мегабит в единицу времени) начинаются сильные тормоза у пользователей при работе в интернет.

На всех серверах FreeBSD 6.1 SMP (гипертрейдинг выключен), сетевухи поддерживают polling и недавно его включили - выпадение пингов до "ближнего" конца VPN туннеля вроде бы прекратилось, но тормоза в часы максимальной нагрузки у пользователей остаются.

Для примера на тех же машинах ранее работал linux с pptpd - свободно тянул 1200 сессий и около 60-70 мегабит суммарного трафика.

Может где-то надо что-то покрутить в плане оптимизации tcp/ip и/или NAT-а и взаимодествия с сетевухами?

Заранее спасибо за рекомендации!

PS: сейчас не самая сильная нагрузка на сервер, но всё же:

vmstat -i
interrupt total rate
irq1: atkbd0 393 0
irq17: em0 705954 3
irq18: atapci1 1199250 6
irq24: xl0 1025243 5
cpu0: timer 368421701 1998
cpu1: timer 368421437 1998
Total 739773978 4013

ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=4b<RXCSUM,TXCSUM,VLAN_MTU,POLLING>
inet 10.xx.xx.xx netmask 0xffffff00 broadcast 10.xx.xx.255
ether 00:0e:0c:3c:d3:c7
media: Ethernet 100baseTX <full-duplex>
status: active

ifconfig xl0
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=49<RXCSUM,VLAN_MTU,POLLING>
inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255
inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.255
ether 00:04:76:96:8e:9a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active

pciconf -lv | grep em0
em0@pci4:3:0: class=0x020000 card=0x34668086 chip=0x10768086 rev=0x05 hdr=0x00

pciconf -lv | grep xl0
xl0@pci3:3:0: class=0x020000 card=0x100010b7 chip=0x920010b7 rev=0x74 hdr=0x00

sysctl -a|grep polling
kern.polling.burst: 23
kern.polling.burst_max: 150
kern.polling.each_burst: 5
kern.polling.idle_poll: 1
kern.polling.user_frac: 40
kern.polling.reg_frac: 20
kern.polling.short_ticks: 913
kern.polling.lost_polls: 21019680
kern.polling.pending_polls: 0
kern.polling.residual_burst: 0
kern.polling.handlers: 2
kern.polling.enable: 1
kern.polling.phase: 0
kern.polling.suspect: 14978
kern.polling.stalled: 2453
kern.polling.idlepoll_sleeping: 0

last pid: 89576; load averages: 2.70, 2.48, 2.38 up 2+03:15:53 15:02:29
108 processes: 7 running, 85 sleeping, 16 waiting
CPU states: 15.8% user, 0.0% nice, 4.1% system, 30.0% interrupt, 50.1% idle
Mem: 41M Active, 1223M Inact, 382M Wired, 199M Buf, 356M Free
Swap: 4070M Total, 4070M Free

# netstat -I em0 -w 1
input (em0) output
packets errs bytes packets errs bytes colls
4906 0 1793981 8734 0 2527064 0
4724 0 1929525 8469 0 2760098 0
4913 0 1801311 8545 0 2473639 0
4918 0 1838093 8808 0 2598038 0

# netstat -I xl0 -w 1
input (xl0) output
packets errs bytes packets errs bytes colls
4313 0 2595427 3748 0 1577046 0
3789 0 2229250 3677 0 1512157 0
4191 0 2706277 3930 0 1477636 0
4364 0 2355995 3772 0 1494585 0

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от smb on 13-Ноя-06, 19:23 
Навскидку - очевидно, выкинуть ipnat и поставить ng_nat, раз уж mpd =)
(посмотреть что-нибудь вроде этого: http://wiki.bsdportal.ru/doc:netgraph_ng_nat)

зы. Вообще, нагрузка по кол-ву пакетов не сильно большая, странно, что 30% interrupts...
Какая материнская плата? + почему xl?Таки em сильно получше будет, ну или fxp уж, коли гигабита нету =)

Да, и последнее - пересобрать под SMP не пробовали?
ззы. sysctl kern.clockrate - что будет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от evb (??) on 13-Ноя-06, 22:44 
>Навскидку - очевидно, выкинуть ipnat и поставить ng_nat, раз уж mpd =)
>
>(посмотреть что-нибудь вроде этого: http://wiki.bsdportal.ru/doc:netgraph_ng_nat)
>
>зы. Вообще, нагрузка по кол-ву пакетов не сильно большая, странно, что 30%
>interrupts...
>Какая материнская плата? + почему xl?Таки em сильно получше будет, ну или
>fxp уж, коли гигабита нету =)
>
>Да, и последнее - пересобрать под SMP не пробовали?
>ззы. sysctl kern.clockrate - что будет?

Вот сейчас там 760 пользователей на mpd висит. Трафик через интерфейсы 25in/15out.

last pid: 55824;  load averages:  2.07,  2.22,  2.20    up 0+10:52:59  22:40:00
79 processes:  7 running, 56 sleeping, 16 waiting
CPU states:  4.6% user,  0.0% nice,  7.6% system, 37.8% interrupt, 50.0% idle
Mem: 39M Active, 764M Inact, 287M Wired, 28K Cache, 199M Buf, 911M Free
Swap: 4070M Total, 4070M Free

kern.clockrate: { hz = 2000, tick = 500, profhz = 1333, stathz = 266 }
сегодня увеличили с 1000 до 2000.
И заодно kern.polling.user_frac уменьшили с 40 до 25.
Мать интеловская под два ксеона. Точно модель не вспомню.
xl потому, что вторая интегрированная myk не умеет polling, поэтому для того чтобы поднять поллинг на обоих сетевухах, воткнули в сервера по pci 3com карточке.

ng_nat попробуем завтра, спасибо. Пересобирать под SMP ещё не пробовали.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от smb on 14-Ноя-06, 00:34 
>>Навскидку - очевидно, выкинуть ipnat и поставить ng_nat, раз уж mpd =)
>>
>>(посмотреть что-нибудь вроде этого: http://wiki.bsdportal.ru/doc:netgraph_ng_nat)
>>
>>зы. Вообще, нагрузка по кол-ву пакетов не сильно большая, странно, что 30%
>>interrupts...
>>Какая материнская плата? + почему xl?Таки em сильно получше будет, ну или
>>fxp уж, коли гигабита нету =)
>>
>>Да, и последнее - пересобрать под SMP не пробовали?
>>ззы. sysctl kern.clockrate - что будет?
>
>Вот сейчас там 760 пользователей на mpd висит. Трафик через интерфейсы 25in/15out.

>
>
>last pid: 55824;  load averages:  2.07,  2.22,  2.20
>   up 0+10:52:59  22:40:00
>79 processes:  7 running, 56 sleeping, 16 waiting
>CPU states:  4.6% user,  0.0% nice,  7.6% system, 37.8%
>interrupt, 50.0% idle
>Mem: 39M Active, 764M Inact, 287M Wired, 28K Cache, 199M Buf, 911M
>Free
>Swap: 4070M Total, 4070M Free
>
>kern.clockrate: { hz = 2000, tick = 500, profhz = 1333, stathz
>= 266 }
>сегодня увеличили с 1000 до 2000.
>И заодно kern.polling.user_frac уменьшили с 40 до 25.
>Мать интеловская под два ксеона. Точно модель не вспомню.
Но процессоров один, очевидно?

>xl потому, что вторая интегрированная myk не умеет polling, поэтому для того
>чтобы поднять поллинг на обоих сетевухах, воткнули в сервера по pci
>3com карточке.
Логично...Я, конечно, не великий специалист во сравнении внутреннего устройства polling-а в xl VS fxp, но, повторюсь, что установка последней заместо xl может немного помочь

>ng_nat попробуем завтра, спасибо. Пересобирать под SMP ещё не пробовали.
Хм, вообще, судя по последней цифре в load averages - оба раза она стабильно больше 2, процессор не справляется с нагрузкой - надо искать причину...Интересны иземенения после ng_nat. зы. на машине ничего больше серъезного нет?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от evb email(ok) on 14-Ноя-06, 10:16 
>>>Навскидку - очевидно, выкинуть ipnat и поставить ng_nat, раз уж mpd =)
>>>
>>>(посмотреть что-нибудь вроде этого: http://wiki.bsdportal.ru/doc:netgraph_ng_nat)
>>>
>>>зы. Вообще, нагрузка по кол-ву пакетов не сильно большая, странно, что 30%
>>>interrupts...
>>>Какая материнская плата? + почему xl?Таки em сильно получше будет, ну или
>>>fxp уж, коли гигабита нету =)
>>>
>>>Да, и последнее - пересобрать под SMP не пробовали?
>>>ззы. sysctl kern.clockrate - что будет?
>>
>>Вот сейчас там 760 пользователей на mpd висит. Трафик через интерфейсы 25in/15out.
>
>>
>>
>>last pid: 55824;  load averages:  2.07,  2.22,  2.20
>>   up 0+10:52:59  22:40:00
>>79 processes:  7 running, 56 sleeping, 16 waiting
>>CPU states:  4.6% user,  0.0% nice,  7.6% system, 37.8%
>>interrupt, 50.0% idle
>>Mem: 39M Active, 764M Inact, 287M Wired, 28K Cache, 199M Buf, 911M
>>Free
>>Swap: 4070M Total, 4070M Free
>>
>>kern.clockrate: { hz = 2000, tick = 500, profhz = 1333, stathz
>>= 266 }
>>сегодня увеличили с 1000 до 2000.
>>И заодно kern.polling.user_frac уменьшили с 40 до 25.
>>Мать интеловская под два ксеона. Точно модель не вспомню.
>Но процессоров один, очевидно?
>
>>xl потому, что вторая интегрированная myk не умеет polling, поэтому для того
>>чтобы поднять поллинг на обоих сетевухах, воткнули в сервера по pci
>>3com карточке.
>Логично...Я, конечно, не великий специалист во сравнении внутреннего устройства polling-а в xl
>VS fxp, но, повторюсь, что установка последней заместо xl может немного
>помочь
>
>>ng_nat попробуем завтра, спасибо. Пересобирать под SMP ещё не пробовали.
>Хм, вообще, судя по последней цифре в load averages - оба раза
>она стабильно больше 2, процессор не справляется с нагрузкой - надо
>искать причину...Интересны иземенения после ng_nat. зы. на машине ничего больше серъезного
>нет?


Ничего серьёзного на машине больше нет (ну разве что netflow's собираются из ipfw).
Процессор да, один.
Мне тут подсказывают, что SMP умеет и GENERIC ядро, которое с незначительными добавлениями (polling, netgraph и.т.д.) мы используем.
Сейчас будем пробовать ng_nat.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от smb on 14-Ноя-06, 17:40 
>Ничего серьёзного на машине больше нет (ну разве что netflow's собираются из
>ipfw).
Эм, ну раз netflow, тогда еще посмотреть обязательно на ng_netflow, дабы не городить огород с ipfw =)

>Процессор да, один.
>Мне тут подсказывают, что SMP умеет и GENERIC ядро, которое с незначительными
>добавлениями (polling, netgraph и.т.д.) мы используем.
Не забудьте только у GENERIC убрать makeoptions = -g (дебаг) из конфига....
А то знакомый собирал дефолтное SMP-ядро, а оно инклудит GENERIC, который именно с дебагом..

>Сейчас будем пробовать ng_nat.
^up, + ng_netflow тогда =)


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от meta (??) on 15-Ноя-06, 05:19 
1) интересно, как это: нетфлов из ипфв? get_xyz?
2) насчёт fxp - поможет, но не сильно. mpd vpn к нему не привязан (пппое - другое дело).
3) ng_ipnat тоже врядли сильно поднимет
4) так понимаю, что мпд только для авторизации юзеров; тогда поставь любой vpn с привязкой куда_там. по-моему = самое то.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от evb email(ok) on 15-Ноя-06, 10:13 
>1) интересно, как это: нетфлов из ипфв? get_xyz?
>2) насчёт fxp - поможет, но не сильно. mpd vpn к нему
>не привязан (пппое - другое дело).
>3) ng_ipnat тоже врядли сильно поднимет
>4) так понимаю, что мпд только для авторизации юзеров; тогда поставь любой
>vpn с привязкой куда_там. по-моему = самое то.

Не совсем понял пункт 4. Можешь пояснить?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от meta (??) on 15-Ноя-06, 11:42 
>>1) интересно, как это: нетфлов из ипфв? get_xyz?
>>2) насчёт fxp - поможет, но не сильно. mpd vpn к нему
>>не привязан (пппое - другое дело).
>>3) ng_ipnat тоже врядли сильно поднимет
>>4) так понимаю, что мпд только для авторизации юзеров; тогда поставь любой
>>vpn с привязкой куда_там. по-моему = самое то.
>
>Не совсем понял пункт 4. Можешь пояснить?


poptop https://www.opennet.ru/base/net/vpd_freebsd.txt.html
авторизация хоть с текстовика

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "mpd, ipfw, ipnat - высокая нагрузка"  
Сообщение от smb on 15-Ноя-06, 16:02 
>>>1) интересно, как это: нетфлов из ипфв? get_xyz?
>>>2) насчёт fxp - поможет, но не сильно. mpd vpn к нему
>>>не привязан (пппое - другое дело).
>>>3) ng_ipnat тоже врядли сильно поднимет
>>>4) так понимаю, что мпд только для авторизации юзеров; тогда поставь любой
>>>vpn с привязкой куда_там. по-моему = самое то.
>>
>>Не совсем понял пункт 4. Можешь пояснить?
>
>
>poptop https://www.opennet.ru/base/net/vpd_freebsd.txt.html
>авторизация хоть с текстовика

Имхо, оверхед был из-за разных действий в разных системах, хотя можно было юзать одну :)
Суть - netgraph умеет PPP, NAT + export netflow - а использовалась лишь первая часть...
(для NAT - ipnat, для export netflow - ipfw)
Отсюда идея - перевести всё на netgraph, для того и создан ибо

зы. ты считаешь, что poptop лучше mpd for freebsd?
Вообще, mpd - демон, работающий с netgraph-овскими узлами ng_ppp, умеет всё, что должен уметь порядочный ppp-демон :)

ззы. какая разница на какой сетевой что висит - траффик идет через обе одинаковый, и интеррапты генерятся примерно одинаково(ну в смысле да, обе карты опрашиваются примерно одинаково, ибо поллинг)...Но xl - это попсовая штука за 200-300 руб, не чета intel-овской fxp, стоящей раза в 3-4 дороже. Дома у меня такие стоят, но в инете - fxp|em...Тогда самое простое решение - взять и сменить сетевую, хуже не будет точно, а цена при таких условиях - сущие копейки....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру