Jump to content

Распределение прерываний сетевой карты


Recommended Posts

Помогите решить проблему. Есть сервер: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz,  Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01). 

На нём вращается биллинг, шейпер. За ним около 1к клиентов (pptp). В моменты пик (а то и ранее), очень высокий уровень system interrupts и не равномерно по ядрам. Оптимизации по типу smp_afinity, ethtool -K -G и так далее выполнены, но эффекта особого не дают. На сетевой карте, наблюдаются RX mcast потери. Сетевуха одна, на ней вращается порядка 20 вланов. 

Edited by Sashok1985
Link to post
Share on other sites

82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01).



На нём вращается биллинг, шейпер. За ним около 1к клиентов (pptp). В моменты пик (а то и ранее), очень высокий уровень system interrupts и не равномерно по ядрам. Оптимизации по типу smp_afinity, ethtool -K -G и так далее выполнены, но эффекта особого не дают. На сетевой карте, наблюдаются RX mcast потери. Сетевуха одна, на ней вращается порядка 20 вланов.

Вот нет, чтобы брать маломощные тазики и спокойно себе масштабироваться горизонтально по мере роста с минимум проблем и забот, надо было лезть в 10 гигабит, причем на самом говняном сетевом стэке в мире.

Link to post
Share on other sites
45 минут назад, KaYot сказал:

В конце концов окажется что под pptp имелось в виду pppoe.

да лучше PPPoE чем PPTP, который уже умер

Link to post
Share on other sites
2 часа назад, KaYot сказал:

В конце концов окажется что под pptp имелось в виду pppoe.

))) опечатался. pppoe

 

3 часа назад, masters сказал:

Что за ОС? 

Irqbalance попробуйте, если не фря.

Дрова интела последние поставьте. 

Centos 7. Irqbalance в пики не справляется. Одно ядро всеравно сваливается в полку.

Edited by Sashok1985
Link to post
Share on other sites
6 минут назад, Sashok1985 сказал:

))) опечатался. pppoe

 

Centos 7. Irqbalance в пики не справляется. Одно ядро всеравно сваливается в полку.

PPPoE не раскидывается по ядрам, так и должно быть. Странно что не загуглили, таких тем сотни на каждом форуме..

RPS поможет вам.

Link to post
Share on other sites
6 минут назад, Sashok1985 сказал:

))) опечатался. pppoe

 

Centos 7. Irqbalance в пики не справляется. Одно ядро всеравно сваливается в полку.

 

Не удивительно, раз PPPoE. Очереди у Вас нормально по ядрам раскидываются. Проблема в том, что интеловские драйвера насыпают все PPPoE пакеты в одну очередь, т.к. не видят в них IP. Вам надо раскидать их по очередям для начала.

Link to post
Share on other sites
В 16.03.2018 в 23:08, KaYot сказал:

PPPoE не раскидывается по ядрам, так и должно быть. Странно что не загуглили, таких тем сотни на каждом форуме..

RPS поможет вам.

Оптимизации по типу smp_afinity, ethtool -K -G и так далее выполнены, но эффекта особого не дают. В том числе "/sys/class/net/eth0/queues/rx-0/rps_cpus"  также не дают ничего толкового. Как бы не распределял, одно ядро всегда почти в полку.

В 16.03.2018 в 23:11, masters сказал:

 

Не удивительно, раз PPPoE. Очереди у Вас нормально по ядрам раскидываются. Проблема в том, что интеловские драйвера насыпают все PPPoE пакеты в одну очередь, т.к. не видят в них IP. Вам надо раскидать их по очередям для начала.

Уточните пожалуйста, что вы имеете в виду? Раскидать по очередям. smp_afinity и rps_cpus или что-то ещё?

Link to post
Share on other sites

Проверьте собран ли pppoe с поддержкой кернел моде? И выведите нат на отдельную машинку от pppoe, удивитесь на сколько много у вас появится свободных ресурсов на обеих.

Link to post
Share on other sites

i7-3770 - это 4 процессора ( без ГипперТрединга ), 10г на ней шуршать будет, вот только я не знаю, выжмите ли вы с неё все.

желательно 8

 

 

21 минуту назад, graysilver сказал:

Проверьте собран ли pppoe с поддержкой кернел моде? И выведите нат на отдельную машинку от pppoe, удивитесь на сколько много у вас появится свободных ресурсов на обеих.

 

это на какой ОС?

 

 

 

83d3a530-d708-49a8-8712-c72214b18dca.png

Edited by pashaumka
Link to post
Share on other sites
В 16.03.2018 в 23:11, masters сказал:

 

Не удивительно, раз PPPoE. Очереди у Вас нормально по ядрам раскидываются. Проблема в том, что интеловские драйвера насыпают все PPPoE пакеты в одну очередь, т.к. не видят в них IP. Вам надо раскидать их по очередям для начала.

подскажи, как... сам хочу перепроверить

Link to post
Share on other sites
3 hours ago, pashaumka said:

это на какой ОС?

Linux

Если включено, то у скорее всего у вас проблема через частое переключение между задачами. Вынос ната отдельно от браса в нашем случаи освободил 70% ресурсов.

Link to post
Share on other sites
8 минут назад, graysilver сказал:

Linux

Если включено, то у скорее всего у вас проблема через частое переключение между задачами. Вынос ната отдельно от браса в нашем случаи освободил 70% ресурсов.

 

так как разнести прерывания для PPPoE по очередям?

Link to post
Share on other sites
В 16.03.2018 в 23:08, KaYot сказал:

RPS поможет вам.

 

1 минуту назад, pashaumka сказал:

так как разнести прерывания для PPPoE по очередям?

 

Link to post
Share on other sites
16 минут назад, pashaumka сказал:

 

так как разнести прерывания для PPPoE по очередям?

сами прерывания - никак.

а вот вынести оработку из контекста прерывания в воркеры - RPS.
 

echo 0f >/sys/class/net/eth1/queues/rx-0/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-1/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-2/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-3/rps_cpus

ессно, отключить HT (от него в роутинге только вред - кеш вымывает) и задать 4 очереди.

Link to post
Share on other sites
4 минуты назад, NiTr0 сказал:

сами прерывания - никак.

а вот вынести оработку из контекста прерывания в воркеры - RPS.
 


echo 0f >/sys/class/net/eth1/queues/rx-0/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-1/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-2/rps_cpus
echo 0f >/sys/class/net/eth1/queues/rx-3/rps_cpus

ессно, отключить HT (от него в роутинге только вред - кеш вымывает) и задать 4 очереди.

 

ну у меня так и есть

 

#Enable Receive Packet Steering (RPS)
/bin/echo ff > /sys/class/net/eth2/queues/rx-0/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-1/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-2/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-3/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-4/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-5/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-6/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-7/rps_cpus

Link to post
Share on other sites

ну то да, все пакеты будут падать в одну очередь прерывания, но по ядрам нагрузка будет размазываться равномерно.

Link to post
Share on other sites
2 часа назад, pashaumka сказал:

 

ну у меня так и есть

 

#Enable Receive Packet Steering (RPS)
/bin/echo ff > /sys/class/net/eth2/queues/rx-0/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-1/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-2/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-3/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-4/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-5/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-6/rps_cpus
/bin/echo ff > /sys/class/net/eth2/queues/rx-7/rps_cpus

А почему Вы указываете маску процессора (ff) на все ядра? Какой тогда смысл от такого разброса? 

Link to post
Share on other sites
19 минут назад, Sashok1985 сказал:

А почему Вы указываете маску процессора (ff) на все ядра? Какой тогда смысл от такого разброса? 

никогда не задумывался...   чесслово

быть кто-то подскажет, как правильнее?

01

02

04

08

10

20

40

80

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By hardware_all
      Продам  Ethernet Network Adapter  Intel X520-SR2 10GB 2ports  (E10G42BFSR)
      PCI Express x 8
      2 Ports x 10Gbps
      Product Code  E10G42BFSR
      Low Profile
      Без SFP's
       
      600грн
       




    • By fikuronima
      Intel® Xeon® Processor X5450
      12M Cache, 3.00 GHz, 1333 MHz FSB
       
      Сокет -771.
      Готовый для установки в сокет 775. Переходник наклеен, пропилы сделаны. 
      Цена - 499 грн.
       


    • By kolomiets
      Продано
       
      Сервер Intel (SR2600URBRP)
      Процесор: Intel Quad-Core Xeon E5520. 2.26 ГГц
      Привод: DVD RW samsung SN-S083C
      Оперативная память: DIMM DDR3 4 GB 1333 MHz x 3 = 12Gb
      Цена 1500$, торг
      тел. 063930###2 Константин
    • By Гриша
      Продам SFP:
      SFP+ 10G 1310 20km HUAWEI - 1шт
      SFP+ 10G 1310 20km HUAWEI - 1шт
      SFP+ 10G 1310 20km HUAWEI - 1шт
      SFP+ 10G 1310 20km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 10G 1310 10km HUAWEI - 1шт
      SFP+ 1G 1310 WDM 10km 6COM - 1шт
      SFP 1G 850nm 300m CISCO - 1шт
      SFP 1G 850nm 300m CISCO - 1шт
      SFP+ 10G 850nm 300m INTEL - 1шт
      SFP+ 10G 850nm 300m INTEL - 1шт
      SFP+ 10G 850nm 300m INTEL - 1шт
       
      Ціна, фото по посиланню: 
      https://docs.google.com/spreadsheets/d/1qgYDF0iqjyv2IG6wO5O0O4fYSllWILm1Pj4khu_WCBo/edit#gid=0
      Торг доречний
    • By rocker_ilko
      продам мережеві карти. Є з низькопрофільною планкою і з стандартною. 
       
      HP nc365tIntel, 10/100/1000, 4порта, PCI-E    550грн
      HP 361t, Intel, 10/100/1000, 2порта, PCI-E      1100грн
      Intel I350-t2, Intel, 2порта, PCI-E                      550грн
      HP nc375tIntel, 10/100/1000, 4порта, PCI-E    550грн
      HP nc364tIntel, 10/100/1000, 4порта, PCI-E    550грн
      Intel ET DualIntel, 10/100/1000, 2порта, PCI-E      550грн
      HP 10GB Ethernet 2-Port 530T, HP, 10/100/1000/10000, 2порта, PCI-E   1100грн
      Intel ET QuadIntel, 10/100/1000, 4порта, PCI-E         1100грн    
      Intel I350-t4, Intel, 4, PCI-E    1100грн
       
×
×
  • Create New...