Is it possible to use multiple NICs and increase throughput and/or decrease network latency? If so, what would be the scaling limit?
Network Engineering Stack Exchange is a question and answer site for network engineers. It only takes a minute to sign up.Sign up to join this community
This is an interesting but complicated topic and like most things engineering the answer is: It depends! In this case the lack of detail adds ambiguity (I'm not allowed to comment asking for clarification just yet).
Lets start with a common scenario that applies to your question. You have a file server and 4 users in an office, all connected via Gigabit Ethernet to the same switch.
The server only has 1Gbit of total bandwidth to share between all the users, so if 2 users download files at the same time they would get ~500Mbit each. This case justifies adding another NIC to increase the server total bandwidth.
Assuming the users are not saturating the new 2Gbit link, latency to the server will also improve. This is because packets will not have to be queued at either side of the link connecting the switch and server waiting their turn.
You can scale this solution until the client to server bandwidth ratio is 1:1.
Another common scenario that applies to your question. You have a file server located in New York and a bunch of users in Los Angeles. Everyone is still connected by 1Gbit links.
In this case distance starts playing a role for overall throughput. In the office scenario the latency from server to client was <1ms when the link was not saturated. However getting from NY to LA takes longer, lets say the round trip time is 100ms.
In this scenario 2 users would not be able to max out the 1Gbit link on a standard file transfer. This is because link capacity is no longer the limiting factor, rather TCP window scaling starts to play a significant role. How significant? A rough estimate (throughput = window size / round trip time) shows that a each user download will max out around ~5-6Mbit/s.
Generally, adding NICs can significantly improve throughput and by extension latency, but it 100% depends on what underlying problem you are dealing with.
Yes,The first part of your question is possible.You can very well do the NIC bonding of two NICs connected to a machine and increase the throughput.
However,Network Latency cannot be improved simply by NIC bonding.Latency will be a bottleneck due to physical limitations.
Please also note that you may also have to configure the Link aggregation at the Router/Switch side as well.