I'm trying to determine the latency and bandwidth between the server and various clients in a multi-tier system. I believe the easiest item to get is the "goodput" or the effective Application-layer rate, but the latency is a bit harder to get at, yet harder still is the true bandwidth that includes "window size" and other technical factors.
I'm looking for either a description of how to most accurately calculate this from either the client or server perspective... as long as I am able to run the server on Azure.
I'm open to (but not limited to) using IIS to stream a series of bytes, a TCP-based WCF service, but the solution needs to be .NET based.
UPDATE
I added a bounty to this question since there is so much information out there... and yet much seems to conflict each other, or have missing data, especially in a .NET implementation. I'm most interested in having 2 implementations C# or Silverlight.
Some networking Gurus have said I need to take the "slow start" of TCP window size into consideration.