The OpenNET Project / Index page

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

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

"Polling - противоположный эффект."  +/
Сообщение от eddy_mut email(ok) on 19-Июн-09, 09:53 
Всем привет.

Имеется сервер двухпроцессорный Intel Xeon 3 GHz 2 GB RAM
сетевая карта:
bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0x2002> mem 0xfc310000-0xfc31ffff,0xfc300000-0xfc30ffff irq 18 at device 0.0 on pci2

На сервере поднята связка ABillS + mpd4. Подавляющее большинство клиентов PPTP, и еще немного PPPoE. Шейпинг средствами абиллса, ничего сверхмудренного.

Сервак начал тормозить в часы пик при >200 сессий. Тормоза проявляются в скачущем пинге и пропадании пакетов а так же пониженной пропускной способности (линк гигабитный но выше 60-ти мегабит никогда на нем не видел).

Замеры в systat показали что процессор забивается прерываниями 18 от адаптера bge0. Делаю вывод: много безлимитчиков > много пакетов через сетевуху > много прерываний = процессоры перегружены.

Незамедлительно получаю совет от старших товарищей включить поллинг.

Пересобрал ядро:


Код:
options DEVICE_POLLING
options HZ=2000


На следующий день эффект прямо противоположный: все жалуются на упавшую скорость, а пропадание пакетов и скачущий пинг никуда не делись.


При этом в час пик в systat я уже не вижу загруженности от прерывания сетевухи 18 bge0 но теперь там ощутимо присутствует swi1 net и dummynet.

Утром, почти без нагрузки, netstat -w 1:


Код:
            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
     20836     0   10323652      22961     0   16338869     0
     21345     0   10860813      22898     0   16054667     0
     20592     0   10582651      22330     0   16181027     0
     20120     1   10215146      22014     0   16180368     0
     19617     0    9371417      22568     0   16621482     0
     20571     1    9867263      22254     0   15602902     0
     19396     0    8996124      21432     0   15624158     0
     19172     0    8820773      21524     0   15473477     0
     19209     1    8849957      21646     0   15734201     0
     19424     0    9482504      21376     0   16125719     0
     18533     4    8604782      20741     0   14632630     0
     19235     0    8948979      21757     0   16440139     0
     19536     0    8908356      21750     0   15478963     0
     19464     0    8835937      21660     0   15682544     0
     18717     1    9194828      20931     0   15775238     0
     18693     2    8432115      20964     0   15582052     0
     18847     0    8412087      21369     0   15606039     0
     19379     1    8713417      21101     0   14418211     0
     19082     0    8733936      21356     0   15936071     0
     18847     0    8894042      21185     0   15964182     0
     18949     0    8676736      21930     0   17323964     0

Вечером, в час пик, то же самое, но в колонке input errs появляются значения порядка ~500-1000

Вопрос что и где еще замерить и подкрутить чтобы отыскать узкое место?

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

 Оглавление

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


1. "Polling - противоположный эффект."  +/
Сообщение от Pahanivo email(ok) on 19-Июн-09, 12:29 
на сетевушке то его включил? (пуллинг)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Polling - противоположный эффект."  +/
Сообщение от eddy_mut email(ok) on 19-Июн-09, 12:42 
Я включил его через файл /etc/sysctl.conf чтобы при загрузке включалось

unlimit# ifconfig bge0
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM>
        ether 00:30:05:76:0f:b7
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active


unlimit# ifconfig bge1
bge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=db<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING,VLAN_HWCSUM>
        ether 00:30:05:76:0f:b8
        inet 91.202.92.16 netmask 0xffffffe0 broadcast 91.202.92.31
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active

А когда я делаю так:

ifconfig bge0 -polling (выключаю)

у меня (и у остальных клиентов) скорость закачки сразу подпрыгивает вверх в ~10 раз.

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

3. "Polling - противоположный эффект."  +/
Сообщение от GD on 19-Июн-09, 13:57 
>[оверквотинг удален]
>  0   17323964     0
>
>
>Вечером, в час пик, то же самое, но в колонке input errs
>появляются значения порядка ~500-1000
>
>
>
>Вопрос что и где еще замерить и подкрутить чтобы отыскать узкое место?
>

почитайте man polling, у него есть ручки для подкрутки
попробуйте еще увеличить HZ, хотя polling - он не для bge, эти карты сами умеют прерывания склеивать

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

4. "Polling - противоположный эффект."  +/
Сообщение от eddy_mut email(ok) on 19-Июн-09, 14:13 
Судя по этому

                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   ||||||

                    /0%  /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
root     idle: cpu3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root     idle: cpu2 XXXXXXXXXXXXXXXXXXXXXXXXXXXX
root      swi1: net XXXXXXXXXXXXXXXXXXXXXXXXX
root     idle: cpu0 XXXXXXXXXXXXXXXXXXXXXX
root     idle: cpu1 XXXXXXXXXXXXXXXXXXXXX
root     irq18: bge XXXXXXXXXXXXXXXXXXXX
root     irq19: bge XXXXXXXXXXXXXXXXXXXX
root       dummynet XXXXXXXXXXXXXXXXXXX
root           mpd4 XXX
flowtoolsflow-captu XX


Не очень то они умеют склеивать.

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

5. "Polling - противоположный эффект."  +/
Сообщение от eddy_mut email(ok) on 19-Июн-09, 16:17 
Включил опцию idle_poll

                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   |||||||||||

                    /0%  /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
root       idlepoll XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root      swi1: net XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
root     idle: cpu3 XXXXXXXXXXXXXXXXXXXXXXX
root     idle: cpu0 XXXXXXXXXXXXXXXXXXXXXXX
root       dummynet XXXXXXXXXXXXXXXXX
root     idle: cpu2 XXXXXXXXXXXXXXXX
root     idle: cpu1 XXXXXXXXXXXXXXXX
root           mpd4 XXX
flowtoolsflow-captu XX


Пинги стали ровнее и реже пропадают.

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

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

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




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

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