What would be the impact on performance if more and more NIC cards are added to Linux box for routing traffic to different networks.

Lets say i have 10 different networks and i only have a single Linux box configured as router to do routing.

To route traffic between 10 networks i added 10 NIC card and an extra NIC for every new network :) (I know that there are other better ways to deal with routing other than adding extra NIC for each network.)

Traffic is in the range of 1-2 Gbps.Will the Linux Router be able to handle such traffic with out dropping packets.Will adding extra NIC has any impact on performance other than netowrk i/o (if i can deal with network i/o by using more powerful CPUs).

  • We generally focused on practical problems here, not contrived what-if problems. – Zoredache Jan 10 '13 at 18:14
  • 1
    This is entirely dependent on the nature of your network traffic, what (if any) packet inspection you're performing, and the hardware in use. – EEAA Jan 10 '13 at 18:14
  • @Zoredache I need to implement this in a virtual environment,but whats the purpose of trying if this does not work.Thats y i asked it. :( – Kevin Parker Jan 10 '13 at 18:16
  • In a virtual environment you probably not run into problems such as a CPU being limited by spending almost 100% of its time handling interrupts. You because it works in a virtual state does not means it will work IRL. – Hennes Jan 10 '13 at 18:23
  • @EEAA Different services are running On Different networks some seriving video files,websites,images,Db servers.Network traffic will be under 2 Gbps,for now atleast., – Kevin Parker Jan 10 '13 at 18:25

There are a few factors that will impact performance in a case like this:

  • NIC card count
    • A few multi-port NICs or lots of 1-port NICs?
  • NIC card capabilities
  • Peripheral bus speeds
    • PCI, PCI-X, PCIe?
    • Number of busses used for all these NICs
  • Kernel overhead managing the stack
  • If anything besides routing is going on
    • Firewalling
    • Packet shaping
    • Proxying

If it's just routing, all PC hardware in the last 10ish years should be enough to shovel packets around, especially if the aggregate throughput is never over 2Gbps.

Where you'll start running into problems is when you try to throw around LOTS of traffic. At that kind of NIC density you may be approaching bus-speed limits, though it really depends on the age and capability of your hardware. In terms of CPU, so long as you're just routing it can keep up to as much as your other hardware can throw around.

  • THat said, it is stupid to try - a Mikrotik CCR has what, 16 ports, each port directory connected to 2 cores (one sending, one receiving) and costs 700 USD or so. THe price of a beast like the poster trying to build is just higher than special hardware these days ;( – TomTom Jan 10 '13 at 18:46
  • @TomTom You're not wrong. – sysadmin1138 Jan 10 '13 at 18:48

Yeah, a more powerful processor and RAM will definitely wouldn't hurt. The more NIC you add, the more memory it will use for RX and TX buffer. And more CPU power will be needed to serve the interrupt requests generated by the NIC cards.

As a simple result, more RAM and CPU power will be needed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.