Высокая загрузка CPU на IPOE, ARP raw sockets?

IPoE related questions
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

По следам этой темы http://forum.nag.ru/forum/index.php?sho ... t&p=887226
Тогда поправили выедание ресурсов лишними сокетами для DHCP-релея.

Остается еще socket с ethertype=806(ARP) на каждый интерфейс, он по идее не должен давать загрузки?
да как-бы тоже не хорошо...
Возможно пора переделать это 'нехорошо'?
Загрузка CPU на машине с accel терминирующей vlan-per-user QinQ IPOE у меня нынче раза в 3 выше, чем у подобных же машин терминирующих PPPoE.
НАТа, нетфлоу или любых других ресурсоемких задач нет, фаервола нет. Шейпер HTB с хешем, максимально оптимизирован, выключение минимально влияет на загрузку.
Фактически тупой роутинг, на таких задачах подобное железо должно 10г пропускать не особо напрягаясь.
Но в реальности при 2500 сессий и 3Gbit in+out трафика имеем 60% загрузку всех ядер 6ти голового CPU L5639.

Статически создано ~6700 клиентских vlan.

Code: Select all

[root@ipoe1 ipoe]# cat /proc/net/ptype | more
Type Device      Function
0800          ip_rcv
0806 bond1.3003.1102 packet_rcv
0806 bond1.3006.1101 packet_rcv
0806 bond1.3003.1101 packet_rcv
...

Code: Select all

[root@ipoe1 ipoe]# cat /proc/net/ptype | wc -l
6611
Ну и попутно вопрос. Чем вообще занимается сам процесс accel? :)
Час пик давно позади, трафик минимален, сессий висит ~2k, но accel кушает 70% ядра.
Цифра эта прыгает, от 30 до 150%

Code: Select all

[root@ipoe1 ipoe]# top
top - 00:36:56 up 4 days, 21:06,  1 user,  load average: 0.63, 1.24, 1.37
Tasks: 255 total,   1 running, 254 sleeping,   0 stopped,   0 zombie
Cpu0  :  3.1%us,  7.2%sy,  0.0%ni, 72.3%id,  0.0%wa,  0.0%hi, 17.4%si,  0.0%st
Cpu1  :  4.1%us,  5.6%sy,  0.0%ni, 74.6%id,  0.0%wa,  0.0%hi, 15.7%si,  0.0%st
Cpu2  :  5.3%us,  6.3%sy,  0.0%ni, 70.5%id,  0.0%wa,  0.0%hi, 17.9%si,  0.0%st
Cpu3  :  3.0%us,  4.5%sy,  0.0%ni, 71.4%id,  0.0%wa,  0.0%hi, 21.1%si,  0.0%st
Cpu4  :  3.1%us,  5.6%sy,  0.0%ni, 68.2%id,  0.0%wa,  0.0%hi, 23.1%si,  0.0%st
Cpu5  :  2.6%us,  9.3%sy,  0.0%ni, 76.7%id,  0.0%wa,  0.0%hi, 11.4%si,  0.0%st
Mem:   6105716k total,  3497672k used,  2608044k free,   421224k buffers
Swap:  8191992k total,        0k used,  8191992k free,  1239196k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
14006 root      20   0  544m 120m 4428 S 74.7  2.0   5205:48 accel-pppd
 2015 named     20   0  608m 205m 5636 S  3.0  3.4 605:48.01 named
 2487 root      20   0  564m  40m 6176 S  2.5  0.7 234:42.16 perl
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by Dmitry »

согласен, я совсем забыл про этот хвост
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by Dmitry »

commit b073cf1e9e36b25f808b899f12a1382c2903d672
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

Спасибо, буду пробовать на стенде.
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

Падает.
В первый раз просто подвис, перестав реагировать на раздражители, еще 2 раза падал полностью, с генерацией .core(зачем-то собран release был).

Соберу дебаговый соберу, отловлю корку.
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

Тестируем на паре машин последнюю сборку в L2/vlan-per-user/vlan_monitor.

В данный момент все работает штатно
[root@IPoE2 etc]# ip link show | grep bond1 | wc -l
148
[root@IPoE2 etc]# cat /proc/net/ptype
Type Device Function
ALL vlan_pt_recv [ipoe]
0800 ip_rcv
0806 packet_rcv
0806 arp_rcv
00f8 dsa_switch_rcv
Last edited by KaYot on 18 Nov 2015, 18:11, edited 1 time in total.
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

Падает. Спустя час после запуска процесс повис.
Подключено 3 тестовые машины(слушается только тестовый влан) + vlan_mon слушает всю сеть создавая/удаляя интерфейсы, успел создать порядка 400шт.
Подключаюсь к висящему процессу gdb -p 3689
(gdb) bt
#0 0x00007f188027c535 in sigwait () from /lib64/libpthread.so.0
#1 0x00000000004262e4 in main (_argc=8, _argv=0x7ffed1d1dcb8) at /usr/src/git/accel-ppp-code/accel-pppd/main.c:335

(gdb) info threads
11 Thread 0x7f187d5bc700 (LWP 3690) 0x00007f188027863c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
10 Thread 0x7f187cdbb700 (LWP 3691) 0x00007f188027863c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
9 Thread 0x7f1880a8a700 (LWP 3695) 0x00007f188027b2e4 in __lll_lock_wait () from /lib64/libpthread.so.0
8 Thread 0x7f187c5ba700 (LWP 3696) 0x00007f188027b544 in __lll_robust_lock_wait () from /lib64/libpthread.so.0
7 Thread 0x7f187c4b9700 (LWP 3697) 0x00007f188027b2e4 in __lll_lock_wait () from /lib64/libpthread.so.0
6 Thread 0x7f187c1b6700 (LWP 3700) 0x00007f188027b2e4 in __lll_lock_wait () from /lib64/libpthread.so.0
5 Thread 0x7f187c0b5700 (LWP 3701) 0x00007f187f541f33 in epoll_wait () from /lib64/libc.so.6
4 Thread 0x7f187b8b4700 (LWP 3702) 0x00007f187f541f33 in epoll_wait () from /lib64/libc.so.6
3 Thread 0x7f187b0b3700 (LWP 3811) 0x00007f188027b544 in __lll_robust_lock_wait () from /lib64/libpthread.so.0
2 Thread 0x7f187c3b8700 (LWP 5466) 0x00007f188027b2e4 in __lll_lock_wait () from /lib64/libpthread.so.0
* 1 Thread 0x7f1880aab7e0 (LWP 3689) 0x00007f188027c535 in sigwait () from /lib64/libpthread.so.0

(gdb) thread apply all bt full
http://pastebin.com/BeVvPKYs
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by Dmitry »

вот чёрт, такая дурацкая ошибка
commit b5fee831eedf9ea8282aa35f12053c1b1ebaf29d
KaYot
Posts: 55
Joined: 25 Mar 2015, 10:54

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by KaYot »

Это конечно к данной теме отношения не имеет, но дебажить так дебажить.
1.9.0 с тем же конфигом простоял ночь, до 3к vlan поднимал-ложил. Но при accel-cmd shutdown удалил за минуту-две все интерфейсы и завис на каком-то ожидании.
http://pastebin.com/ZfhxLjWq
Или не завис а надо ждать еще дольше?
Dmitry
Администратор
Posts: 954
Joined: 09 Oct 2014, 10:06

Re: Высокая загрузка CPU на IPOE, ARP raw sockets?

Post by Dmitry »

да нет, не завис, но и ждать тут нечего
если не отвечает, то перезапуск :(
Post Reply