In Performance Monitor, there is an object called Network Interface. What does it mean and under what circumstances would you use it?
The Network Interface object available from Performance Monitor (System Monitor) is used to monitor activity in each of the network cards in your server. If you have more than one network card in your server, you will see one instance of each counter for every network card you have.
While this particular performance object has many counters, there are a couple I use off and on. Here they are, with a brief description of how I use them.
- Bytes Total/Sec: I use this counter more than any of the others for this performance object. It measures the total (sent and received) amount of data (in bytes) moved between the server and the network. This counter gives me a feel for how much data is being moved and how busy the network connection is. This number is most useful when compared to different time periods, rather than as an absolute measurement.
- Current Bandwidth: This counter essentially what the maximum speed is for your network adapter card, not what the current bandwidth being used at the moment is. If you know the bandwidth of your network card, such as 10Mbs, 100Mbs, 1Gbs, then you really don’t need this counter to tell you what you already know. But, sometimes a network card may not be performing at the speed it should. For example, I have seen many 10/100Mbs cards, run at unexpected speeds, such as a 100Mbs card actually running at 10Mbs instead of 100Mbs because the card could not auto-negotiate the speed correctly. If you think your network performance is slow, be sure to check to see that what you expect to be getting from your card matches what you get from this counter.
- Output Queue Length: Assuming this counter works, and it doesn’t always work as described, what it is supposed to tell you is how many packets are being held in a queue, waiting to be sent from the network card to the network. Generally, this will be zero. But if your server is very busy, it is possible that packets might have to wait for a very short amount of time before they can be delivered. As a rule of thumb, if the output queue length exceeds 2 or more for a period of 10 minutes or so at a time, mostly likely you have a network performance problem, and this is causing a network bottleneck. The cause of this problem could lie in several areas, including a bad network card driver, a slow network card, a network problem, a hub or switch problem, and so on. Or, it may just be because your SQL Server is very, very busy, and the load is just too much for the network card or the network itself. If this is the case, either reduce the load, or get a faster network card (or add additional network cards).
There are several other counters for this object, such as Packets Outbound Discarded, Packets Outbound Errors, Packets Inbound Discarded, Packets Inbound Errors, and others, that might be of use from time to time when troubleshooting network performance.
If you haven’t checked out these counters before, you might want to take a few moments sometimes just to familiarize yourself when them, just in case you run across a situation where they may be helpful to you.