1

Assume we have an infinitely powerful CPU, and super fast IO communication with RAM and harddisk. On this powerful host, I have a server program which does two things - accepts files from the user and stores it on disk, and returns the files to the user when requested. Assume the even the network is infinitely fast. But Network interface card speed is 1 Gbit/s.

  1. Will NIC be bottleneck with reading file from user and returning it back when requested ?

  2. How often does NIC become bottleneck in real world ?

  • The network (not merely the NIC, your router/ISP is often slower) is such a big bottleneck that sometimes single-threaded software such as servers written in node.js can perform as fast or even faster than multi-threaded software written in C. I/O is the primary bottleneck of network servers and the network is the primary bottleneck of I/O (unless you have insanely fast 10Gbps LAN - that would be faster than SATA) – slebetman Oct 27 '15 at 8:40
  • So I'd say in the real world the network is a bottleneck 99% of the time for servers. And the NIC would be a bottleneck around 1% of the time because your router/modem would probably be slower. – slebetman Oct 27 '15 at 8:42
9

Of course the NIC can be a bottleneck, if you have a NIC that can only handle a link of 100mbps, you can only transfer data at a max of 100mbps through that NIC - regardless of the other hardware specs of any hardware on the network. Same for if you have a 1Gbps NIC, the max throughput through that single NIC can only be 1Gbps.

Your network is only as fast as the interfaces the network needs to communicate via.

4

Anything network traffic flows through can be a bottleneck. Large, popular websites usually use multiple servers behind load balancers to, among other things, keep the NIC(s) on one server from becoming a bottleneck.

You need to look at every point in a network to see where the bottlenecks are. For instance, many people will install a 48-port switch with 1 Gb ports, but have only a 1 Gb uplink to serve all the 1 Gb access ports. Cisco did some studies, and has recommended that the Access to Distribution ratio be no larger than 20:1.

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