Hello!

 

Recently set up two server with the following configuration:

HP ProLiant DL360 G7, 16 GB RAM, 2x Quad Core X5675 @ 3.07GHz

 

Linux Kernel 2.6.39.4, ixgbe 3.7.14-NAPI

 

Network interfaces

Eth0 - 09:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
SFI/SFP+ Network Connection (rev 01)

Eth1 - 09:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
SFI/SFP+ Network Connection (rev 01)

Eth2 - 03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II
BCM5709 Gigabit Ethernet (rev 20)

Eth3 - 03:00.1 Ethernet controller: Broadcom Corporation NetXtreme II
BCM5709 Gigabit Ethernet (rev 20)

Eth4 - 04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II
BCM5709 Gigabit Ethernet (rev 20)

Eth5 - 04:00.1 Ethernet controller: Broadcom Corporation NetXtreme II
BCM5709 Gigabit Ethernet (rev 20)

 

Servers are directly connected through eth5 NICs for sessions
synchronization.

eth0 and eth1 interfaces aggregated into a single 20G bond0 (802.3ad)
interface connected to Cisco 3750X switch stack

Network topology is one-armed router or router on a stick. 

 

During testing with default iperf settings traffic reached 19,5 Gbit/s IN
without Discards and CPU usage was 60%.

 

Both servers are used as Load Balancers for LVS Tunnel (routing). So servers
handle only inbound traffic. GSO, GRO and LRO are disabled.

 

Currently we have approx. 3,5 Gbit/s inbound traffic, 1,2 M inbound
packets/sec and CPU Utilization 55-60% per single core.

 

With Six-Core CPUs and HT we got 24 TxRx queues and only 16 of them are
loaded.

Try to set bonding.tx_queues=24 and ixgbe.RSS=24,24 but got:

ixgbe: Invalid Receive-Side Scaling (RSS) specified (24),  using default.

 

According to the documentation 82599-based network connections support up to
64 queues.

Is it possible to use more than TxRx 16 queues for routing?

Or maybe there are some other technologies useful for equally distributing
routing traffic to all 24 queues? Considering that clients can come from
various ip addresses.

 

Are there any advantages of disabling Flow Control while routing?

 

 

Ethtool output

 

# ethtool -i eth0

driver: ixgbe

version: 3.7.14-NAPI

firmware-version: 0x18bf0001

bus-info: 0000:09:00.0

supports-statistics: yes

supports-test: yes

supports-eeprom-access: yes

supports-register-dump: yes

 

# ethtool -c eth0

Coalesce parameters for eth0:

Adaptive RX: off  TX: off

stats-block-usecs: 0

sample-interval: 0

pkt-rate-low: 0

pkt-rate-high: 0

 

rx-usecs: 1

rx-frames: 0

rx-usecs-irq: 0

rx-frames-irq: 0

 

tx-usecs: 0

tx-frames: 0

tx-usecs-irq: 0

tx-frames-irq: 256

 

rx-usecs-low: 0

rx-frame-low: 0

tx-usecs-low: 0

tx-frame-low: 0

 

rx-usecs-high: 0

rx-frame-high: 0

tx-usecs-high: 0

tx-frame-high: 0

 

# ethtool -g eth0

Ring parameters for eth0:

Pre-set maximums:

RX:             4096

RX Mini:        0

RX Jumbo:       0

TX:             4096

Current hardware settings:

RX:             4096

RX Mini:        0

RX Jumbo:       0

TX:             4096

 

# 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 -S eth0

NIC statistics:

     rx_packets: 8830720773

     tx_packets: 8831192772

     rx_bytes: 2772419463465

     tx_bytes: 2916337716501

     rx_errors: 0

     tx_errors: 0

     rx_dropped: 0

     tx_dropped: 0

     multicast: 1729

     collisions: 0

     rx_over_errors: 0

     rx_crc_errors: 0

     rx_frame_errors: 0

     rx_fifo_errors: 0

     rx_missed_errors: 115405

     tx_aborted_errors: 0

     tx_carrier_errors: 0

     tx_fifo_errors: 0

     tx_heartbeat_errors: 0

     rx_pkts_nic: 8830720806

     tx_pkts_nic: 8831192792

     rx_bytes_nic: 2807789549695

     tx_bytes_nic: 2951760095381

     lsc_int: 4

     tx_busy: 0

     non_eop_descs: 0

     broadcast: 26209

     rx_no_buffer_count: 0

     tx_timeout_count: 0

     tx_restart_queue: 19

     rx_long_length_errors: 0

     rx_short_length_errors: 0

     tx_flow_control_xon: 19

     rx_flow_control_xon: 0

     tx_flow_control_xoff: 1203

     rx_flow_control_xoff: 0

     rx_csum_offload_errors: 131605

     alloc_rx_page_failed: 0

     alloc_rx_buff_failed: 0

     lro_aggregated: 0

     lro_flushed: 0

     lro_recycled: 0

     rx_no_dma_resources: 0

     hw_rsc_aggregated: 0

     hw_rsc_flushed: 0

     fdir_match: 7944521

     fdir_miss: 9050543560

     fdir_overflow: 878

     os2bmc_rx_by_bmc: 0

     os2bmc_tx_by_bmc: 0

     os2bmc_tx_by_host: 0

     os2bmc_rx_by_host: 0

 

 

Best regards,

Aleksey

 

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to