zarguni Опубликовано 3 апреля, 2013 · Жалоба Здравствуйте. Сломал уже всю свою голову. Проблема следующая: Имеется софтроутер DELL PowerEdge 2850 - два процессора Xeon 3ГГц (видимо какйто Xeon DP): $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 1 microcode : 0xd cpu MHz : 2992.912 cache size : 1024 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr bogomips : 5985.82 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 1 microcode : 0xd cpu MHz : 2992.912 cache size : 1024 KB physical id : 3 siblings : 2 core id : 0 cpu cores : 1 apicid : 6 initial apicid : 6 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr bogomips : 5985.25 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 1 microcode : 0xd cpu MHz : 2992.912 cache size : 1024 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 1 apicid : 1 initial apicid : 1 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr bogomips : 5985.23 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Xeon(TM) CPU 3.00GHz stepping : 1 microcode : 0xd cpu MHz : 2992.912 cache size : 1024 KB physical id : 3 siblings : 2 core id : 0 cpu cores : 1 apicid : 7 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts nopl pni dtes64 monitor ds_cpl cid cx16 xtpr bogomips : 5985.24 clflush size : 64 cache_alignment : 128 address sizes : 36 bits physical, 48 bits virtual power management: Установлена сетевая карта Intel E1G42ET (чип 82576). Установлена в слот PCIe 1.0 4x. Драйвера igb 4.1.2. Загружаю с параметрами RSS=4,4 QueuePairs=0,0 InterruptThrottleRate=3,3. Прерывания разбросаны по ядрам: # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 120 0 0 4128 IO-APIC-edge timer 1: 0 0 0 2 IO-APIC-edge i8042 6: 0 0 0 3 IO-APIC-edge floppy 8: 0 0 0 66 IO-APIC-edge rtc0 9: 0 0 0 0 IO-APIC-fasteoi acpi 12: 0 0 0 4 IO-APIC-edge i8042 14: 0 0 0 1209157 IO-APIC-edge ata_piix 15: 0 0 0 0 IO-APIC-edge ata_piix 16: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb2 18: 0 0 0 47136 IO-APIC-fasteoi megaraid, uhci_hcd:usb4, radeon 19: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb3 23: 0 0 0 23 IO-APIC-fasteoi ehci_hcd:usb1 104: 0 0 0 3 PCI-MSI-edge eth2 105: 1600766068 0 0 2 PCI-MSI-edge eth2-rx-0 106: 1598505601 0 0 2 PCI-MSI-edge eth2-rx-1 107: 0 1602946548 0 2 PCI-MSI-edge eth2-rx-2 108: 0 1603755269 0 2 PCI-MSI-edge eth2-rx-3 109: 0 0 677569539 2 PCI-MSI-edge eth2-tx-0 110: 0 0 619138 2 PCI-MSI-edge eth2-tx-1 111: 0 0 0 3552617 PCI-MSI-edge eth2-tx-2 112: 0 0 0 1408476 PCI-MSI-edge eth2-tx-3 113: 0 0 0 5 PCI-MSI-edge eth3 114: 0 0 2558838922 3627 PCI-MSI-edge eth3-rx-0 115: 0 0 2610848755 3599 PCI-MSI-edge eth3-rx-1 116: 0 0 0 2731687201 PCI-MSI-edge eth3-rx-2 117: 0 0 0 2774769446 PCI-MSI-edge eth3-rx-3 118: 1946839043 0 0 31 PCI-MSI-edge eth3-tx-0 119: 1942826506 0 0 7 PCI-MSI-edge eth3-tx-1 120: 0 1947117074 0 7 PCI-MSI-edge eth3-tx-2 121: 0 1944459435 0 14 PCI-MSI-edge eth3-tx-3 NMI: 0 0 0 0 Non-maskable interrupts LOC: 1014479796 1071599820 728702880 970720650 Local timer interrupts SPU: 0 0 0 0 Spurious interrupts PMI: 0 0 0 0 Performance monitoring interrupts IWI: 0 0 0 0 IRQ work interrupts RES: 5243255 4740412 2102288 3381303 Rescheduling interrupts CAL: 25490 64 61 57 Function call interrupts TLB: 380616 257022 320910 258865 TLB shootdowns TRM: 0 0 0 0 Thermal event interrupts THR: 0 0 0 0 Threshold APIC interrupts MCE: 0 0 0 0 Machine check exceptions MCP: 4127 4127 4127 4127 Machine check polls ERR: 0 MIS: 0 На машине 3 влана от аплинка, quagga (bgp и rip), iptables 30 правил. Сервер работает только как маршрутизатор. В ЧНН наблюдается следующая картина: трафик около 700/300, 80/70 kpps на каждом интерфейсе и больше не растет. При этом скорость у всех клиентов падает, пакеты теряются, к самому маршрутизатору в том числе. Логи молчат. Нагрузка в это время: $ mpstat -P ALL 1 09:03:48 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 09:03:49 PM all 0.24 0.00 0.24 0.00 0.00 57.25 0.00 0.00 42.27 09:03:49 PM 0 0.00 0.00 0.00 0.00 0.00 62.75 0.00 0.00 37.25 09:03:49 PM 1 0.00 0.00 0.00 0.00 0.00 57.55 0.00 0.00 42.45 09:03:49 PM 2 0.00 0.00 0.00 0.00 0.00 64.76 0.00 0.00 35.24 09:03:49 PM 3 0.00 0.00 0.00 0.00 0.00 45.36 0.00 0.00 54.64 На интерфейсе, который смотрит на провайдера: # ethtool -S eth2 NIC statistics: rx_packets: 53929184742 tx_packets: 43409132457 rx_bytes: 55814789916919 tx_bytes: 22978630617945 rx_broadcast: 1298284 tx_broadcast: 35441 rx_multicast: 33036 tx_multicast: 24 multicast: 33036 collisions: 0 rx_crc_errors: 7 rx_no_buffer_count: 1508 rx_missed_errors: 627 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: 1 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 6306 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: 55814789916919 tx_dma_out_of_sync: 0 lro_aggregated: 0 lro_flushed: 0 lro_recycled: 0 tx_smbus: 0 rx_smbus: 0 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: 13 tx_errors: 0 tx_dropped: 0 rx_length_errors: 0 rx_over_errors: 0 rx_frame_errors: 0 rx_fifo_errors: 627 tx_fifo_errors: 0 tx_heartbeat_errors: 0 tx_queue_0_packets: 43406114559 tx_queue_0_bytes: 22695304717868 tx_queue_0_restart: 33024 tx_queue_1_packets: 119 tx_queue_1_bytes: 10312 tx_queue_1_restart: 0 tx_queue_2_packets: 2337558 tx_queue_2_bytes: 159639942 tx_queue_2_restart: 0 tx_queue_3_packets: 680995 tx_queue_3_bytes: 33577773 tx_queue_3_restart: 0 rx_queue_0_packets: 13590391566 rx_queue_0_bytes: 14013185737677 rx_queue_0_drops: 0 rx_queue_0_csum_err: 74460 rx_queue_0_alloc_failed: 0 rx_queue_1_packets: 13542398942 rx_queue_1_bytes: 13894504493092 rx_queue_1_drops: 0 rx_queue_1_csum_err: 109333 rx_queue_1_alloc_failed: 0 rx_queue_2_packets: 13389729171 rx_queue_2_bytes: 13786750657364 rx_queue_2_drops: 0 rx_queue_2_csum_err: 131861 rx_queue_2_alloc_failed: 0 rx_queue_3_packets: 13406668469 rx_queue_3_bytes: 13795885534998 rx_queue_3_drops: 0 rx_queue_3_csum_err: 95279 rx_queue_3_alloc_failed: 0 На интерфейсе, который смотрит в мою сеть: # ethtool -S eth3 NIC statistics: rx_packets: 43455178419 tx_packets: 53389898538 rx_bytes: 22915061515985 tx_bytes: 55604885931666 rx_broadcast: 12274 tx_broadcast: 1000785 rx_multicast: 83090 tx_multicast: 28 multicast: 83090 collisions: 0 rx_crc_errors: 4 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: 64040 tx_single_coll_ok: 0 tx_multi_coll_ok: 0 tx_timeout_count: 2 rx_long_length_errors: 0 rx_short_length_errors: 0 rx_align_errors: 0 tx_tcp_seg_good: 636461 tx_tcp_seg_failed: 0 rx_flow_control_xon: 431204 rx_flow_control_xoff: 440935 tx_flow_control_xon: 0 tx_flow_control_xoff: 0 rx_long_byte_count: 22915061515985 tx_dma_out_of_sync: 0 lro_aggregated: 0 lro_flushed: 0 lro_recycled: 0 tx_smbus: 0 rx_smbus: 0 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: 8 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: 13461284416 tx_queue_0_bytes: 13986281357541 tx_queue_0_restart: 585734 tx_queue_1_packets: 13404202361 tx_queue_1_bytes: 13866460645095 tx_queue_1_restart: 552272 tx_queue_2_packets: 13252466482 tx_queue_2_bytes: 13757757852767 tx_queue_2_restart: 627568 tx_queue_3_packets: 13271946741 tx_queue_3_bytes: 13765966418884 tx_queue_3_restart: 566809 rx_queue_0_packets: 10757725998 rx_queue_0_bytes: 5656835241021 rx_queue_0_drops: 0 rx_queue_0_csum_err: 44038 rx_queue_0_alloc_failed: 0 rx_queue_1_packets: 10896564383 rx_queue_1_bytes: 5698996322714 rx_queue_1_drops: 0 rx_queue_1_csum_err: 47003 rx_queue_1_alloc_failed: 0 rx_queue_2_packets: 10847754235 rx_queue_2_bytes: 5656266739575 rx_queue_2_drops: 0 rx_queue_2_csum_err: 44389 rx_queue_2_alloc_failed: 0 rx_queue_3_packets: 10954187852 rx_queue_3_bytes: 5729195897628 rx_queue_3_drops: 0 rx_queue_3_csum_err: 44763 rx_queue_3_alloc_failed: 0 Подскажите, куда копать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 3 апреля, 2013 · Жалоба Сервер древний как говно мамонта, больше он при всем желании не осилит. Он вероятно упирается в pps, больше пакетов через pentium4 с ddr2 не пропихнуть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zarguni Опубликовано 3 апреля, 2013 · Жалоба Сервер древний как говно мамонта, больше он при всем желании не осилит. Он вероятно упирается в pps, больше пакетов через pentium4 с ddr2 не пропихнуть. Спасибо. Были иногда такие предположения, но хотелось получить комментарий опытных людей. Буду мучить начальника. К тому же их у нас три ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
^rage^ Опубликовано 4 апреля, 2013 · Жалоба ну где uname -a , ethtool -g eth2 и прочее? правила iptables и sysctl -a | grep conntrack ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 4 апреля, 2013 · Жалоба rx_no_buffer_count: 1508 - нужно увеличить ring buffer, хотя цифра небольшая не ней проблема. А conntrack отключен? Если нет, то отключение поможет прожевать честный гигабит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zarguni Опубликовано 4 апреля, 2013 · Жалоба ну где uname -a , ethtool -g eth2 и прочее? правила iptables и sysctl -a | grep conntrack ? uname -a Linux router 3.2.29 #2 SMP Mon Sep 17 14:19:22 CDT 2012 x86_64 Intel(R) Xeon(TM) CPU 3.00GHz GenuineIntel GNU/Linux rx_no_buffer_count не растет. ethtool -g eth2 (на eth3 аналогично) Ring parameters for eth2: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 2048 RX Mini: 0 RX Jumbo: 0 TX: 2048 sysctl -a|grep conntrack error: permission denied on key 'vm.compact_memory' error: permission denied on key 'net.ipv4.route.flush' net.netfilter.nf_conntrack_generic_timeout = 60 net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 120 net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 60 net.netfilter.nf_conntrack_tcp_timeout_established = 120 net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60 net.netfilter.nf_conntrack_tcp_timeout_last_ack = 30 net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120 net.netfilter.nf_conntrack_tcp_timeout_close = 10 net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 300 net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 300 net.netfilter.nf_conntrack_tcp_loose = 1 net.netfilter.nf_conntrack_tcp_be_liberal = 0 net.netfilter.nf_conntrack_tcp_max_retrans = 3 net.netfilter.nf_conntrack_udp_timeout = 30 net.netfilter.nf_conntrack_udp_timeout_stream = 180 net.netfilter.nf_conntrack_icmp_timeout = 30 net.netfilter.nf_conntrack_acct = 0 net.netfilter.nf_conntrack_max = 1048576 net.netfilter.nf_conntrack_count = 103803 net.netfilter.nf_conntrack_buckets = 1048576 net.netfilter.nf_conntrack_checksum = 1 net.netfilter.nf_conntrack_log_invalid = 0 net.netfilter.nf_conntrack_expect_max = 256 net.ipv4.netfilter.ip_conntrack_generic_timeout = 60 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent = 120 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_sent2 = 120 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 120 net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120 net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60 net.ipv4.netfilter.ip_conntrack_tcp_timeout_last_ack = 30 net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120 net.ipv4.netfilter.ip_conntrack_tcp_timeout_close = 10 net.ipv4.netfilter.ip_conntrack_tcp_timeout_max_retrans = 300 net.ipv4.netfilter.ip_conntrack_tcp_loose = 1 net.ipv4.netfilter.ip_conntrack_tcp_be_liberal = 0 net.ipv4.netfilter.ip_conntrack_tcp_max_retrans = 3 net.ipv4.netfilter.ip_conntrack_udp_timeout = 30 net.ipv4.netfilter.ip_conntrack_udp_timeout_stream = 180 net.ipv4.netfilter.ip_conntrack_icmp_timeout = 30 net.ipv4.netfilter.ip_conntrack_max = 1048576 net.ipv4.netfilter.ip_conntrack_count = 103720 net.ipv4.netfilter.ip_conntrack_buckets = 1048576 net.ipv4.netfilter.ip_conntrack_checksum = 1 net.ipv4.netfilter.ip_conntrack_log_invalid = 0 net.nf_conntrack_max = 1048576 error: permission denied on key 'net.ipv6.route.flush' А conntrack отключен? Если нет, то отключение поможет прожевать честный гигабит. попробую Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 4 апреля, 2013 · Жалоба А conntrack отключен? Если нет, то отключение поможет прожевать честный гигабит. Если NATа нет, то отключение этого ничего не даст, кроме проблем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
bos9 Опубликовано 4 апреля, 2013 · Жалоба Если NATа нет, то отключение этого ничего не даст, кроме проблем. какого рода проблемы? просто нужно понимать, что подгруженный одним единственным стейтфулл правилом модуль ip_conntrack начинает трекать все подряд, поэтому нужно прописывать NOTRACK. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 4 апреля, 2013 · Жалоба replicant Дает его отключение эффект, дает. И единственная 'проблема' - невозможность использовать модули типа state, так их лучше в любом случае не использовать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 4 апреля, 2013 (изменено) · Жалоба replicant Дает его отключение эффект, дает. И единственная 'проблема' - невозможность использовать модули типа state, так их лучше в любом случае не использовать. Дело не в этом. У него cpu idle достаточный, чтобы все работало нормально и без потерь (сервер должен быть работоспособен даже при 90% загрузке CPU и должен пропускать трафик без задержек), а не работает по другой причине. Думается, что когда топикстартер покажет правила iptables (требуется оценить масштаб бедствий) и загрузит модуль вместо RSS=4,4 QueuePairs=0,0 InterruptThrottleRate=3,3 хотя бы с комбинированными очередями по одной очереди на одно ядро CPU (сейчас там просто невразумительный зоопарк и масса лишней работы для CPU) и без ITR=3,3, а скажем с 10000-20000, тогда можно судить об изменениях. На подобных серверах пропихивали больше гигабита при простом форвардинге (в данном случае тоже тупой форвард) без всяких проблем еще несколько лет назад, а тут даже до гигабита не добирает. Дело не в CPU и не в conntrack и тем более не в ddr2 (это уже вообще смешно), хотя conntrack_count конечно великоват, но дело не в нем. Когда в 2001-2004 годах собирали у себя маршрутизаторы на каких-то Celeron/Pentium III и даже в то время проброс трафика на Realtek 8169 (вроде такая карточка была помимо 3Com и Broadcom) достигал 400-500 Мбит/с, а тут два двухголовых Xeon... :) ------------------------------------- Задачка про conntrack для знатоков: iptables -nvL -t nat Chain PREROUTING (policy ACCEPT 4820M packets, 377G bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 47M packets, 6509M bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 2068 packets, 140K bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 4750M packets, 370G bytes) pkts bytes target prot opt in out source destination iptables -nvL -t mangle Chain PREROUTING (policy ACCEPT 3915G packets, 3052T bytes) pkts bytes target prot opt in out source destination Chain INPUT (policy ACCEPT 244M packets, 59G bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 3914G packets, 3052T bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 338M packets, 33G bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 3914G packets, 3052T bytes) pkts bytes target prot opt in out source destination iptables -nvL -t raw Chain PREROUTING (policy ACCEPT 3915G packets, 3052T bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 338M packets, 33G bytes) pkts bytes target prot opt in out source destination iptables -nvL -t filter Chain INPUT (policy ACCEPT 28M packets, 3249M bytes) pkts bytes target prot opt in out source destination 11671 1252K SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:ХХХХ Chain FORWARD (policy ACCEPT 797G packets, 617T bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 68M packets, 6049M bytes) pkts bytes target prot opt in out source destination Chain SSH (1 references) pkts bytes target prot opt in out source destination 3263 279K ACCEPT all -- * * 192.168.ХХХ 0.0.0.0/0 6303 807K ACCEPT all -- * * 192.168.ХХХ 0.0.0.0/0 1249 100K ACCEPT all -- * * 192.168.ХХХ 0.0.0.0/0 856 65768 ACCEPT all -- * * 192.168.ХХХ 0.0.0.0/0 0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 sysctl -a | grep conntrack_count net.netfilter.nf_conntrack_count = 18614 Incoming: .... . ..... . . .. . Curr: 105.45 MByte/s ######|#############|########### Avg: 107.11 MByte/s ################################ Min: 98.83 MByte/s ################################ Max: 117.48 MByte/s ################################ Ttl: 1848418.88 GByte Outgoing: Curr: 44.16 MByte/s Avg: 45.02 MByte/s Min: 40.04 MByte/s .||.|||||#||||||||||||||||...||| Max: 52.68 MByte/s ################################ Ttl: 1020552.56 GByte Сервер работает маршрутизатором, пропускает через себя трафик пачки vlan и маршрутизирует три с половиной десятка подсетей /24. Нагрузка не превышает 5-7% CPU si. В пиковые моменты трафик более 2 Гбит/с в одну сторону и около 1 Гбит/с в другую. Кобминация Intel Core Quad 9400 + DDR2 + Intel 82576 4-х портовая в bond. /sbin/modprobe igb IntMode=2,2,2,2 InterruptThrottleRate=30000,30000,30000,30000 RSS=1,1,1,1 Что здесь не так и почему? Изменено 4 апреля, 2013 пользователем replicant Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zarguni Опубликовано 5 апреля, 2013 · Жалоба Правила iptables. eth2 смотрит на провайдера, eth3 - ко мне в сеть. 194.xxx.xxx.0/24 - моя сеть # Generated by iptables-save v1.4.14 on Fri Apr 5 11:16:36 2013 *raw :PREROUTING ACCEPT [10968591:9816437007] :OUTPUT ACCEPT [13059:2108130] -A PREROUTING -j NOTRACK COMMIT # Completed on Fri Apr 5 11:16:36 2013 # Generated by iptables-save v1.4.14 on Fri Apr 5 11:16:36 2013 *nat :PREROUTING ACCEPT [99665:7719305] :INPUT ACCEPT [364:21962] :OUTPUT ACCEPT [1751:91472] :POSTROUTING ACCEPT [100706:7764918] COMMIT # Completed on Fri Apr 5 11:16:36 2013 # Generated by iptables-save v1.4.14 on Fri Apr 5 11:16:36 2013 *mangle :PREROUTING ACCEPT [13361346:11930391120] :INPUT ACCEPT [17470:8049437] :FORWARD ACCEPT [13343785:11922333340] :OUTPUT ACCEPT [15090:2234572] :POSTROUTING ACCEPT [13346791:11923103654] COMMIT # Completed on Fri Apr 5 11:16:36 2013 # Generated by iptables-save v1.4.14 on Fri Apr 5 11:16:36 2013 *filter :INPUT DROP [376:47372] :FORWARD DROP [11324:524626] :OUTPUT ACCEPT [14921:2224594] -A INPUT -p tcp -m tcp --dport 179 -j ACCEPT -A INPUT -p udp -m udp --dport 520 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth3 -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -i eth3 -p tcp -m tcp --dport 10050 -j ACCEPT -A INPUT -i eth3 -p udp -m udp --dport 10050 -j ACCEPT -A FORWARD -s 194.xxx.xxx.0/24 -o eth2.61 -j ACCEPT -A FORWARD -d 194.xxx.xxx.0/24 -i eth2.61 -j ACCEPT -A FORWARD -s 194.xxx.xxx.0/24 -o eth2.64 -j ACCEPT -A FORWARD -d 194.xxx.xxx.0/24 -i eth2.64 -j ACCEPT -A FORWARD -s 194.xxx.xxx.0/24 -o eth2.205 -j ACCEPT -A FORWARD -d 194.xxx.xxx.0/24 -i eth2.205 -j ACCEPT COMMIT # Completed on Fri Apr 5 11:16:36 2013 Драйвер теперь подгружаю с такими опциями: RSS=2,2 QueuePairs=1,1 InterruptThrottleRate=10000,10000 Прерывания раскидал по 1 на ядро. Кстати, процессоры не двухголовые. Отключение conntrack снизил нагрузку на ~10% на каждое ядро. Сегодня отпишусь о результатах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 5 апреля, 2013 · Жалоба Гипертрединг зарубите... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
zarguni Опубликовано 5 апреля, 2013 (изменено) · Жалоба Ситуация не изменилась. Хотя нагрузка на процессор меньше. 08:06:17 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 08:06:18 PM all 0.00 0.00 0.24 0.00 0.00 40.34 0.00 0.00 59.41 08:06:18 PM 0 0.00 0.00 0.94 0.00 0.00 44.34 0.00 0.00 54.72 08:06:18 PM 1 0.00 0.00 0.00 0.00 0.00 44.86 0.00 0.00 55.14 08:06:18 PM 2 0.00 0.00 0.00 0.00 0.00 36.73 0.00 0.00 63.27 08:06:18 PM 3 0.00 0.00 0.00 0.00 0.00 35.71 0.00 0.00 64.29 График подозрительно крутится около 1 Гбит/с суммарного трафика. Изменено 5 апреля, 2013 пользователем zarguni Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
replicant Опубликовано 5 апреля, 2013 · Жалоба Ситуация не изменилась. Хотя нагрузка на процессор меньше. График подозрительно крутится около 1 Гбит/с суммарного трафика. Нормально изменилась ситуация, если нагрузка хоть немного упала. Трафика походу просто больше нет, чтобы загрузить машинку больше. Важно чтобы тормоза с транзитным трафиком исчезли. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kayot Опубликовано 5 апреля, 2013 · Жалоба Если у вас там еще и HT включен - тогда как раз никаких чудес, реальная загрузка каждого CPU ровно 100%, а не 50 как система говорит. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
disappointed Опубликовано 6 апреля, 2013 · Жалоба Апгрейд сервера. Собрать можно за 1000-1300$ на corei3 i5, он такой трафик как семечки прожуёт. Всё равно по pps-у почти на пределе работает, и HT вырубить, как уже выше не раз писали. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
apm Опубликовано 7 апреля, 2013 · Жалоба Научите пожалуйста, как вы определяете что pps на пределе? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
disappointed Опубликовано 7 апреля, 2013 · Жалоба Научите пожалуйста При включёнм HT, оба "полуядра" одного проца softirq 44.34%+44.86%, второго 36+35. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mrsaygo Опубликовано 16 апреля, 2013 · Жалоба А conntrack отключен? Если нет, то отключение поможет прожевать честный гигабит. Если NATа нет, то отключение этого ничего не даст, кроме проблем. Простите, а есть ли смысл сделать rmmod nf_conntrack на тазике, где есть и простой роутинг и НАТ ? На что повлияет, слышал возможны проблемы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...