LINUX.ORG.RU
ФорумAdmin

Низкая прокача трафика


2

2

Здравствуйте. Подскажите куда копать.

Cхема: сервер.1 ----- сервер.2 ------ сервер.3 --- клиенты

между серверами поднят 1Г.

При ~ 300 мегабитах начинаются потери и задержки.

Провел 3 замера:

сервер.1 ------ сервер.3 - 355 Mbits/sec.

сервер.1 ------ сервер.2 - 728 Mbits/sec.

сервер.2 ------ сервер.3 - 728 Mbits/sec.

На сервере.1 сетевая bnx2. На сервере.2 сетевая e1000. На интерфейсах дропов и ошибок нет. Прерывания сетевых раскиданы по ядрам. На всех серверах Дебиан. Загрузка CPU +- 0,08, во время тестов +- 0.1-0.2, памяти предостаточно.

Очевидно что сервера не прокачивают (хотя на вход/исход все нормально), может есть какие-то тонкости в настройке ядра (2.6.32-5) которые я упускаю?

Спасибо.



Последнее исправление: feo (всего исправлений: 1)

Меня бы смутило, что 355 это очень близко к половине от 728.

Если прием и отправление на сервер 2 осуществляет одна карта, то man 1000BASE-T, 250 мегабит по одной паре. всего используется 4-ре пары, соотв. одновременно (при проброске пакетов) 2 задействованы на прием сигнала, 2 на отдачу.

soomrack ★★★★
()

Переобжать кабель?

zolden ★★★★★
()
Ответ на: комментарий от soomrack

man 1000BASE-T, 250 мегабит по одной паре. всего используется 4-ре пары, соотв. одновременно (при проброске пакетов) 2 задействованы на прием сигнала, 2 на отдачу.

в самом деле man 1000BaseT. 1000BaseT позволяет передавать гигабит в полном дуплексе. Гигабит в одну сторону + гигабит в другую одновременно. Совершенно так же не ясно к чему тут 728. Гигабитная сеть отлично прокачивает >900 мегабит.

ventilator ★★★
()

и как разбросаны прерывания? покажите /proc/interrupts

ventilator ★★★
()
Ответ на: комментарий от feo

250 мегабит по одной паре. всего используется 4-ре пары

bidirecional

xscrew ★★
()
Ответ на: комментарий от ventilator

А ты не путаешь с 1000BASE-TX, который требует кабели 6-ой категории?

Совершенно так же не ясно к чему тут 728. Гигабитная сеть отлично прокачивает >900 мегабит.

В этом ТС тоже стоит разобраться.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

А ты не путаешь с 1000BASE-TX, который требует кабели 6-ой категории?

Не путаю, T и TX дают одну и ту же скорость. Прямо сейчас 900 мегабит дуплекса через cat5e патчкорды подтверждают это.

ventilator ★★★
()
Ответ на: комментарий от soomrack

Причем передача по каждой паре ведется в двух направлениях. В соответствии с ANSI/TIA-854 (1000Base-TX) физически разделены передающие и приемные пары, т.е. по двум парам данные передаются со скоросью 500Мбит/с, по двум другим передача ведется с той же скоростью в обратном направлении. Для работы такого приложения требуется более высокое качество кабельной системы (КС).

Очевидно это писал неграмотный человек, который не слышал про разделение направлений с помощью дифсистем и никогда не сталкивался на практике с 1000BaseT. Ничто не мешает передавать по каждой паре в обе стороны _одновременно_.

ventilator ★★★
()
Ответ на: комментарий от ventilator

Опять путаешь.

1000BaseT — позволяет передавать в обе стороны одновременно по одной паре, но 250 на пару, всего 4 пары.

1000BaseTX — не позволяет передавать в обе одновременно по одной паре. но 500 на пару, всего 4 пары.

http://www.scribd.com/doc/46141801/802-3ab-1999

soomrack ★★★★
()
Ответ на: комментарий от soomrack

Мы можем пойти от обратного. Расскажите к примеру как вот такая карта(или другая) http://www.intel.com/content/www/us/en/ethernet-controllers/82576-gbe-control... Обеспечивает дуплексную передачу на гигабите? И что же все таки значит:

# ethtool eth1
Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair

Гигабит передает 1000 дуплекса. И в оба направления одновременно. А то согласно вашей логике скоро выйдет что WDM существовать не может в природе и на одном волокне дуплексной связи не бывает.

ventilator ★★★
()
Ответ на: комментарий от ventilator

Я так понимаю, что с документом стандарта по ссылке вы не ознакомились.

страница 25:

The 1000BASE-T PHY employs full duplex baseband transmission over four pairs of Category 5 balancedcabling. The aggregate data rate of 1000 Mb/s is achieved by transmission at a data rate of 250 Mb/s overeach wire pair, as shown inFigure 40-2.The use of hybrids and cancellers enables full duplex transmissionby allowing symbols to be transmitted and received on the same wire pairs at the same time. Baseband sig-naling with a modulation rate of 125 Mbaud is used on each of the wire pairs. The transmitted symbols areselected from a four-dimensional 5-level symbol constellation. Each four-dimensional symbol can be viewedas a 4-tuple (A_n, B_n, C_n, D_n) of one-dimensional quinary symbols taken from the set {2, 1, 0, –1, –2}.1000BASE-T uses a continuous signaling system; in the absence of data, Idle symbols are transmitted. Idlemode is a subset of code-groups in that each symbol is restricted to the set {2, 0, –2}to improve synchroniza-tion. Five-level Pulse Amplitude Modulation (PAM5) is employed for transmission over each wire pair. Themodulation rate of 125 MBaud matches the GMII clock rate of 125 MHz and results in a symbol period of 8 ns.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

802.3: CSMA/CDIEEE Std 802.3ab-1999Copyright © 1999 IEEE. All rights reserved. 89 40.7 Link segment characteristics 1000BASE-T is designed to operate over a 4-pair Category 5 balanced cabling system. Each of the four pairssupports an effective data rate of 250 Mbps in each direction simultaneously. The term “link segment” usedin this clause refers to four duplex channels. The term “duplex channel” will be used to refer to a singlechannel with full duplex capability. Specifications for a link segment apply equally to each of the fourduplex channels. All implementations of the balanced cabling link shall be compatible at the MDI.

Вы читайте сначала свои же пруфы, а потом пишите.

ventilator ★★★
()
Ответ на: комментарий от soomrack

Each of the four pairssupports an effective data rate of 250 Mbps in each direction simultaneously.

Это по вашему что значит?

ventilator ★★★
()
Ответ на: комментарий от soomrack

Сразу видно тех,кто не управлял железкой, у которой порты > 80% утилизации в оба напраления

pr0mille
()
Ответ на: комментарий от soomrack

Я уже не говорю про то что в вашей же цитате написано «The use of hybrids and cancellers enables full duplex transmission by allowing symbols to be transmitted and received on the same wire pairs at the same time.»

ventilator ★★★
()
Ответ на: комментарий от ventilator

мисье слишком жесток, так даже котят в каку не мокают

anonymous
()
Ответ на: комментарий от ventilator

Это вы читать научитесь:

1000BaseT — позволяет передавать в обе стороны одновременно по одной паре, но 250 на пару, всего 4 пары.

1000BaseTX — не позволяет передавать в обе одновременно по одной паре. но 500 на пару, всего 4 пары.

Я привел цитату для первого стандарта. Там одновременная передача в оба направления по любой паре есть. Во втором — нет. Документ соотв. стандарта (TIA/EIA-854) читайте сами.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

Читал агга, когда учился, а еще физику учил и теорию сигналов. Вы тут давеча писали буквально:

250 мегабит по одной паре. всего используется 4-ре пары, соотв. >одновременно (при проброске пакетов) 2 задействованы на прием >сигнала, 2 на отдачу.

А потом оказывается что я плохо читал не тот документ. В то время как у меня, и кучи других людей 1000BaseT + cat5e отлично прокачивает гигабит дуплекса.

ventilator ★★★
()
Ответ на: комментарий от ventilator

Клавиша Х плохо нажимается. Повидимому из-за этого недоразумения. Имелось ввиду, что 1000BASE-TX мог быть пущен по 5 категории, и соотв. могли получить не дуплек по каждой паре. А т.к. 5 кат это не 6 кат, то и скорость не 500, а 250.

soomrack ★★★★
()
Ответ на: комментарий от soomrack

Если бы вы работали с оборудованием, то знали бы что описаный вами только что случай явно противоречит этой инфе от ТС:

На интерфейсах дропов и ошибок нет.

Ну если не учитывать того что в исходном вашем месседже негде жать кнопку X которая не работает)

ventilator ★★★
()

Покажите таки ethtool -S eth0 и ethtool -g eth0. И какие именно карты используются, если это именно e1000 то там может не хватить PCI шины( если там PCI)

ventilator ★★★
()
Ответ на: комментарий от ventilator

1000BASE-T по времени разделяет дюплекс или там идет уплотнение среды (передача на разных частотах) в разных направлениях?

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ventilator

Сервер.2

ethtool -S eth2

NIC statistics:
     rx_packets: 10860541579
     tx_packets: 15250890205
     rx_bytes: 6310413650746
     tx_bytes: 17455328688179
     rx_broadcast: 4
     tx_broadcast: 741
     rx_multicast: 0
     tx_multicast: 51
     rx_errors: 40
     tx_errors: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 45
     rx_frame_errors: 2
     rx_no_buffer_count: 788
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_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
     tx_restart_queue: 61794579
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 2
     tx_tcp_seg_good: 84327
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 8931783
     tx_flow_control_xoff: 8954862
     rx_long_byte_count: 6310413650746
     rx_csum_offload_good: 10682220972
     rx_csum_offload_errors: 351
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0

ethtool -g eth2

Ring parameters for eth2:
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:             256

ethtool -S eth3
NIC statistics:
     rx_packets: 15672265995
     tx_packets: 10955442709
     rx_bytes: 17524781967342
     tx_bytes: 6322429422780
     rx_broadcast: 305078
     tx_broadcast: 236425
     rx_multicast: 39895
     tx_multicast: 90
     rx_errors: 1
     tx_errors: 0
     tx_dropped: 0
     multicast: 39895
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 2
     rx_frame_errors: 0
     rx_no_buffer_count: 121176
     rx_missed_errors: 222590
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_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
     tx_restart_queue: 297115
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 240125
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 151915
     tx_flow_control_xoff: 373587
     rx_long_byte_count: 17524781967342
     rx_csum_offload_good: 14659649251
     rx_csum_offload_errors: 1290409
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0

ethtool -g eth3

Ring parameters for eth3:
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:             256


cat /proc/interrupts
           CPU0       CPU1
  0:      13981      14255   IO-APIC-edge      timer
  1:          2          0   IO-APIC-edge      i8042
  8:          0          1   IO-APIC-edge      rtc0
  9:          0          0   IO-APIC-fasteoi   acpi
 16: 4015671447 4015615222   IO-APIC-fasteoi   uhci_hcd:usb3, eth3
 17: 1955076876 1955132226   IO-APIC-fasteoi   HDA Intel, eth2
 18:         47         64   IO-APIC-fasteoi   ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
 19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb7
 21:        119        133   IO-APIC-fasteoi   uhci_hcd:usb4
 22:    3288619    3289762   IO-APIC-fasteoi   ata_piix, ata_piix
 23:          0          0   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb6
 27:    7488012    7487589   PCI-MSI-edge      eth1
NMI:          0          0   Non-maskable interrupts
LOC:  621744319  683629506   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:          0          0   Performance monitoring interrupts
PND:          0          0   Performance pending work
RES:  113536672  121424047   Rescheduling interrupts
CAL:         31         63   Function call interrupts
TLB:    1052362    1047436   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:      28191      28191   Machine check polls
ERR:          0
MIS:          0
feo
() автор топика
Ответ на: комментарий от ktulhu666

1000BASE-T по времени разделяет дюплекс или там идет уплотнение среды (передача на разных частотах) в разных направлениях?

Ни то, ни другое. Просто передается в две стороны одновременно, а разделяется дифсистемой, когда от сигнала в кабеле отнимается тот что передается и остается тот что передан нам( это если очень упрошенн). Это весьма популярный способ разделять сигнал по направлениям в системах передачи.

ventilator ★★★
()
Ответ на: комментарий от feo

Крайне плохо что eth3 и eth2 разделяют прерывания с другими устройствами. Кроме того PCI-MSI на этих картах нету, это тоже очень плохо. Я никогда не использую для роутинга системы без PCI-MSI если нужна производительность.

В первую очередь смотрите на

rx_no_buffer_count: 121176

Это значит OS не успевает выгребать пакеты с карты. Обычно это происходит когда слишком много работы с пакетами в netfilter(проверьте правила iptables), при маршрутизации(это крайне редко). Можете для начала попробовать

ethtool -G eth1 tx 4096
ethtool -G eth1 rx 4096
Аналогично на всех картах, поставить максимальное количество дескрипторов.

ventilator ★★★
()
Ответ на: комментарий от ventilator

А можете пожалуйста с теоретической точки зрения объяснить что оно дает, ну чтоб знать для себя.

feo
() автор топика
Ответ на: комментарий от feo

Это повышает размер кольцевого буффера интерфейса. Чем выше это значение тем больше данных туда влезет и большая вероятность того что операционная система заберет пакет до того как буфер переполнится. На самом деле мне кажется что у вас проблема связана разделяемыми прерываниями, посмотрите быть может есть возможноть поменять прерывания/отключить устройства в bios. У вас есть что то в iptables? и какие именно карты используются?

ventilator ★★★
()
Ответ на: комментарий от ventilator

ethtool -i eth2 driver: e1000 version: 7.3.21-k5-NAPI firmware-version: N/A bus-info: 0000:04:01.0

Только одно правило nat (на черный день). И роутов около 8к.

feo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.