10 gbit nic

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
1181

Добрый день, есть такие погрешности в роте сетевой карты Supermicro AOC-STGN-I2S 10gbit.

При работе с nginx с flv все хорошо сетевая карта работает вплоть до 2 гигабит, выше трафика не было пока что.

Но как только начинается закачка торента к примеру через rtorent или transmission-daemon (200-300 мегабит нагрузка), то сетевая карта просто обрывает сеть и в логах ничего не пишет, помогает только рестарт сетевой карты.

ОС дебиан последняя версия, драйвера меняли ноль по массе.

Буду рад любым идеям как решить данную задачу.

Безлимитный хостинг (https://oshq.ru/unlimhost.html) в DE,NL,UA,RU от 0.5$. VPS в России (https://oshq.ru/ru_vps.html) от 350 рублей. Аренда серверов во Франции (https://oshq.ru/serverf.html) от 990 рублей (15 евро)
Andron_buton
На сайте с 19.07.2007
Offline
245
#1

Angelys, для начала желательно узнать бы, на каком чипе карта

lspci | grep Eth

А там уже можно будет что-то говорить. Я пользовался 4-мя разными моделями разных вендоров, некоторые ньюансы/баги карточек знаю.

Нашел, 82599ES. Как выглядит

cat /proc/interrupts

?

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#2
Andron_buton:
Angelys, для начала желательно узнать бы, на каком чипе карта

А там уже можно будет что-то говорить. Я пользовался 4-мя разными моделями разных вендоров, некоторые ньюансы/баги карточек знаю.

Нашел, 82599ES. Как выглядит
?

Верно, этот чип.

CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 367 297 351 330 327 314 319 319 IO-APIC-edge timer
1: 0 0 0 0 0 1 0 1 IO-APIC-edge i8042
6: 0 1 0 0 1 0 1 0 IO-APIC-edge floppy
8: 0 0 0 1 0 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
12: 1 1 2 0 0 0 0 0 IO-APIC-edge i8042
21: 0 0 0 0 1 1 0 0 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb6
22: 0 0 0 0 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb5
23: 304 375 321 327 315 336 314 301 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4
24: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
25: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
26: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
27: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
28: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
29: 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
33: 274425528 274645516 274791349 274757871 274195913 274394122 274640162 274428533 PCI-MSI-edge eth0-rx-0
34: 270803421 270495886 270883102 270894477 270578160 270314981 270581541 270821472 PCI-MSI-edge eth0-rx-1
35: 257333703 257372611 257556028 257751651 257253257 257409002 257302526 257524076 PCI-MSI-edge eth0-rx-2
36: 265302425 265183576 265730394 265465772 265389482 265185551 265402987 265301600 PCI-MSI-edge eth0-rx-3
37: 269575818 269682029 269861542 270094951 269611091 269846310 269874381 269876020 PCI-MSI-edge eth0-rx-4
38: 269499730 269179778 269886800 269656255 269664571 269344829 269583140 269696177 PCI-MSI-edge eth0-rx-5
39: 265923299 265667006 266377272 266529797 266165146 266187970 266094300 266385425 PCI-MSI-edge eth0-rx-6
40: 265243857 265330754 266067613 265916057 265862108 265758634 265914737 265798836 PCI-MSI-edge eth0-rx-7
41: 93516788 185077380 315277932 122958115 327648197 146655488 242926261 106475129 PCI-MSI-edge eth0-tx-0
42: 183394809 91715693 121216281 312980758 145334596 325536719 104625089 241083647 PCI-MSI-edge eth0-tx-1
43: 115828230 313174057 88162575 178191099 100525035 237288397 324230829 140022232 PCI-MSI-edge eth0-tx-2
44: 314541049 118131282 180058399 90933826 238731378 102956537 142472256 326275111 PCI-MSI-edge eth0-tx-3
45: 103748596 240132706 325456848 143848385 92202886 181993406 313406815 120475588 PCI-MSI-edge eth0-tx-4
46: 239920623 103446406 143991075 325323695 181777262 91907376 120306253 313173882 PCI-MSI-edge eth0-tx-5
47: 140295787 328163277 102601112 238587581 117923460 314657839 90155675 179404114 PCI-MSI-edge eth0-tx-6
48: 328365808 140445685 238349831 102352679 314341836 117716788 179193016 89911813 PCI-MSI-edge eth0-tx-7
49: 114 108 126 115 121 120 112 122 PCI-MSI-edge eth0:lsc
68: 15204278 15216550 15071978 15062122 15171636 15166323 15192859 15190834 PCI-MSI-edge ahci
NMI: 0 0 0 0 0 0 0 0 Non-maskable interrupts
LOC: 128858812 105678999 98919669 95988576 95462550 94291063 90706424 90204134 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 0 0 0 0 Performance monitoring interrupts
PND: 0 0 0 0 0 0 0 0 Performance pending work
RES: 2656552 2614228 2723977 2675645 2622105 2612779 2700576 2660662 Rescheduling interrupts
CAL: 23771918 23524428 8462 8448 22524217 21298890 8460 8487 Function call interrupts
TLB: 265484 276870 483962 418341 280677 253020 456405 420860 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 2579 2579 2579 2579 2579 2579 2579 2579 Machine check polls
ERR: 0
MIS: 0
Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#3

Под сентосом 6 запустил систему все ок. Известный админ с сего форума предложил что дело в Яндре дебиана

yesRuslik
На сайте с 08.02.2009
Offline
178
#4
Angelys:
Добрый день, есть такие погрешности в роте сетевой карты Supermicro AOC-STGN-I2S 10gbit.
При работе с nginx с flv все хорошо сетевая карта работает вплоть до 2 гигабит, выше трафика не было пока что.
Но как только начинается закачка торента к примеру через rtorent или transmission-daemon (200-300 мегабит нагрузка), то сетевая карта просто обрывает сеть и в логах ничего не пишет, помогает только рестарт сетевой карты.
ОС дебиан последняя версия, драйвера меняли ноль по массе.
Буду рад любым идеям как решить данную задачу.

Первым делом чтобы раздавать на 10Г трафик, отрубите гипертридинг и раскидайте очереди по физическим ядрам процессора. Торенты генерят достаточно много pps и вполне может есть глючек драйвера на эту тему.

Дальше копайте в сторону драйвера.

ЗЫ. Сказать что виновато ядро дебиана, все равно что сказать, виноват компьютер, пальцем в небо.

Аренда выделенных серверов (http://yeshost.ru/) от 69 евро VDS сервер (http://yeshost.ru/vds) от 7.95евро Виртуальный хостинг (http://yeshost.ru/virtualhosting)от 0.95 евро Windows VDS хостинг скоро (http://yeshost.ru/vds)
Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#5
yesRuslik:
Первым делом чтобы раздавать на 10Г трафик, отрубите гипертридинг и раскидайте очереди по физическим ядрам процессора. Торенты генерят достаточно много pps и вполне может есть глючек драйвера на эту тему.
Дальше копайте в сторону драйвера.
ЗЫ. Сказать что виновато ядро дебиана, все равно что сказать, виноват компьютер, пальцем в небо.

Под сентосом 6 небыло проблем, драйвера переставляли, грузили не все 10 гигабит, а 200-300 мегабит, в дебиане уже падал торент, в сентосе нормально работал.

Andron_buton
На сайте с 19.07.2007
Offline
245
#6

Если проблема уже так решилась и нет желания переделывать, то пусть так и будет. Если охота все-таки провести эксперимент, тогда:

Качаем дрова:

wget "http://downloads.sourceforge.net/project/e1000/ixgbe%20stable/3.14.5/ixgbe-3.14.5.tar.gz"

Распаковываем:

tar zxvf ixgbe-3.14.5.tar.gz

Устанавливаем все для компилирования:

apt-get install build-essential

Компилим дрова:

cd ixgbe-3.14.5/src

make install

Прописываем опции с которыми будет загружаться модуль:

nano /etc/modprobe.d/aliases.conf

options ixgbe RSS=8 DCA=2

В этом месте осторожно, пропадет сеть, желательно по IP-KVM делать

ifdown eth0; rmmod ixgbe; modprobe ixgbe; ifup eth0

Выполняем скрипт:

#!/bin/bash

eth0rx0=`/bin/grep "eth0-TxRx-0" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx1=`/bin/grep "eth0-TxRx-1" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx2=`/bin/grep "eth0-TxRx-2" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx3=`/bin/grep "eth0-TxRx-3" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx4=`/bin/grep "eth0-TxRx-4" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx5=`/bin/grep "eth0-TxRx-5" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx6=`/bin/grep "eth0-TxRx-6" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`
eth0rx7=`/bin/grep "eth0-TxRx-7" /proc/interrupts | /usr/bin/awk '{ print $1 }' | tr -d ':'`

echo "1" > /proc/irq/$eth0rx0/smp_affinity
echo "2" > /proc/irq/$eth0rx1/smp_affinity
echo "4" > /proc/irq/$eth0rx2/smp_affinity
echo "8" > /proc/irq/$eth0rx3/smp_affinity
echo "10" > /proc/irq/$eth0rx4/smp_affinity
echo "20" > /proc/irq/$eth0rx5/smp_affinity
echo "40" > /proc/irq/$eth0rx6/smp_affinity
echo "80" > /proc/irq/$eth0rx7/smp_affinity
Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#7
Andron_buton:
Если проблема уже так решилась и нет желания переделывать, то пусть так и будет. Если охота все-таки провести эксперимент, тогда:

Качаем дрова:
wget "http://downloads.sourceforge.net/project/e1000/ixgbe%20stable/3.14.5/ixgbe-3.14.5.tar.gz"

Распаковываем:
tar zxvf ixgbe-3.14.5.tar.gz

Устанавливаем все для компилирования:

apt-get install build-essential

Компилим дрова:
cd ixgbe-3.14.5/src

make install

Прописываем опции с которыми будет загружаться модуль:
nano /etc/modprobe.d/aliases.conf



В этом месте осторожно, пропадет сеть, желательно по IP-KVM делать
ifdown eth0; rmmod ixgbe; modprobe ixgbe; ifup eth0


Выполняем скрипт:

вы думаете все же дело в дровишках ? ставили сотрудники ДЦ новые дрова с сырцов нифига все равно падало.

Спасибо за ваши советы

Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#8

В общем проблема в ядре ОС была, 2.6 .. поставили 3.2 все запустилось. Помог Андрей.

Andron_buton
На сайте с 19.07.2007
Offline
245
#9

Ну, уже давно пора было переползти на 3.2, я на 2.6 даже не пробовал ни разу. Вот еще проблема может быть, если слишком много очередей (обычно по количеству ядер), если их 24, то задержки до шлюза могут быть 300 мс, решается уменьшением количества очередей до 8.

RSS=8
Angel OSHQ.cc
На сайте с 23.07.2007
Offline
230
#10
Andron_buton:
Ну, уже давно пора было переползти на 3.2, я на 2.6 даже не пробовал ни разу. Вот еще проблема может быть, если слишком много очередей (обычно по количеству ядер), если их 24, то задержки до шлюза могут быть 300 мс, решается уменьшением количества очередей до 8.

Так дебиан 2.6 по дефолту ставит, в общем ос не тестируют перед выпуском.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий