adron2 Posted September 16, 2013 Posted September 16, 2013 (edited) Здравствуйте. На сервере с сетевой картой intel I350 временами появляются дропы. Ядро 3.4.4. igb из этого же ядра. модули iptables-а выгрузил. то есть вообще нет фаервола. шейпер не используется. на машине много ipip туннелей. Трафика порядка 300 мегабит через эти туннели бегает. Стоит два процессора по 4 ядра каждый. Прерывания прибиты к 4-м ядрам второго процессора(5,6,7,8 ядра) Процессоры нагружены до 10%. 5-6 % среднее. Дропы видно на вланах(ua0 и mir0) которые висят на eth0. На самом eth0 счетчик дропов пустой. В листинге tc -s -d class show dev eth0 видно что все 16150 дропов появились в class mq :7 root leaf 8007: Sent 191893634098 bytes 334759662 pkt (dropped 16150, overlimits 0 requeues 17219) backlog 0b 0p requeues 17219 Еще стоит отметить что дропы появляются пачками по 800-900 штук сразу. менее чем за секундую и затем их может не быть пару минут или часов. Но обычно это происходит под вечер хотя и утром при минимальной нагрузке иногда можно такое наблюдать. Подскажите куда копать? ifconfig eth0 eth0 Link encap:Ethernet HWaddr B4:B5:2F:51:81:88 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:351283260 errors:0 dropped:0 overruns:0 frame:0 TX packets:411629004 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:247680948572 (236206.9 Mb) TX bytes:251889612815 (240220.6 Mb) Memory:f7f00000-f8000000 ifconfig ua0 ua0 Link encap:Ethernet HWaddr B4:B5:2F:51:81:88 inet addr:194.187.111.154 Bcast:0.0.0.0 Mask:255.255.255.248 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:226521597 errors:0 dropped:0 overruns:0 frame:0 TX packets:305503002 errors:0 dropped:15596 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:113430264010 (108175.5 Mb) TX bytes:212015923754 (202194.1 Mb) ifconfig mir0 mir0 Link encap:Ethernet HWaddr B4:B5:2F:51:81:88 inet addr:194.187.111.86 Bcast:0.0.0.0 Mask:255.255.255.252 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:125557916 errors:0 dropped:0 overruns:0 frame:0 TX packets:107040005 errors:0 dropped:554 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:129929373505 (123910.3 Mb) TX bytes:40369786122 (38499.6 Mb) ethtool -k eth0 Offload parameters for eth0: rx-checksumming: on tx-checksumming: on scatter-gather: on tcp-segmentation-offload: on udp-fragmentation-offload: off generic-segmentation-offload: off generic-receive-offload: off large-receive-offload: off rx-vlan-offload: on tx-vlan-offload: on ntuple-filters: off receive-hashing: on ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 512 ethtool -S eth0 NIC statistics: rx_packets: 358883095 tx_packets: 420788251 rx_bytes: 255747407782 tx_bytes: 260665243210 rx_broadcast: 330 tx_broadcast: 829 rx_multicast: 55 tx_multicast: 0 multicast: 55 collisions: 0 rx_crc_errors: 0 rx_no_buffer_count: 0 rx_missed_errors: 0 tx_aborted_errors: 0 tx_carrier_errors: 0 tx_window_errors: 0 tx_abort_late_coll: 0 tx_deferred_ok: 0 tx_single_coll_ok: 0 tx_multi_coll_ok: 0 tx_timeout_count: 0 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 0 tx_tcp_seg_failed: 0 rx_flow_control_xon: 0 rx_flow_control_xoff: 0 tx_flow_control_xon: 0 tx_flow_control_xoff: 0 rx_long_byte_count: 255747407782 tx_dma_out_of_sync: 0 tx_smbus: 589 rx_smbus: 510 dropped_smbus: 0 os2bmc_rx_by_bmc: 0 os2bmc_tx_by_bmc: 0 os2bmc_tx_by_host: 0 os2bmc_rx_by_host: 0 rx_errors: 0 tx_errors: 0 tx_dropped: 0 rx_length_errors: 0 rx_over_errors: 0 rx_frame_errors: 0 rx_fifo_errors: 0 tx_fifo_errors: 0 tx_heartbeat_errors: 0 tx_queue_0_packets: 14719084 tx_queue_0_bytes: 10824546050 tx_queue_0_restart: 0 tx_queue_1_packets: 13286121 tx_queue_1_bytes: 11583525768 tx_queue_1_restart: 11 tx_queue_2_packets: 17070805 tx_queue_2_bytes: 12992559092 tx_queue_2_restart: 17 tx_queue_3_packets: 11044861 tx_queue_3_bytes: 8530833909 tx_queue_3_restart: 0 tx_queue_4_packets: 13440189 tx_queue_4_bytes: 7774499483 tx_queue_4_restart: 0 tx_queue_5_packets: 15117148 tx_queue_5_bytes: 10991067404 tx_queue_5_restart: 0 tx_queue_6_packets: 320917475 tx_queue_6_bytes: 183759067803 tx_queue_6_restart: 460 tx_queue_7_packets: 15191975 tx_queue_7_bytes: 10726757141 tx_queue_7_restart: 0 rx_queue_0_packets: 39605889 rx_queue_0_bytes: 27756799961 rx_queue_0_drops: 0 rx_queue_0_csum_err: 13 rx_queue_0_alloc_failed: 0 rx_queue_1_packets: 69847838 rx_queue_1_bytes: 39263808648 rx_queue_1_drops: 0 rx_queue_1_csum_err: 314 rx_queue_1_alloc_failed: 0 rx_queue_2_packets: 65240695 rx_queue_2_bytes: 41449968087 rx_queue_2_drops: 0 rx_queue_2_csum_err: 1126 rx_queue_2_alloc_failed: 0 rx_queue_3_packets: 79896032 rx_queue_3_bytes: 39691869490 rx_queue_3_drops: 0 rx_queue_3_csum_err: 436 rx_queue_3_alloc_failed: 0 rx_queue_4_packets: 21848797 rx_queue_4_bytes: 24504273513 rx_queue_4_drops: 0 rx_queue_4_csum_err: 141 rx_queue_4_alloc_failed: 0 rx_queue_5_packets: 22527152 rx_queue_5_bytes: 24051977662 rx_queue_5_drops: 0 rx_queue_5_csum_err: 128 rx_queue_5_alloc_failed: 0 rx_queue_6_packets: 29974034 rx_queue_6_bytes: 26379045357 rx_queue_6_drops: 0 rx_queue_6_csum_err: 181 rx_queue_6_alloc_failed: 0 rx_queue_7_packets: 29941546 rx_queue_7_bytes: 29778115006 rx_queue_7_drops: 0 rx_queue_7_csum_err: 295 rx_queue_7_alloc_failed: 0 tc -s -d class show dev eth0 class mq :1 root leaf 8001: Sent 11126178051 bytes 15259382 pkt (dropped 0, overlimits 0 requeues 1849) backlog 0b 0p requeues 1849 class mq :2 root leaf 8002: Sent 11929333928 bytes 13778066 pkt (dropped 0, overlimits 0 requeues 2067) backlog 0b 0p requeues 2067 class mq :3 root leaf 8003: Sent 13350959826 bytes 17670900 pkt (dropped 0, overlimits 0 requeues 2066) backlog 0b 0p requeues 2066 class mq :4 root leaf 8004: Sent 8904403623 bytes 11655863 pkt (dropped 0, overlimits 0 requeues 1637) backlog 0b 0p requeues 1637 class mq :5 root leaf 8005: Sent 8039122808 bytes 14063407 pkt (dropped 0, overlimits 0 requeues 2026) backlog 0b 0p requeues 2026 class mq :6 root leaf 8006: Sent 11326904807 bytes 15670981 pkt (dropped 0, overlimits 0 requeues 2067) backlog 0b 0p requeues 2067 class mq :7 root leaf 8007: Sent 191893634098 bytes 334759662 pkt (dropped 16150, overlimits 0 requeues 17219) backlog 0b 0p requeues 17219 class mq :8 root leaf 8008: Sent 10958936110 bytes 15678142 pkt (dropped 0, overlimits 0 requeues 2017) backlog 0b 0p requeues 2017 class mq :9 root leaf 8009: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :a root leaf 800a: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :b root leaf 800b: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :c root leaf 800c: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :d root leaf 800d: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :e root leaf 800e: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :f root leaf 800f: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 class mq :10 root leaf 8010: Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 tc -s -d qdisc show dev eth0 qdisc mq 0: root Sent 273449197500 bytes 448714695 pkt (dropped 16150, overlimits 0 requeues 31851) backlog 0b 0p requeues 31851 qdisc pfifo 8001: parent :1 limit 1000p Sent 11264615613 bytes 15567928 pkt (dropped 0, overlimits 0 requeues 1881) backlog 0b 0p requeues 1881 qdisc pfifo 8002: parent :2 limit 1000p Sent 12175067780 bytes 14107362 pkt (dropped 0, overlimits 0 requeues 2135) backlog 0b 0p requeues 2135 qdisc pfifo 8003: parent :3 limit 1000p Sent 13551756236 bytes 18005277 pkt (dropped 0, overlimits 0 requeues 2125) backlog 0b 0p requeues 2125 qdisc pfifo 8004: parent :4 limit 1000p Sent 9164753211 bytes 12000404 pkt (dropped 0, overlimits 0 requeues 1699) backlog 0b 0p requeues 1699 qdisc pfifo 8005: parent :5 limit 1000p Sent 8209574623 bytes 14429458 pkt (dropped 0, overlimits 0 requeues 2072) backlog 0b 0p requeues 2072 qdisc pfifo 8006: parent :6 limit 1000p Sent 11489840340 bytes 15968982 pkt (dropped 0, overlimits 0 requeues 2116) backlog 0b 0p requeues 2116 qdisc pfifo 8007: parent :7 limit 1000p Sent 196440382630 bytes 342631098 pkt (dropped 16150, overlimits 0 requeues 17756) backlog 0b 0p requeues 17756 qdisc pfifo 8008: parent :8 limit 1000p Sent 11153207067 bytes 16004186 pkt (dropped 0, overlimits 0 requeues 2067) backlog 0b 0p requeues 2067 qdisc pfifo 8009: parent :9 limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800a: parent :a limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800b: parent :b limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800c: parent :c limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800d: parent :d limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800e: parent :e limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 800f: parent :f limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc pfifo 8010: parent :10 limit 1000p Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 Edited September 16, 2013 by adron2 Вставить ник Quote
vitalyb Posted September 17, 2013 Posted September 17, 2013 Current hardware settings: RX: 256 TX: 512 - вот это надо увеличить до 2048 или 4096 Вставить ник Quote
srg555 Posted September 17, 2013 Posted September 17, 2013 sg и tso тоже нафиг не нужны Чтобы понять причину дропов, нужно отловить момент дропов, возможно в этот момент что-то по крону запускается чтоб отловить, можно графики нарисовать, например Вставить ник Quote
vitalyb Posted September 17, 2013 Posted September 17, 2013 srg555 sg не помешает, а tso/lro/gro и прочие receive и segment offload'ы действительно на роутере не нужны Вставить ник Quote
adron2 Posted September 17, 2013 Author Posted September 17, 2013 Current hardware settings: RX: 256 TX: 512 - вот это надо увеличить до 2048 или 4096 спасибо. попробую. Вставить ник Quote
kayot Posted September 17, 2013 Posted September 17, 2013 Current hardware settings: RX: 256 TX: 512 - вот это надо увеличить до 2048 или 4096 спасибо. попробую. Не поможет, можно и не пробовать. Если б дело было в буферах - были бы rx_no_buffer_count или rx_errors в статистике. Может быть поможет увеличение очереди для проблемного класса qdisc pfifo 8007: parent :7 limit 1000p Sent 196440382630 bytes 342631098 pkt (dropped 16150, overlimits 0 requeues 17756) Поставьте limit 10000p например. Вставить ник Quote
vitalyb Posted September 17, 2013 Posted September 17, 2013 kayot есть tx_queue_N_restart adron2 Еще проверьте, что прерывания очередей прибиты к ядрам, а не прыгают как им вздумается Вставить ник Quote
adron2 Posted September 17, 2013 Author Posted September 17, 2013 kayot есть tx_queue_N_restart adron2 Еще проверьте, что прерывания очередей прибиты к ядрам, а не прыгают как им вздумается прерывания прибиты. Вставить ник Quote
adron2 Posted September 18, 2013 Author Posted September 18, 2013 Похоже limit 10000p помогло. Я его поставил только для 7-й очереди. Дропов стало меньше и на 7-й очереди они пропали. Сейчас поставил limit 10000p на всех очередях. Буду тестировать. Спасибо всем откликнувшимся. Вставить ник Quote
adron2 Posted September 19, 2013 Author Posted September 19, 2013 дропы полностью пропали. спасибо большое всем откликнувшимся. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.