Jump to content
Калькуляторы

soft-router 36ГБит/с 4,3Мпакетов UPD: 9mpps

только что был достигнут новый уровень софтофорварда.

intel C602 + 2x Xeon E2670 + 2x Intel-520

 

Карточки рассажены на разные процессоры, но максимальная производительнасть достигнута, если все прерывания посадить на один физический CPU. HT отключен.

задействованы по одному порту от каждой сетевой: 2.2Mpps, 18Gbit/s

 

--net/eth4----net/eth5---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send|usr sys idl wai hiq siq
1137M 1141M:1091M 1104M:2228M 2245M|  0   0  99   0   0   1
1134M 1140M:1083M 1097M:2217M 2237M|  0   0  99   0   0   1
1141M 1148M:1100M 1113M:2241M 2261M|  0   0  99   0   0   1
1135M 1141M:1103M 1116M:2237M 2257M|  0   0  99   0   0   1
1138M 1145M:1092M 1105M:2230M 2250M|  0   0  99   0   0   1
1128M 1133M:1088M 1101M:2216M 2235M|  0   0  99   0   0   1
1138M 1143M:1095M 1107M:2232M 2250M|  0   0  98   0   0   2
1137M 1143M:1097M 1111M:2234M 2254M|  0   0  99   0   0   1
1136M 1142M:1102M 1115M:2238M 2257M|  0   0  98   0   0   1
1140M 1146M:1089M 1103M:2229M 2249M|  0   0  99   0   0   1
1140M 1147M:1097M 1111M:2238M 2258M|  0   0  99   0   0   1
1134M 1140M:1091M 1104M:2225M 2244M|  0   0  99   0   0   1
1138M 1145M:1087M 1101M:2226M 2246M|  0   0  99   0   0   1
1129M 1136M:1096M 1108M:2225M 2243M|  0   0  98   0   0   2
1136M 1142M:1095M 1108M:2231M 2250M|  0   0  98   0   0   

 

задействовали все 4 порта 2.6Mpps, 22Gbps

 

# ifstat -bzqi eth3,eth4,eth5,eth6 -T 0.2
      eth3                eth4                eth5                eth6               Total       
Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
5.67e+06  5.71e+06  5.28e+06  5.34e+06  5.41e+06  5.45e+06  5.16e+06  5.21e+06  2.15e+07  2.17e+07
5.65e+06  5.69e+06  5.18e+06  5.24e+06  5.55e+06  5.59e+06  5.26e+06  5.32e+06  2.16e+07  2.18e+07
5.77e+06  5.80e+06  5.17e+06  5.23e+06  5.64e+06  5.67e+06  5.21e+06  5.26e+06  2.18e+07  2.20e+07
5.76e+06  5.79e+06  5.11e+06  5.19e+06  5.66e+06  5.69e+06  5.23e+06  5.31e+06  2.18e+07  2.20e+07
5.64e+06  5.67e+06  5.14e+06  5.20e+06  5.56e+06  5.59e+06  5.14e+06  5.19e+06  2.15e+07  2.16e+07
5.63e+06  5.67e+06  5.10e+06  5.15e+06  5.66e+06  5.69e+06  5.12e+06  5.18e+06  2.15e+07  2.17e+07
5.47e+06  5.49e+06  5.16e+06  5.22e+06  5.48e+06  5.51e+06  5.14e+06  5.19e+06  2.13e+07  2.14e+07

# dstat -n -N eth3,eth4,eth5,eth6,total -c
--net/eth3----net/eth4----net/eth5----net/eth6---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send: recv  send: recv  send|usr sys idl wai hiq siq
  0     0 :   0     0 :   0     0 :   0     0 :   0     0 |  0   0  97   0   0   3
652M  660M: 629M  633M: 607M  615M: 650M  655M:2539M    - |  0   0  97   0   0   3
645M  654M: 627M  631M: 596M  604M: 637M  641M:2505M 2530M|  0   0  99   0   0   1
649M  657M: 646M  650M: 615M  622M: 660M  665M:2570M 2594M|  0   0  99   0   0   1
646M  654M: 659M  663M: 601M  608M: 661M  665M:2566M 2590M|  0   0  99   0   0   1
661M  669M: 652M  656M: 613M  621M: 668M  673M:2594M 2618M|  0   0  99   0   0   1
645M  653M: 643M  647M: 637M  645M: 648M  652M:   -  2596M|  0   0  99   0   0   1

 

Дропы есть, но не значительные. 23.6M/s на одном или 27,9M/s через рабочие два. Позже дадим больше нагрузку.

dmvy@dmvy:~$ wget -O /dev/null http://195.64.192.47/speedtest/random4000x4000.jpg
--2013-01-14 19:13:25--  http://195.64.192.47/speedtest/random4000x4000.jpg
Connecting to 195.64.192.47:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31625365 (30M) [image/jpeg]
Saving to: `/dev/null'

100%[========================================================================================================>] 31 625 365  23,6M/s   in 1,3s    

2013-01-14 19:13:26 (23,6 MB/s) - `/dev/null' saved [31625365/31625365]

dmvy@dmvy:~$ wget -O /dev/null http://195.64.192.47/speedtest/random4000x4000.jpg
--2013-01-14 19:19:44--  http://195.64.192.47/speedtest/random4000x4000.jpg
Connecting to 195.64.192.47:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31625365 (30M) [image/jpeg]
Saving to: `/dev/null'

100%[========================================================================================================>] 31 625 365  27,9M/s   in 1,1s    

2013-01-14 19:19:45 (27,9 MB/s) - `/dev/null' saved [31625365/31625365]

Как-нибудь сделаем тесты на одном CPU и еще покрутим настройки.

 

 

Проскачило 2.8Mpps 23Gbit/s

# ifstat -bzqi eth3,eth4,eth5,eth6 -T 0.1
      eth3                eth4                eth5                eth6               Total       
Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
5.44e+06  5.47e+06  5.70e+06  5.77e+06  5.89e+06  5.94e+06  5.85e+06  5.93e+06  2.29e+07  2.31e+07
5.44e+06  5.47e+06  5.76e+06  5.81e+06  6.04e+06  6.08e+06  5.85e+06  5.90e+06  2.31e+07  2.33e+07
5.24e+06  5.27e+06  5.66e+06  5.71e+06  5.97e+06  6.01e+06  5.82e+06  5.90e+06  2.27e+07  2.29e+07
5.22e+06  5.24e+06  5.58e+06  5.63e+06  5.80e+06  5.84e+06  5.91e+06  5.99e+06  2.25e+07  2.27e+07
5.29e+06  5.34e+06  5.70e+06  5.77e+06  6.00e+06  6.05e+06  5.78e+06  5.83e+06  2.28e+07  2.30e+07
5.37e+06  5.41e+06  5.52e+06  5.57e+06  5.97e+06  6.02e+06  5.78e+06  5.84e+06  2.26e+07  2.28e+07

--net/eth3----net/eth4----net/eth5----net/eth6---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send: recv  send: recv  send|usr sys idl wai hiq siq
  0     0 :   0     0 :   0     0 :   0     0 :   0     0 |  0   0  97   0   0   3
671M  675M: 665M  673M: 709M  713M: 721M  729M:2766M 2790M|  0   0  99   0   0   1
677M  681M: 703M  712M: 705M  710M: 723M  732M:2808M 2835M|  0   0  99   0   0   1
698M  703M: 705M  714M: 697M  701M: 722M  731M:   -  2849M|  0   0 100   0   0   1
690M  694M: 700M  709M: 708M  712M: 707M  715M:2804M 2831M|  0   0 100   0   0   0
672M  676M: 697M  705M: 713M  718M: 696M  704M:2778M    - |  0   0  99   0   0   1
672M  675M: 685M  694M: 712M  716M: 719M  728M:2788M 2813M|  0   0  98   0   0   1
691M  695M: 681M  689M: 713M  717M: 732M  741M:2817M 2842M|  0   0 100   0   0   0
722M  726M: 706M  713M: 732M  737M: 705M  714M:2864M 2890M|  0   0 100   0   0   0
690M  694M: 697M  705M: 715M  719M: 716M  725M:   -  2843M|  0   0  99   0   0   1
683M  687M: 701M  709M: 713M  718M: 708M  716M:2805M 2830M|  0   0  99   0   0   1
686M  689M: 702M  711M: 726M  731M: 708M  717M:2822M    - |  0   0  99   0   0   1
679M  683M: 703M  711M: 745M  750M: 705M  715M:2833M 2858M|  0   0  99   0   0   1
670M  674M: 713M  721M: 744M  750M: 701M  710M:2828M 2855M|  0   0  99   0   0   1
661M  665M: 716M  724M: 731M  736M: 720M  728M:2828M 2853M|  0   0  99   0   0   1
646M  650M: 713M  721M: 741M  746M: 707M  717M:2808M 2833M|  0   0 100   0   0   0

Share this post


Link to post
Share on other sites

Круто!

 

А трафик шейпится, или просто форвардинг?

Share this post


Link to post
Share on other sites

Круто!

 

А трафик шейпится, или просто форвардинг?

модуль для rate-limit с бурстом ядерный - он работает очень быстро - не грузит процессор. 3% добавит аккаутинг и все...

это был тест на форварде Debian 2.6.32.

Share this post


Link to post
Share on other sites

Пользуясь случаем спрошу.

Подскажите кто-то во FreeBSD что-то для аккаунтинга. Сейчас ng_netflow, но мне не требуется детальная статистика. Мне достаточно каунтить количество байт ин/аут по каждому IP и возможность это все экспортировать на удаленный сервер.

Ибо оверхед большой.

 

Спасибо!

Share this post


Link to post
Share on other sites

Как-нибудь сделаем тесты на одном CPU и еще покрутим настройки.

А что крутили из настроек, если не секрет ?

Share this post


Link to post
Share on other sites

Подскажите кто-то во FreeBSD что-то для аккаунтинга. Сейчас ng_netflow, но мне не требуется детальная статистика. Мне достаточно каунтить количество байт ин/аут по каждому IP и возможность это все экспортировать на удаленный сервер.

Ибо оверхед большой.

 

ng_ipacct в портах даёт аналог cisco ip accounting:

 

ipacctctl ... checkpoint # создать снапшот насчитанной статистики в памяти ядра с началом обсчета заново

ipacctctl ... show > log # вывести снапшот из памяти ядра в файл

ipacctctl ... clear # удалить снапшот

 

Полученный log - текстовый структурированный файл, можно обрабатывать чем угодно вплоть до прямой загрузки в MySQL через mysqlimport.

Два формата выводимых данных: ip_from ip_to packets bytes либо ip_from s_port ip_to d_port proto packets bytes.

 

Дока и куча примеров в комплекте.

Share this post


Link to post
Share on other sites

только что был достигнут новый уровень софтофорварда.

intel C602 + 2x Xeon E2670 + 2x Intel-520

 

Карточки рассажены на разные процессоры, но максимальная производительнасть достигнута, если все прерывания посадить на один физический CPU. HT отключен.

задействованы по одному порту от каждой сетевой: 2.2Mpps, 18Gbit/s

Новый уровень софторварда - это, например, то что сделал Intel в своем DPDK, где речь идет про ~100MPPS с userland routing на сходной софтовой платформе.

 

А единицы мегапакетов - это, извините, не уровень.

Вот, у нас например на более слабом 2x Xeon E5645 без HT с 11 очередями и одной Intel 82599 - на FreeBSD8 2.5MPPS 64байтными пакетами с включенным ipfw.

Share this post


Link to post
Share on other sites

Подскажите кто-то во FreeBSD что-то для аккаунтинга. Сейчас ng_netflow, но мне не требуется детальная статистика. Мне достаточно каунтить количество байт ин/аут по каждому IP и возможность это все экспортировать на удаленный сервер.

Ибо оверхед большой.

 

ng_ipacct в портах даёт аналог cisco ip accounting:

 

ipacctctl ... checkpoint # создать снапшот насчитанной статистики в памяти ядра с началом обсчета заново

ipacctctl ... show > log # вывести снапшот из памяти ядра в файл

ipacctctl ... clear # удалить снапшот

 

Полученный log - текстовый структурированный файл, можно обрабатывать чем угодно вплоть до прямой загрузки в MySQL через mysqlimport.

Два формата выводимых данных: ip_from ip_to packets bytes либо ip_from s_port ip_to d_port proto packets bytes.

 

Дока и куча примеров в комплекте.

 

Спасибо за ответ. Я когда-то его только и использовал, но при намного меньших нагрузках, чем сейчас.

По сути в первом случае разница с нетфлоу только в то, что не учитывает порты и номера протоколов.

 

Вы замечали выигрыш в производительность по сравнению с ng_netflow ?

 

Спасибо!

Share this post


Link to post
Share on other sites

О, как раз по теме, кто-то на практике пробовал netmap ?

 

With netmap, it takes as little as 60-65 clock cycles to move one packet between the user program and the wire. As an example, a single core running at 900 MHz can generate the 14.8 Mpps that saturate a 10 GigE interface. This is a 10-20x improvement over the use of a standard device driver.

 

С 9.1 можно без проблем в ядро собрать. И есть под него собранный ipfw и dummynet, в юзерспейсе работают.

 

И вот еще ссылочка : http://freebsd.1045724.n5.nabble.com/ipfw-meets-netmap-6-5-Mpps-in-userspace-td5734014.html

 

У меня руки не дошли пощупать, может заводил кто?

Share this post


Link to post
Share on other sites

О, как раз по теме, кто-то на практике пробовал netmap ?

 

With netmap, it takes as little as 60-65 clock cycles to move one packet between the user program and the wire. As an example, a single core running at 900 MHz can generate the 14.8 Mpps that saturate a 10 GigE interface. This is a 10-20x improvement over the use of a standard device driver.

 

С 9.1 можно без проблем в ядро собрать. И есть под него собранный ipfw и dummynet, в юзерспейсе работают.

 

И вот еще ссылочка : http://freebsd.1045724.n5.nabble.com/ipfw-meets-netmap-6-5-Mpps-in-userspace-td5734014.html

 

У меня руки не дошли пощупать, может заводил кто?

Мы планируем через пару месяцев начать смотреть и катить в продакшн. Кроме того, luigi@ как раз для юзерленда обещает сделать компилятор правил в нативный код.

Share this post


Link to post
Share on other sites

А в чём смысл тащить это в юзерленд?

(кроме упрощённой отладки и всяких генераторов мегапакетов/сек)

Чем оно лучше нетграфа?

Share this post


Link to post
Share on other sites

Вы замечали выигрыш в производительность по сравнению с ng_netflow ?

 

Я не использовал ng_netflow. Разница с ng_ipacct ещё и в том, что netflow сам решает, когда ему очищать статистику, а для ng_ipacct нужен cron job для этого и если снимать статистику из ядра часто (раз в 5 минут например, а агрегировать её уже потом в userland), то таблицы в ядре будут небольшими и поиск по ним (для увеличения нужного счетчика) быстрым.

Share this post


Link to post
Share on other sites

А что крутили из настроек, если не секрет ?

вот тоже такой вопрос интересует... ;-)

Share this post


Link to post
Share on other sites

А в чём смысл тащить это в юзерленд?

(кроме упрощённой отладки и всяких генераторов мегапакетов/сек)

Чем оно лучше нетграфа?

Цена/время разработки существенно снижается и этого, собственно, достаточно.

Кроме того, не надо думать ни про какую совместимость со старым кодом (а в роутинг, напомню, лезут еще и разные TCP и прочие протоколы, и вообще много-много завязок, развязывать которые - это человекогоды)

Нетграф решает вообще другую задачу. Как минимум там нет пакетной обработки, которая key point, и вообще это всего лишь часть айсберга (которую, впрочем, можно подумать про портировать в юзерленд тоже).

Share this post


Link to post
Share on other sites

из крутилок:

отключен conntrack

отключен route cache. роутингом занимаются L3-коммутаторы и бордер, так что используется модуль FAST FORWARD, чтобы даже не делать route lookup. еще будем делать тесты в L2 bridge.

 

в итоге в ПО мы никогда не упирались - тестировали только железо.

тесты на чипсете 5500 и 5520 заканчивались на 1.9Mpps на всю систему даже с двумя кртами (intel обещал примерно 1.8Mpps на карточку). Объяснили это ограничением в PCI-E v2

еще раньшие тесты с карточками PCI-E v1 и платформой intel 5100 заканчивались на 900kpps, как и оговаривал производитель карточки. разница шины PCI-E v1 и v2 как раз 2.5GT/s против 5GT/s на новой платформе.

 

На платформе intel c602 было новое усовершенствование - несколько независимых PCI-E v2 шин на каждый процессор. Но как показала практика два процессора не обязательно нужны. Подобный результат наверняка можно повторить на топовом core i7 (с архитекторой аналогичной xeon 2670) с двумя карточками.

Share this post


Link to post
Share on other sites
Кроме того, не надо думать ни про какую совместимость со старым кодом (а в роутинг, напомню, лезут еще и разные TCP и прочие протоколы, и вообще много-много завязок, развязывать которые - это человекогоды)

Плюнуть и начать всё с начала?)

Я думал над этим, когда нетмапа ещё не было, а я ковырялся в нетграфе и исходниках со своей IP+ARP нодой. Олдфаги будут явно против.

По поводу отладки - получение данных через дивертсокеты не сильно отличается от получения через нетграф, и можно также отлаживатся в юзерспейсе.

Share this post


Link to post
Share on other sites

Скажите пожалуйста, а в чем практическое применение данного решения если в нем нет l3 роутинга?

т.е. у вас какие функции выполняет данное железо?

Share this post


Link to post
Share on other sites
в итоге в ПО мы никогда не упирались - тестировали только железо.

Можно сравнить с тестами Луиджи.

Share this post


Link to post
Share on other sites

Скажите пожалуйста, а в чем практическое применение данного решения если в нем нет l3 роутинга?

т.е. у вас какие функции выполняет данное железо?

Ну получается полисер-бридж )

Share this post


Link to post
Share on other sites

Скажите пожалуйста, а в чем практическое применение данного решения если в нем нет l3 роутинга?

т.е. у вас какие функции выполняет данное железо?

контроль доступа, аккаунтинг, "шейпер".

 

в свое время перешли на policer/meter просто уменьшением длины очереди до 50кб.

Производительность системы позволяет на лету запускать tcpdump и собирать без потерь абонентские сессии при необходимости выявления вредоносной активности.

Share this post


Link to post
Share on other sites

перешагнули 3.1Mpps и 25Gbit

нагрузка растет - видимо подходим к полочке 3.6Mpps...

 

возможно сделаем еще тест с 3-мя карточками.

 

--net/eth3----net/eth4----net/eth5----net/eth6---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send: recv  send: recv  send|usr sys idl wai hiq siq
779M  773M: 768M  767M: 793M  792M: 743M  741M:3083M 3073M|  0   0  94   0   0   6
803M  803M: 760M  760M: 812M  811M: 760M  758M:3135M 3132M|  0   0  97   0   0   3
796M  796M: 785M  784M: 810M  810M: 755M  753M:   -     - |  0   0  98   0   0   2
780M  780M: 805M  805M: 815M  814M: 736M  733M:3137M 3132M|  0   0  98   0   0   2
771M  771M: 775M  774M: 830M  830M: 750M  749M:3126M 3123M|  0   0  95   0   0   5
788M  788M: 772M  772M: 812M  811M: 734M  731M:3107M 3102M|  0   0  95   0   0   5
788M  787M: 783M  782M: 805M  805M: 732M  730M:3107M 3104M|  0   0  94   0   0   6
780M  779M: 789M  788M: 817M  817M: 724M  722M:   -     - |  0   0  96   0   0   4
804M  803M: 787M  786M: 822M  821M: 727M  725M:3139M 3136M|  0   0  94   0   0   6
829M  828M: 776M  776M: 811M  811M: 728M  725M:3144M 3139M|  0   0  97   0   0   3
829M  828M: 794M  793M: 800M  799M: 770M  768M:3193M 3189M|  0   0  98   0   0   2
814M  813M: 808M  807M: 793M  793M: 763M  760M:3177M 3173M|  0   0  97   0   0   3
782M  781M: 798M  798M: 814M  814M: 740M  736M:   -     - |  0   0  94   0   0   6
779M  778M: 792M  791M: 791M  791M: 754M  752M:3116M 3112M|  0   0  92   0   0   8
781M  780M: 782M  782M: 832M  831M: 755M  753M:3150M 3146M|  0   0  95   0   0   5
792M  791M: 794M  794M: 824M  823M: 738M  735M:3148M 3142M|  0   0  94   0   0   6
805M  805M: 776M  776M: 828M  827M: 724M  722M:3133M 3130M|  0   0  95   0   0   5
775M  775M: 763M  762M: 847M  847M: 754M  752M:   -  3136M|  0   0  95   0   0   5
769M  769M: 793M  793M: 817M  816M: 732M  730M:3111M    - |  0   0  97   0   0   3
770M  769M: 772M  772M: 840M  839M: 733M  731M:3115M 3111M|  0   0  98   0   0   2

      eth3                eth4                eth5                eth6               Total       
Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
6.52e+06  6.52e+06  6.54e+06  6.54e+06  6.44e+06  6.44e+06  5.91e+06  5.90e+06  2.54e+07  2.54e+07
6.53e+06  6.52e+06  6.41e+06  6.40e+06  6.31e+06  6.30e+06  5.98e+06  5.96e+06  2.52e+07  2.52e+07
6.55e+06  6.54e+06  6.44e+06  6.44e+06  6.37e+06  6.36e+06  6.01e+06  6.00e+06  2.54e+07  2.53e+07
6.65e+06  6.65e+06  6.37e+06  6.37e+06  6.41e+06  6.40e+06  6.15e+06  6.14e+06  2.56e+07  2.56e+07
6.76e+06  6.75e+06  6.31e+06  6.30e+06  6.30e+06  6.29e+06  6.29e+06  6.28e+06  2.56e+07  2.56e+07
6.29e+06  6.28e+06  6.35e+06  6.35e+06  6.25e+06  6.25e+06  6.16e+06  6.12e+06  2.51e+07  2.50e+07
6.54e+06  6.53e+06  6.43e+06  6.42e+06  6.32e+06  6.31e+06  6.24e+06  6.23e+06  2.55e+07  2.55e+07
6.61e+06  6.61e+06  6.54e+06  6.53e+06  6.43e+06  6.43e+06  6.15e+06  6.13e+06  2.57e+07  2.57e+07
6.51e+06  6.51e+06  6.53e+06  6.53e+06  6.34e+06  6.34e+06  6.06e+06  6.05e+06  2.54e+07  2.54e+07
6.36e+06  6.35e+06  6.46e+06  6.45e+06  6.48e+06  6.47e+06  5.98e+06  5.96e+06  2.53e+07  2.52e+07
6.17e+06  6.17e+06  6.41e+06  6.40e+06  6.61e+06  6.59e+06  5.90e+06  5.89e+06  2.51e+07  2.50e+07
6.35e+06  6.35e+06  6.37e+06  6.37e+06  6.64e+06  6.66e+06  5.99e+06  5.92e+06  2.54e+07  2.53e+07

top - 17:53:53 up  1:09,  5 users,  load average: 0.50, 0.22, 0.12
Tasks: 237 total,   2 running, 235 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 96.6%id,  0.0%wa,  0.0%hi,  3.2%si,  0.0%st
Mem:  33239060k total,   639512k used, 32599548k free,     5696k buffers
Swap:  7812088k total,        0k used,  7812088k free,    18232k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                              
  51 root      20   0     0    0    0 S    3  0.0   0:44.59 events/0                                                                             
  19 root      20   0     0    0    0 S    3  0.0   0:05.74 ksoftirqd/5                                                                          
   4 root      20   0     0    0    0 S    3  0.0   0:11.44 ksoftirqd/0                                                                          
  16 root      20   0     0    0    0 S    3  0.0   0:06.42 ksoftirqd/4                                                                          
  13 root      20   0     0    0    0 S    2  0.0   0:06.86 ksoftirqd/3                                                                          
  10 root      20   0     0    0    0 S    2  0.0   0:05.34 ksoftirqd/2                                                                          
   7 root      20   0     0    0    0 S    1  0.0   0:07.00 ksoftirqd/1                                                                          
  22 root      20   0     0    0    0 S    1  0.0   0:05.00 ksoftirqd/6                                                                          
  25 root      20   0     0    0    0 S    1  0.0   0:02.38 ksoftirqd/7                                                                          
2894 dmitry    20   0  8396 1500  972 S    1  0.0   0:02.78 sshd                                                                                 
12729 root      20   0  3884 1024  840 S    1  0.0   0:01.97 ifstat                                                                               
  52 root      20   0     0    0    0 S    0  0.0   0:06.73 events/1                                                                             
9537 dmitry    20   0  8396 1504  972 S    0  0.0   0:01.09 sshd                                                                                 
9547 root      20   0  8404 2892 2356 S    0  0.0   0:01.65 sshd                                                                                 
12728 root      20   0  9148 5084 2352 S    0  0.0   0:00.93 python                                                                               
12844 dmitry    20   0  2468 1264  900 S    0  0.0   0:00.53 top                                                                                  
12846 root      20   0  3884 1020  840 S    0  0.0   0:00.07 ifstat                                                                               
   1 root      20   0  2036  752  660 S    0  0.0   0:02.67 init                                                                                 
   2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                             
   3 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0                                                                          
   5 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0                                                                           
   6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/1

Share this post


Link to post
Share on other sites

3.4Mpps и 28Gbit

 

еще будем пробовать отключать FDir в драйвере intel.

 

--net/eth3----net/eth4----net/eth5----net/eth6---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send: recv  send: recv  send|usr sys idl wai hiq siq
832M  832M: 826M  826M: 922M  922M: 788M  786M:3368M 3365M|  0   0  73   0   0  27
838M  837M: 846M  846M: 903M  902M: 802M  800M:   -  3385M|  0   0  76   0   0  24
817M  817M: 859M  857M: 893M  892M: 810M  808M:3379M    - |  0   0  77   0   0  23
827M  827M: 857M  857M: 880M  879M: 802M  800M:3367M 3362M|  0   0  51   0   0  49
818M  816M: 869M  868M: 877M  874M: 739M  736M:3302M 3294M|  0   0  66   0   0  34
830M  829M: 884M  883M: 829M  827M: 744M  742M:3287M 3280M|  0   0  76   0   0  24
879M  879M: 828M  826M: 756M  753M: 789M  787M:   -  3244M|  0   0  81   0   0  19
826M  821M: 799M  793M: 827M  825M: 744M  739M:3196M    - |  0   0  82   0   0  18
817M  816M: 823M  822M: 891M  889M: 756M  753M:3287M 3280M|  0   0  83   0   0  16
855M  854M: 874M  873M: 873M  868M: 755M  752M:3356M 3347M|  0   0  89   0   0  11
872M  869M: 845M  844M: 915M  918M: 782M  780M:   -  3411M|  0   0  83   0   0  16
871M  870M: 838M  837M: 931M  929M: 781M  778M:3420M 3414M|  0   0  67   0   0  33
811M  810M: 857M  856M: 914M  913M: 732M  729M:3314M    - |  0   0  79   0   0  21
817M  812M: 837M  836M: 907M  905M: 714M  710M:3275M 3263M|  0   0  80   0   0  20
764M  762M: 843M  842M: 896M  896M: 715M  711M:3218M 3211M|  0   0  78   0   0  22
797M  795M: 852M  849M: 863M  861M: 724M  721M:   -  3225M|  0   0  78   0   0  21
795M  793M: 877M  877M: 905M  903M: 733M  730M:3310M 3303M|  0   0  86   0   0  14
809M  808M: 866M  866M: 885M  882M: 773M  771M:3333M    - |  0   0  91   0   0   9
843M  841M: 859M  857M: 859M  856M: 734M  730M:3294M 3285M|  0   0  90   0   0  10
847M  846M: 841M  841M: 901M  900M: 777M  774M:3366M 3360M|  0   0  66   0   0  34

      eth3                eth4                eth5                eth6               Total       
Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
6.81e+06  6.80e+06  7.41e+06  7.40e+06  7.56e+06  7.55e+06  6.46e+06  6.43e+06  2.82e+07  2.82e+07
6.79e+06  6.79e+06  7.36e+06  7.35e+06  7.71e+06  7.71e+06  6.49e+06  6.47e+06  2.84e+07  2.83e+07
6.83e+06  6.82e+06  7.51e+06  7.50e+06  7.75e+06  7.74e+06  6.45e+06  6.44e+06  2.85e+07  2.85e+07
6.84e+06  6.84e+06  7.29e+06  7.28e+06  7.81e+06  7.80e+06  6.46e+06  6.45e+06  2.84e+07  2.84e+07
6.64e+06  6.63e+06  7.22e+06  7.22e+06  7.88e+06  7.88e+06  6.57e+06  6.52e+06  2.83e+07  2.82e+07
6.77e+06  6.76e+06  7.25e+06  7.25e+06  7.80e+06  7.78e+06  6.57e+06  6.58e+06  2.84e+07  2.84e+07
6.83e+06  6.82e+06  7.22e+06  7.20e+06  7.80e+06  7.80e+06  6.56e+06  6.54e+06  2.84e+07  2.84e+07
7.35e+06  7.35e+06  7.43e+06  7.43e+06  6.53e+06  6.53e+06  6.73e+06  6.72e+06  2.81e+07  2.80e+07
7.28e+06  7.28e+06  7.30e+06  7.30e+06  6.93e+06  6.93e+06  6.65e+06  6.64e+06  2.82e+07  2.81e+07
7.16e+06  7.16e+06  7.32e+06  7.32e+06  7.13e+06  7.12e+06  6.83e+06  6.81e+06  2.84e+07  2.84e+07
7.07e+06  7.06e+06  7.21e+06  7.20e+06  7.34e+06  7.34e+06  6.89e+06  6.87e+06  2.85e+07  2.85e+07
6.86e+06  6.86e+06  7.27e+06  7.27e+06  7.56e+06  7.56e+06  6.38e+06  6.35e+06  2.81e+07  2.80e+07

 

еще раз поигрались с распределением прерываний (раскинули на 2 процессора) + обновили драйвер карточки и фокус удался. 3,6Mpps и 29Gbit без особой загрузки. потери пренебрежительно малы <0.1% по mtr -i 0.1

 

--net/eth3----net/eth4----net/eth5----net/eth6---net/total- ----total-cpu-usage----
recv  send: recv  send: recv  send: recv  send: recv  send|usr sys idl wai hiq siq
870M  868M: 866M  865M: 878M  874M: 891M  888M:3505M 3495M|  0   0  96   0   0   4
876M  873M: 847M  846M: 866M  866M: 870M  864M:3459M 3448M|  0   0  94   0   0   5
860M  858M: 864M  863M: 932M  930M: 868M  865M:3524M    - |  0   0  93   0   0   7
879M  879M: 857M  856M: 901M  899M: 870M  868M:3507M 3502M|  0   0  97   0   0   3
890M  889M: 872M  871M: 902M  901M: 880M  877M:3544M 3538M|  0   0  93   0   0   7
886M  885M: 871M  870M: 900M  899M: 874M  872M:3530M 3525M|  0   0  92   0   0   8
906M  903M: 883M  883M: 910M  909M: 896M  894M:3595M 3589M|  0   0  95   0   0   5
872M  873M: 893M  892M: 916M  914M: 894M  892M:3575M 3571M|  0   0  95   0   0   4
886M  886M: 883M  883M: 934M  933M: 883M  881M:   -  3582M|  0   0  93   0   0   7
881M  880M: 873M  871M: 914M  913M: 893M  891M:3562M 3556M|  0   0  96   0   0   4
870M  868M: 837M  833M: 912M  911M: 889M  884M:3508M 3497M|  0   0  97   0   0   3
894M  894M: 875M  874M: 921M  921M: 888M  886M:3579M 3575M|  0   0  97   0   0   3
897M  895M: 873M  872M: 943M  939M: 901M  897M:3613M 3604M|  0   0  94   0   0   6
864M  861M: 854M  853M: 900M  901M: 876M  873M:3493M 3488M|  0   0  93   0   0   7
884M  883M: 873M  872M: 942M  940M: 889M  887M:3589M 3583M|  0   0  96   0   0   4
886M  886M: 843M  841M: 927M  927M: 887M  884M:3543M 3538M|  0   0  97   0   0   3
919M  919M: 841M  840M: 933M  931M: 888M  885M:3582M 3575M|  0   0  90   0   0   9
899M  897M: 857M  856M: 947M  947M: 900M  898M:3603M 3599M|  0   0  93   0   0   7
891M  891M: 874M  873M: 956M  952M: 902M  899M:3623M 3614M|  0   0  95   0   0   5
890M  889M: 870M  870M: 920M  922M: 881M  876M:3561M 3557M|  0   0  97   0   0   3
863M  861M: 870M  869M: 927M  927M: 899M  897M:3559M 3554M|  0   0  95   0   0   5
889M  889M: 862M  861M: 907M  907M: 896M  889M:3555M 3546M|  0   0  96   0   0   4
868M  867M: 855M  855M: 926M  925M: 890M  887M:   -  3534M|  0   0  94   0   0   6
883M  883M: 854M  849M: 915M  913M: 909M  907M:3562M 3552M|  0   0  97   0   0   3

      eth3                eth4                eth5                eth6               Total       
Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out   Kbps in  Kbps out
7.25e+06  7.25e+06  7.03e+06  7.02e+06  7.78e+06  7.77e+06  7.54e+06  7.52e+06  2.96e+07  2.96e+07
7.15e+06  7.15e+06  6.94e+06  6.94e+06  7.77e+06  7.76e+06  7.58e+06  7.56e+06  2.94e+07  2.94e+07
7.19e+06  7.18e+06  6.97e+06  6.97e+06  7.72e+06  7.71e+06  7.50e+06  7.49e+06  2.94e+07  2.93e+07
7.23e+06  7.23e+06  6.78e+06  6.83e+06  7.65e+06  7.65e+06  7.65e+06  7.62e+06  2.93e+07  2.93e+07
7.24e+06  7.23e+06  6.69e+06  6.69e+06  7.61e+06  7.61e+06  7.68e+06  7.65e+06  2.92e+07  2.92e+07
7.39e+06  7.38e+06  6.70e+06  6.70e+06  7.64e+06  7.63e+06  7.85e+06  7.77e+06  2.96e+07  2.95e+07
6.98e+06  6.98e+06  6.84e+06  6.83e+06  7.94e+06  7.94e+06  7.85e+06  7.93e+06  2.96e+07  2.97e+07
7.23e+06  7.18e+06  6.71e+06  6.70e+06  7.76e+06  7.75e+06  7.80e+06  7.72e+06  2.95e+07  2.94e+07
6.97e+06  6.97e+06  6.88e+06  6.90e+06  7.63e+06  7.62e+06  7.71e+06  7.65e+06  2.92e+07  2.91e+07
7.08e+06  7.07e+06  6.97e+06  6.96e+06  7.61e+06  7.61e+06  7.70e+06  7.73e+06  2.94e+07  2.94e+07
7.28e+06  7.28e+06  6.95e+06  6.94e+06  7.65e+06  7.64e+06  7.70e+06  7.68e+06  2.96e+07  2.95e+07
7.22e+06  7.22e+06  6.61e+06  6.61e+06  7.42e+06  7.41e+06  7.62e+06  7.61e+06  2.89e+07  2.88e+07
7.17e+06  7.16e+06  6.79e+06  6.78e+06  7.52e+06  7.51e+06  7.74e+06  7.71e+06  2.92e+07  2.92e+07
7.41e+06  7.40e+06  6.89e+06  6.88e+06  7.39e+06  7.34e+06  7.71e+06  7.70e+06  2.94e+07  2.93e+07

top - 18:35:24 up  1:51,  5 users,  load average: 0.17, 0.44, 0.51
Tasks: 237 total,   1 running, 236 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 96.0%id,  0.0%wa,  0.0%hi,  3.9%si,  0.0%st
Mem:  33239060k total,   643972k used, 32595088k free,      592k buffers
Swap:  7812088k total,        0k used,  7812088k free,    16092k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                              
  51 root      20   0     0    0    0 S    1  0.0   3:14.12 events/0                                                                             
13470 root      20   0  3884 1028  840 S    1  0.0   0:00.42 ifstat                                                                               
  37 root      20   0     0    0    0 S    1  0.0   0:00.42 ksoftirqd/11                                                                         
  60 root      20   0     0    0    0 S    1  0.0   0:01.04 events/9                                                                             
13016 root      20   0  9144 5080 2352 S    1  0.0   0:06.71 python                                                                               
13469 dmitry    20   0  2468 1264  900 S    1  0.0   0:01.58 top                                                                                  
  28 root      20   0     0    0    0 S    0  0.0   0:00.68 ksoftirqd/8                                                                          
  43 root      20   0     0    0    0 S    0  0.0   0:00.35 ksoftirqd/13                                                                         
2894 dmitry    20   0  8396 1500  972 S    0  0.0   0:04.66 sshd                                                                                 
13026 root      20   0  9140 5068 2352 S    0  0.0   0:02.60 python                                                                               
13471 root      20   0  2468 1264  900 R    0  0.0   0:00.12 top                                                                                  
   1 root      20   0  2036  752  660 S    0  0.0   0:02.70 init                                                                                 
   2 root      20   0     0    0    0 S    0  0.0   0:00.00 kthreadd                                                                             
   3 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0                                                                          
   4 root      20   0     0    0    0 S    0  0.0   6:30.04 ksoftirqd/0                                                                          
   5 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/0                                                                           
   6 root      RT   0     0    0    0 S    0  0.0   0:00.01 migration/1                                                                          
   7 root      20   0     0    0    0 S    0  0.0   3:27.04 ksoftirqd/1                                                                          
   8 root      RT   0     0    0    0 S    0  0.0   0:00.00 watchdog/1                                                                           
   9 root      RT   0     0    0    0 S    0  0.0   0:00.02 migration/2                                                                          
  10 root      20   0     0    0    0 S    0  0.0   2:21.49 ksoftirqd/2

Share this post


Link to post
Share on other sites

И как теперь прибиты прерывания?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this