0

In my lab environment, I am doing a stress testing for a application running on 3 Centos 5.4 servers.All of the work of the application is recevie the data from network and make two copy on any other two server. The application will bind one IP address saved in configuration file when it startup. For find the bottleneck in performance,I increase network interface card from one to three and assign distinct ip address for each NIC on each server.

Now I have three servers with three NICs and can running 3 application instance on each server.One instance bind one ip.All the nine IP address is on same subnet listing below

  • server1: 10.24.1.41/24,10.24.1.51/24,10.24.1.61/24
  • server2: 10.24.1.42/24,10.24.1.52/24,10.24.1.62/24
  • server3: 10.24.1.43/24,10.24.1.53/24,10.24.1.63/24

When running the stress test tools,i found the traffic is balance in incoming direction for the three NICs but nor the outgoing direction. 90% traffic is send via the eth0.

I list the NIC stat grap by command "sar -n DEV 10" as below

11:25:39 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s 
11:25:49 AM        lo    669.90    669.90   4727.13   4727.13 
11:25:49 AM      eth0  12290.80  23736.20   9183.59  18736.31 
11:25:49 AM      eth1   6056.10      0.00   8522.95      0.00 
11:25:49 AM      eth2   6048.10      0.00   8514.29      0.00 
11:25:49 AM      eth3      0.00      0.00      0.00      0.00 
11:25:49 AM      sit0      0.00      0.00      0.00      0.00 

11:25:49 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s 
11:25:59 AM        lo   1106.80   1106.80   8044.32   8044.32 
11:25:59 AM      eth0  22891.80  41899.20  16967.78  32745.58 
11:25:59 AM      eth1  10641.70      0.00  15173.43      0.00 
11:25:59 AM      eth2  10982.20      0.00  15663.58      0.00 
11:25:59 AM      eth3      0.00      0.00      0.00      0.00 
splattne
  • 28,508
  • 20
  • 98
  • 148
Lei Hu
  • 1
  • 2

1 Answers1

1

There are two methods that are usually used to accomplish this. The first is bonding:

http://www.linuxfoundation.org/collaborate/workgroups/networking/bonding

You can set this up so the three interfaces show up as one and round-robin outbound traffic amongst all three interfaces. This has the added benefit of providing some redundancy if one of the interfaces fails as well.

The other method is to figure out what service you are doing all this traffic to and using DNAT in iptables to round-robin requests to that service amongst multiple IPs/interfaces and route them such that each one uses a unique interface.

polynomial
  • 4,016
  • 14
  • 24