pavel.odintsov Posted November 25, 2014 (edited) · Report post Суть проблемы - при относительно небольшом трафике машина загружена аж на треть! В 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 Железо: 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 November 25, 2014 by pavel.odintsov Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted November 25, 2014 · Report post intel_idle.max_cstate=0 прописан в строке загрузки ядра? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Antares Posted November 25, 2014 · Report post Ядрышко тоже бы обновить до 3.6+ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 25, 2014 · Report post intel_idle.max_cstate=0 прописан в строке загрузки ядра? Нет, энергосбережение может давать настолько страшные последствия? Ядрышко тоже бы обновить до 3.6+ Ну очень не хотелось бы трогать дистрибутивное ядро, честно говоря. Рассматриваем лишь как крайнюю меру. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted November 25, 2014 · Report post Нет, энергосбережение может давать настолько страшные последствия? Да Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Antares Posted November 25, 2014 · Report post intel_idle.max_cstate=0 прописан в строке загрузки ядра? Нет, энергосбережение может давать настолько страшные последствия? Ядрышко тоже бы обновить до 3.6+ Ну очень не хотелось бы трогать дистрибутивное ядро, честно говоря. Рассматриваем лишь как крайнюю меру. Энергосбережение может. Ещё проверьте рельную частоту, на которой работает процессор. НТ ещё отключите Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 25, 2014 · Report post Планировщик стоит "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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted November 25, 2014 · Report post pavel.odintsov мне выключение intel_idle очень сильно помогло (несколько иная задача была, но всё же) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted November 25, 2014 · Report post Несколько лет назад bonding не поддерживал несколько очередей сетевых карт. В итоге карточки работали по одной очереди. Возможно ситуация изменилась, а возможно и нет. Попробуйте на одном интерфейсе без агрегации. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
uxcr Posted November 25, 2014 · Report post почти все оффлоады вырублены Из любопытства скорее - зачем? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 25, 2014 (edited) · Report post почти все оффлоады вырублены Из любопытства скорее - зачем? Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http. Edited November 25, 2014 by pavel.odintsov Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
uxcr Posted November 25, 2014 · Report post Ровно по числу packets per second число rx/tx descriptors не увеличено? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 25, 2014 · Report post Ровно по числу packets per second число rx/tx descriptors не увеличено? Увеличено, вроде как рекомендуют для оптимизации выдавать их больше: ethtool -G eth0 rx 1024 tx 1024 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
orlik Posted November 26, 2014 · Report post Меняйте ядро, наблюдал тоже самое , поставил 3.6 само сборное и загрузка упала с 40% до 1%. У дебиана отвратительные ядра, и конкретно 3.2 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dmvy Posted November 26, 2014 · Report post попробуйте 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
DVM-Avgoor Posted November 26, 2014 · Report post Лукап по 550к префиксам бестпатча это тоже копейки? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted November 26, 2014 · Report post почти все оффлоады вырублены Из любопытства скорее - зачем? Он нам http бил - то ли GRO то ли TSO, весь трафик что шел через этот роутер через раз приходил с битыми чек суммами, изолировать смогли лишь для http. т.е. собственноручно вырубили аппаратную поддержку, и переложили задачу на драйвер ядра? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dignity Posted November 26, 2014 · Report post Я бы начал с отключения бондинга, до апгрейда ядра... Тем более 4x10 выглядит потешно при вашем трафике. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Abram Posted November 26, 2014 · Report post Не хотите менять дистрибутивное ядро - поставьте из wheezy-backports ;). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 26, 2014 · Report post Так, ночью устроили техработы и сделали следующее. 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, Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 26, 2014 · Report post Лукап по 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 прямо? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
cmhungry Posted November 26, 2014 · Report post Так, ночью устроили техработы и сделали следующее. 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 выключен? Если ната нет или файрвола... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ichthyandr Posted November 26, 2014 · Report post Я был бы рад ее не отключать, но она повреждала нам трафик. Какой смысл в ускорении и оптимизации того, что не работало? Мы вернули tso, но на нагрузку это не повлияло. Если верить сторонним тестам, rx offload, значит основная нагрузка гдето в другом месте... Просто смотреть, насколько я понимаю, на неправильные чексуммы в tcpdumpe смысла нет - пакеты могут быть перехвачены снифером до их вычисления на карте. Выключая tcp offload - все задачки по обработке и вычислению полей пакетов, должны будут решаться ядром (драйвером карты) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pavel.odintsov Posted November 26, 2014 · Report post Так, ночью устроили техработы и сделали следующее. 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, сейчас попробуем от него избавится, чтобы изолировать картину целиком. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted November 26, 2014 · Report post На форвардинге достаточно вырубить gso, gro, tso. Остальное траффик не бьет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...