Detecting network connection speed and bandwidth usage in C#

Try using the System.Net.NetworkInformation classes. In particular, System.Net.NetworkInformation.IPv4InterfaceStatistics ought to have some information along the lines of what you’re looking for. Specifically, you can check the bytesReceived property, wait a given interval, and then check the bytesReceived property again to get an idea of how many bytes/second your connection is processing. To get a good … Read more

Best way to load balance across multiple static file servers for even an bandwidth distribution?

Draw a picture of your request/response cycle for the application and isolate the bottleneck. You are correct that a single proxy distributing load to many application servers will require the aggregate bandwidth of all application servers. The classical solution is RR DNS. Google, Yahoo and Amazon all use this technique with a short TTL. I … Read more

Do multiple network connections between switches increase bandwidth?

No. If your unmanaged switches are so simple that they don’t do Spanning Tree Protocol (STP), connecting the second cable between them would cause a bridging loop, instantly saturating your network, making your network unusable until you remove the second cable. If they do do STP, then only one of the switch-to-switch links will be … Read more