At the TCP level, you should monitor the TCP: Connections Established counter regularly. You might notice a pattern in which the counter value often reaches, but rarely exceeds, a maximum (that is, the graphed line rises and then plateaus at a peak). If so, the peak value is likely to indicate the maximum number of connections that can be established with the current bandwidth and application workload. If you observe such a pattern, the server probably cannot support any greater demand.
Failure to support current or increasing demand also might be evident from the number of connection failures and resets. The counters that monitor failures and resets show cumulative values, but you can set Performance Monitor alerts on the values or use PerfLog to log values over time. You can then use a spreadsheet to calculate the rates at which connections are rejected and reset. An increasing number of failures and resets or a consistently increasing rate of failures and resets might indicate a bandwidth shortage.
Be cautious when interpreting the number of reset connections shown by the TCP: Connections Reset counter. Resets do not always indicate dropped or failed connections. Many browsers try to minimize connection overhead by routinely closing connections by sending a TCP reset (RST) packet, rather than by closing the connection with a normal close operation. The TCP: Connections Reset counter does not distinguish between connections reset because they are dropped and those reset to close connections abruptly.