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

Неоправданно большая нагрузка по system interrupts на мощный софт роутер Буду благодарен за помощь

Суть проблемы - при относительно небольшом трафике машина загружена аж на треть!

 

В top огромный si:

%Cpu(s):  0.1 us,  0.1 sy,  0.0 ni, 73.8 id,  0.0 wa,  0.0 hi, 26.0 si,  0.0 st

post-103613-007437500 1416931720_thumb.png

 

Железо: Intel® Xeon® CPU E5-2620 0 @ 2.00GHz 1 сокет, PowerEDGE 720. Сетевые - 4 штуки, Intel 82599.

Софт: Debian Wheezy 7, 3.2.0-4-amd64, дрова сетевых с sourceforge.

 

Трафика 2GE и 400 kpps. Шейпинга нету, PPPoE нету. Есть - bond (4x10GE), vlan и чистый роутинг по 3 full view.

 

perf top:

Events: 2M cycles
 9.89%  [kernel]             [k] intel_idle
 7.24%  [ixgbe]              [k] ixgbe_poll
 3.61%  [ip_tables]          [k] ipt_do_table
 3.27%  [kernel]             [k] irq_entries_start
 2.47%  [kernel]             [k] do_raw_spin_lock
 2.24%  [kernel]             [k] add_interrupt_randomness
 2.22%  [ixgbe]              [k] ixgbe_xmit_frame_ring
 1.82%  [kernel]             [k] nf_iterate
 1.78%  [kernel]             [k] skb_copy_bits
 1.68%  [kernel]             [k] ip_route_input_common
 1.42%  [kernel]             [k] dev_queue_xmit
 1.22%  [kernel]             [k] pskb_expand_head
 1.18%  [kernel]             [k] __copy_skb_header
 1.12%  [kernel]             [k] __netif_receive_skb
 1.08%  [kernel]             [k] menu_select
 0.98%  [bonding]            [k] bond_handle_frame
 0.97%  [kernel]             [k] dev_hard_start_xmit
 0.95%  [kernel]             [k] skb_release_data
 0.85%  [kernel]             [k] ip_finish_output2
 0.85%  [kernel]             [k] sk_run_filter
 0.76%  [kernel]             [k] __alloc_skb
 0.76%  [kernel]             [k] virt_to_head_page
 0.75%  [kernel]             [k] __cache_free.isra.41
 0.72%  [kernel]             [k] native_read_tsc
 0.72%  [kernel]             [k] tick_nohz_stop_sched_tick
 0.71%  [kernel]             [k] vlan_do_receive
 0.70%  [kernel]             [k] ktime_get_real
 0.70%  [kernel]             [k] net_rx_action

 

mpstat показывает вот такое:

mpstat 1
Linux 3.2.0-4-amd64 (router1) 	11/25/2014 	_x86_64_	(12 CPU)

07:58:57 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
07:58:58 PM  all    0.17    0.00    0.08    0.00    0.00   24.71    0.00    0.00   75.04
07:58:59 PM  all    0.00    0.00    0.08    0.00    0.00   24.69    0.00    0.00   75.23
07:59:00 PM  all    0.08    0.00    0.00    0.00    0.00   25.42    0.00    0.00   74.49
07:59:01 PM  all    0.00    0.00    0.08    0.00    0.00   24.51    0.00    0.00   75.40
07:59:02 PM  all    2.68    0.00    2.34    0.00    0.00   26.00    0.00    0.00   68.98

 

Конфиг сетевых (драйвер с source sorge):

options ixgbe InterruptType=2,2,2,2,2,2 MQ=1,1,1,1,1,1 DCA=2,2,2,2,2,2 RSS=0,0,0,0,0,0 VMDQ=0,0,0,0,0,0 max_vfs=0,0,0,0,0,0 L2LBen=0,0,0,0,0,0 InterruptThrottleRate=1,1,1,1,1,1 FCoE=0,0,0,0,0,0 LRO=0,0,0,0,0,0 allow_unsupported_sfp=0,0,0,0,0,0

Все прерывания всех очередей сетевых разбросаны по ядрам:

/proc/interrupts:

 

cat /proc/interrupts t
           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7       CPU8       CPU9       CPU10      CPU11      
  0:     100179          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      timer
  8:          1          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-edge      rtc0
  9:         14          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   acpi
 22:       3467          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb2
 23:       2254          0          0          0          0          0          0          0          0          0          0          0  IR-IO-APIC-fasteoi   ehci_hcd:usb1
 72:          0          0          0          0          0          0          0          0          0          0          0          0  DMAR_MSI-edge      dmar0
 73:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 74:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 75:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 76:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 77:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 78:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 79:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 80:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 81:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      PCIe PME
 82:          5          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth2
 83:          1          0          0          0          0          0          0          0          0          0          0   33647118  IR-PCI-MSI-edge      eth2-TxRx-0
 84:          1          0          0          0          0          0          0          0          0          0   16417384          0  IR-PCI-MSI-edge      eth2-TxRx-1
 85:          1          0          0          0          0          0          0          0          0   20114602          0          0  IR-PCI-MSI-edge      eth2-TxRx-2
 86:          1          0          0          0          0          0          0          0   21465067          0          0          0  IR-PCI-MSI-edge      eth2-TxRx-3
 87:          1          0          0          0          0          0          0   26276680          0          0          0          0  IR-PCI-MSI-edge      eth2-TxRx-4
 88:          1          0          0          0          0          0   15862306          0          0          0          0          0  IR-PCI-MSI-edge      eth2-TxRx-5
 89:          1          0          0          0          0   15715029          0          0          0          0          0          0  IR-PCI-MSI-edge      eth2-TxRx-6
 90:          1          0          0          0   16460640          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth2-TxRx-7
 91:   25624569          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      megasas
 92:          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      ahci
 93:         67          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth3
 94:          1          0          0   15018352          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth3-TxRx-0
 95:          1          0   15018318          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth3-TxRx-1
 96:          1   15018321          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth3-TxRx-2
 97:   15018319          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth3-TxRx-3
 98:          1          0          0          0          0          0          0          0          0          0          0   44801630  IR-PCI-MSI-edge      eth3-TxRx-4
 99:          1          0          0          0          0          0          0          0          0          0   15018318          0  IR-PCI-MSI-edge      eth3-TxRx-5
100:          1          0          0          0          0          0          0          0          0   15018318          0          0  IR-PCI-MSI-edge      eth3-TxRx-6
101:          1          0          0          0          0          0          0          0   15018321          0          0          0  IR-PCI-MSI-edge      eth3-TxRx-7
128:         21          0          0          0          0          0          0          0          0          0          0 3692663120  IR-PCI-MSI-edge      eth10-TxRx-0
129:         21          0          0          0          0          0          0          0          0          0  820454344          0  IR-PCI-MSI-edge      eth10-TxRx-1
130:         21          0          0          0          0          0          0          0          0 3142704802          0          0  IR-PCI-MSI-edge      eth10-TxRx-2
131:         21          0          0          0          0          0          0          0 2425710758          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-3
132:         21          0          0          0          0          0          0  727417863          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-4
133:         21          0          0          0          0          0 3938217706          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-5
134:         21          0          0          0          0 2301063306          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-6
135:         21          0          0          0 2020223354          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-7
136:         21          0          0  106626796          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-8
137:         21          0    2438773          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-9
138:         21 1858972085          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-10
139:  594594013          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10-TxRx-11
140:    4897764          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth10
141:         23          0          0          0          0          0          0          0          0          0          0 1312772837  IR-PCI-MSI-edge      eth9-TxRx-0
142:         23          0          0          0          0          0          0          0          0          0 4094357208          0  IR-PCI-MSI-edge      eth9-TxRx-1
143:         23          0          0          0          0          0          0          0          0 1267248208          0          0  IR-PCI-MSI-edge      eth9-TxRx-2
144:         23          0          0          0          0          0          0          0 2774911181          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-3
145:         23          0          0          0          0          0          0 2636468671          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-4
146:         23          0          0          0          0          0  118893606          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-5
147:         23          0          0          0          0 2352566669          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-6
148:         23          0          0          0 1015368292          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-7
149:         23          0          0 1687031487          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-8
150:         23          0 2381869172          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-9
151:         23 1601509750          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-10
152:  409025591          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9-TxRx-11
153:    5865555          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth9
154:         25          0          0          0          0          0          0          0          0          0          0  244361419  IR-PCI-MSI-edge      eth8-TxRx-0
155:         25          0          0          0          0          0          0          0          0          0 3702760637          0  IR-PCI-MSI-edge      eth8-TxRx-1
156:         25          0          0          0          0          0          0          0          0 2327491577          0          0  IR-PCI-MSI-edge      eth8-TxRx-2
157:         25          0          0          0          0          0          0          0 1256047364          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-3
158:         25          0          0          0          0          0          0 1026986283          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-4
159:         25          0          0          0          0          0 2588519485          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-5
160:         25          0          0          0          0 1815731668          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-6
161:         25          0          0          0 2265467816          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-7
162:         25          0          0 1583923447          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-8
163:         25          0 3572924883          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-9
164:         25  114436778          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-10
165:  289010595          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8-TxRx-11
166:   12770130          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth8
167:         20          0          0          0          0          0          0          0          0          0          0 1560639873  IR-PCI-MSI-edge      eth11-TxRx-0
168:         20          0          0          0          0          0          0          0          0          0 1982345527          0  IR-PCI-MSI-edge      eth11-TxRx-1
169:         20          0          0          0          0          0          0          0          0 1343217334          0          0  IR-PCI-MSI-edge      eth11-TxRx-2
170:         20          0          0          0          0          0          0          0  763080457          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-3
171:         20          0          0          0          0          0          0  114442740          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-4
172:         20          0          0          0          0          0 2054299814          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-5
173:         20          0          0          0          0 3337298583          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-6
174:         20          0          0          0 2532767834          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-7
175:         20          0          0 3660788177          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-8
176:         20          0  258933812          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-9
177:         20  422165578          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-10
178: 1035660695          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11-TxRx-11
179:   10377788          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI-edge      eth11
NMI:   11620332   11842218   11928689   12046193   12387487   12271151   14481768   14820726   13545953   14291166   14406997   12818413   Non-maskable interrupts
LOC: 2725791667 2626275901 2633406186 2628715293 2647585021 2655432666 2610608305 2824037785 2607467115 2641495625 2598522486 2659670083   Local timer interrupts
SPU:          0          0          0          0          0          0          0          0          0          0          0          0   Spurious interrupts
PMI:   11620332   11842218   11928689   12046193   12387487   12271150   14481768   14820726   13545953   14291166   14406997   12818413   Performance monitoring interrupts
IWI:        164        163        165        166        167        166        167        166        169        168        167        168   IRQ work interrupts
RES: 1360812054  198658166  976881303 1331672551 3427895757   90316939   12016194    5359920    6485306    6343508    5809827    4893032   Rescheduling interrupts
CAL:       1868       2176       2273       2270       2211       2281       2176       2055       2033       2091       2129       2140   Function call interrupts
TLB:    6854341   20912420   20628629   20995259   21261484   20824993    6671391    6930138    6617476    6547441    6513344    4304520   TLB shootdowns
TRM:          2          2          2          2          2          2          2          2          2          2          2          2   Thermal event interrupts
THR:          1          1          1          1          1          1          1          1          1          1          1          1   Threshold APIC interrupts
MCE:          0          0          0          0          0          0          0          0          0          0          0          0   Machine check exceptions
MCP:     100125     100125     100125     100125     100125     100125     100125     100125     100125     100125     100125     100125   Machine check polls
ERR:          0
MIS:          0

 

Настройки сетевых, почти все оффлоады вырублены:

 

ethtool -k eth8
Features for eth8:
rx-checksumming: off
tx-checksumming: on
tx-checksum-ipv4: on
tx-checksum-unneeded: off [fixed]
tx-checksum-ip-generic: off [fixed]
tx-checksum-ipv6: on
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: on
scatter-gather: on
tx-scatter-gather: on
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp6-segmentation: off
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: on
loopback: off [fixed]

 

Есть у кого идеи?

Edited by pavel.odintsov

Share this post


Link to post
Share on other sites

intel_idle.max_cstate=0 прописан в строке загрузки ядра?

 

Нет, энергосбережение может давать настолько страшные последствия?

 

Ядрышко тоже бы обновить до 3.6+

Ну очень не хотелось бы трогать дистрибутивное ядро, честно говоря. Рассматриваем лишь как крайнюю меру.

Share this post


Link to post
Share on other sites

intel_idle.max_cstate=0 прописан в строке загрузки ядра?

 

Нет, энергосбережение может давать настолько страшные последствия?

 

Ядрышко тоже бы обновить до 3.6+

Ну очень не хотелось бы трогать дистрибутивное ядро, честно говоря. Рассматриваем лишь как крайнюю меру.

Энергосбережение может. Ещё проверьте рельную частоту, на которой работает процессор. НТ ещё отключите

Share this post


Link to post
Share on other sites

Планировщик стоит "performance", забит в BIOS Dell'а.

 

Частота стабильная и не скачет:

cat /proc/cpuinfo |grep Mhz -i
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188
cpu MHz		: 2000.188

 

Про HT подумаем.

 

Поставил itop, вот такие цифры по прерываниям вышли:

perl itop  -t

                               IRQs/Second
             Device (IRQ)            TOTAL
              timer (  0):               0
               rtc0 (  8):               0
               acpi (  9):               0
      ehci_hcd:usb2 ( 22):               0
      ehci_hcd:usb1 ( 23):               0
              dmar0 ( 72):               0
                PME ( 73):               0
                PME ( 74):               0
                PME ( 75):               0
                PME ( 76):               0
                PME ( 77):               0
                PME ( 78):               0
                PME ( 79):               0
                PME ( 80):               0
                PME ( 81):               0
               eth2 ( 82):               0
        eth2-TxRx-0 ( 83):               2
        eth2-TxRx-1 ( 84):               1
        eth2-TxRx-2 ( 85):               1
        eth2-TxRx-3 ( 86):               1
        eth2-TxRx-4 ( 87):               1
        eth2-TxRx-5 ( 88):               1
        eth2-TxRx-6 ( 89):               1
        eth2-TxRx-7 ( 90):               1
            megasas ( 91):               0
               ahci ( 92):               0
               eth3 ( 93):               0
        eth3-TxRx-0 ( 94):               1
        eth3-TxRx-1 ( 95):               1
        eth3-TxRx-2 ( 96):               1
        eth3-TxRx-3 ( 97):               1
        eth3-TxRx-4 ( 98):               2
        eth3-TxRx-5 ( 99):               1
        eth3-TxRx-6 (100):               1
        eth3-TxRx-7 (101):               1
       eth10-TxRx-0 (128):           12670
       eth10-TxRx-1 (129):           14773
       eth10-TxRx-2 (130):           12869
       eth10-TxRx-3 (131):           13895
       eth10-TxRx-4 (132):           10337
       eth10-TxRx-5 (133):           11626
       eth10-TxRx-6 (134):           11315
       eth10-TxRx-7 (135):           10105
       eth10-TxRx-8 (136):           17793
       eth10-TxRx-9 (137):           11134
      eth10-TxRx-10 (138):           12504
      eth10-TxRx-11 (139):           10531
              eth10 (140):               0
        eth9-TxRx-0 (141):           11829
        eth9-TxRx-1 (142):           12202
        eth9-TxRx-2 (143):           12469
        eth9-TxRx-3 (144):           12411
        eth9-TxRx-4 (145):           12092
        eth9-TxRx-5 (146):           12502
        eth9-TxRx-6 (147):           13379
        eth9-TxRx-7 (148):           11511
        eth9-TxRx-8 (149):           13688
        eth9-TxRx-9 (150):           13402
       eth9-TxRx-10 (151):           12971
       eth9-TxRx-11 (152):           12464
               eth9 (153):               0
        eth8-TxRx-0 (154):           12649
        eth8-TxRx-1 (155):           12509
        eth8-TxRx-2 (156):           12169
        eth8-TxRx-3 (157):           14617
        eth8-TxRx-4 (158):           12310
        eth8-TxRx-5 (159):           13922
        eth8-TxRx-6 (160):           14532
        eth8-TxRx-7 (161):           12719
        eth8-TxRx-8 (162):           12396
        eth8-TxRx-9 (163):           11829
       eth8-TxRx-10 (164):           11560
       eth8-TxRx-11 (165):           12551
               eth8 (166):               1
       eth11-TxRx-0 (167):           13458
       eth11-TxRx-1 (168):           13510
       eth11-TxRx-2 (169):           13867
       eth11-TxRx-3 (170):           13484
       eth11-TxRx-4 (171):           13449
       eth11-TxRx-5 (172):           14281
       eth11-TxRx-6 (173):           13097
       eth11-TxRx-7 (174):           13558
       eth11-TxRx-8 (175):           13716
       eth11-TxRx-9 (176):           13510
      eth11-TxRx-10 (177):           13768
      eth11-TxRx-11 (178):           13438
              eth11 (179):               1
         interrupts (CAL):               0
                  0 (ERR):               0
         interrupts (IWI):               0
         interrupts (LOC):            3019
         exceptions (MCE):               0
              polls (MCP):               0
                  0 (MIS):               0
         interrupts (NMI):               6
         interrupts (PMI):               6
         interrupts (RES):              40
         interrupts (SPU):               0
         interrupts (THR):               0
         shootdowns (TLB):              17
         interrupts (TRM):               0

 

То есть около 100k прерываний/секунду на каждой сетевой. Ровно по числу packets per second

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

почти все оффлоады вырублены

Из любопытства скорее - зачем?

 

Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http.

Edited by pavel.odintsov

Share this post


Link to post
Share on other sites

Ровно по числу packets per second

 

число rx/tx descriptors не увеличено?

 

Увеличено, вроде как рекомендуют для оптимизации выдавать их больше:

ethtool -G eth0 rx 1024 tx 1024

Share this post


Link to post
Share on other sites

Меняйте ядро, наблюдал тоже самое , поставил 3.6 само сборное и загрузка упала с 40% до 1%.

У дебиана отвратительные ядра, и конкретно 3.2

Share this post


Link to post
Share on other sites

попробуйте 32-битное ядро

root@sh1:~# uname -a
Linux sh1 3.10-0.bpo.2-686-pae #1 SMP Debian 3.10.5-1~bpo70+1 (2013-08-11) i686 GNU/Linux
root@sh1:~# dstat -N total
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
 0   0  99   0   0   1| 308B   91k|   0     0 |   0     0 | 120k 3901 
 0   0  99   0   0   1|   0     0 |1454M 1446M|   0     0 |1693k 1826 
 0   0  99   0   0   1|   0     0 |1444M 1435M|   0     0 |1692k 1720 
 0   0 100   0   0   0|   0     0 |1454M 1446M|   0     0 |1705k 1906 
 0   0 100   0   0   0|   0     0 |1481M 1473M|   0     0 |1707k 1774 
 0   0  99   0   0   1|   0     0 |1436M 1427M|   0     0 |1691k 1627 
 0   0 100   0   0   0|   0     0 |1436M 1427M|   0     0 |1686k 1725

У нас в ЧНН 7-8Mpps

Share this post


Link to post
Share on other sites

почти все оффлоады вырублены

Из любопытства скорее - зачем?

 

Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http.

т.е. собственноручно вырубили аппаратную поддержку, и переложили задачу на драйвер ядра?

Share this post


Link to post
Share on other sites

Я бы начал с отключения бондинга, до апгрейда ядра... Тем более 4x10 выглядит потешно при вашем трафике.

Share this post


Link to post
Share on other sites

Так, ночью устроили техработы и сделали следующее.

 

1) Обновили ixgbe до упора, теперь он 3.22.3

2) Отключили энергосбережение сетевой:

BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-amd64 root=UUID=15f7c12e-0ab4-4964-9607-e770371db50e ro quiet intel_idle.max_cstate=0 processor.max_cstate=

3) Вернули tso

 

Итог - никакого итога, нагрузка на si как была огромная, так и осталась :)

 

почти все оффлоады вырублены

Из любопытства скорее - зачем?

 

Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http.

т.е. собственноручно вырубили аппаратную поддержку, и переложили задачу на драйвер ядра?

 

Я был бы рад ее не отключать, но она повреждала нам трафик. Какой смысл в ускорении и оптимизации того, что не работало? Мы вернули tso, но на нагрузку это не повлияло. Если верить сторонним тестам, rx offload,

Share this post


Link to post
Share on other sites

Лукап по 550к префиксам бестпатча это тоже копейки?

 

О, то же направление куда роем и мы! :) Да, путей 550 тысяч и похоже это не шибко быстрая операция. Но оно не светится в perf top, что очень странно.

 

perf top -U выглядит вот так:

Events: 2M cycles
 7.52%  [ixgbe]               [k] ixgbe_poll
 5.57%  [kernel]              [k] irq_entries_start
 5.22%  [ip_tables]           [k] ipt_do_table
 2.62%  [kernel]              [k] do_raw_spin_lock
 2.37%  [kernel]              [k] native_read_tsc
 2.24%  [kernel]              [k] delay_tsc
 2.23%  [kernel]              [k] add_interrupt_randomness
 2.15%  [ixgbe]               [k] ixgbe_xmit_frame_ring
 1.78%  [kernel]              [k] nf_iterate
 1.60%  [kernel]              [k] skb_copy_bits
 1.52%  [kernel]              [k] ip_route_input_common
 1.39%  [kernel]              [k] dev_queue_xmit
 1.26%  [kernel]              [k] pskb_expand_head
 1.17%  [kernel]              [k] __copy_skb_header
 1.17%  [ixgbe]               [k] ixgbe_read_reg
 1.13%  [kernel]              [k] __netif_receive_skb
 1.00%  [bonding]             [k] bond_handle_frame
 0.93%  [kernel]              [k] dev_hard_start_xmit
 0.91%  [kernel]              [k] sk_run_filter
 0.87%  [kernel]              [k] skb_release_data
 0.87%  [kernel]              [k] paravirt_read_tsc
 0.86%  [kernel]              [k] vlan_do_receive
 0.79%  [kernel]              [k] net_rx_action
 0.78%  [ixgbe]               [k] __kc_netdev_pick_tx
 0.75%  [kernel]              [k] __alloc_skb
 0.74%  [kernel]              [k] __cache_free.isra.41
 0.72%  [bonding]             [k] bond_3ad_xmit_xor
 0.71%  [kernel]              [k] atomic_add_return
 0.70%  [kernel]              [k] ____cache_alloc
 0.68%  [kernel]              [k] atomic_dec_and_test
 0.68%  [kernel]              [k] tick_nohz_stop_sched_tick
 0.67%  [8021q]               [k] vlan_dev_hard_start_xmit
 0.65%  [kernel]              [k] arch_read_lock
 0.65%  [ixgbe]               [k] ixgbe_msix_clean_rings
 0.63%  [kernel]              [k] rcu_needs_cpu
 0.62%  [kernel]              [k] ip_rcv
 0.60%  [kernel]              [k] __do_softirq
 0.59%  [kernel]              [k] virt_to_head_page
 0.58%  [kernel]              [k] dev_gro_receive
 0.57%  [kernel]              [k] arch_local_irq_restore
 0.57%  [kernel]              [k] radix_tree_lookup_element
 0.57%  [kernel]              [k] ip_finish_output2
 0.55%  [kernel]              [k] do_IRQ
 0.55%  [kernel]              [k] ip_forward
 0.52%  [kernel]              [k] fib_table_lo

 

fib_table_lookup аккурат в конце. Или же оно отрабатывается в irq прямо?

Share this post


Link to post
Share on other sites

Так, ночью устроили техработы и сделали следующее.

 

1) Обновили ixgbe до упора, теперь он 3.22.3

2) Отключили энергосбережение сетевой:

BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-amd64 root=UUID=15f7c12e-0ab4-4964-9607-e770371db50e ro quiet intel_idle.max_cstate=0 processor.max_cstate=

3) Вернули tso

 

Итог - никакого итога, нагрузка на si как была огромная, так и осталась :)

 

почти все оффлоады вырублены

Из любопытства скорее - зачем?

 

Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http.

т.е. собственноручно вырубили аппаратную поддержку, и переложили задачу на драйвер ядра?

 

Я был бы рад ее не отключать, но она повреждала нам трафик. Какой смысл в ускорении и оптимизации того, что не работало? Мы вернули tso, но на нагрузку это не повлияло. Если верить сторонним тестам, rx offload,

conntrack выключен? Если ната нет или файрвола...

Share this post


Link to post
Share on other sites

Я был бы рад ее не отключать, но она повреждала нам трафик. Какой смысл в ускорении и оптимизации того, что не работало? Мы вернули tso, но на нагрузку это не повлияло. Если верить сторонним тестам, rx offload,

значит основная нагрузка гдето в другом месте... Просто смотреть, насколько я понимаю, на неправильные чексуммы в tcpdumpe смысла нет - пакеты могут быть перехвачены снифером до их вычисления на карте. Выключая tcp offload - все задачки по обработке и вычислению полей пакетов, должны будут решаться ядром (драйвером карты)

Share this post


Link to post
Share on other sites

Так, ночью устроили техработы и сделали следующее.

 

1) Обновили ixgbe до упора, теперь он 3.22.3

2) Отключили энергосбережение сетевой:

BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-amd64 root=UUID=15f7c12e-0ab4-4964-9607-e770371db50e ro quiet intel_idle.max_cstate=0 processor.max_cstate=

3) Вернули tso

 

Итог - никакого итога, нагрузка на si как была огромная, так и осталась :)

 

почти все оффлоады вырублены

Из любопытства скорее - зачем?

 

Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http.

т.е. собственноручно вырубили аппаратную поддержку, и переложили задачу на драйвер ядра?

 

Я был бы рад ее не отключать, но она повреждала нам трафик. Какой смысл в ускорении и оптимизации того, что не работало? Мы вернули tso, но на нагрузку это не повлияло. Если верить сторонним тестам, rx offload,

conntrack выключен? Если ната нет или файрвола...

 

conntrack на основаном трафике отключен через -t raw -j NOTRACK, правил фаерволла тоже в районе пары десятков. Есть немного NAT где-то на 4000 pps, сейчас попробуем от него избавится, чтобы изолировать картину целиком.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.