我有一个客户端从服务器发出并行数据请求。每个请求都使用单独的TCP连接。我想基于接收的数据估计可用的吞吐量(带宽)。
我知道对于一个连接TCP连接我可以通过将下载的数据量除以下载数据所花费的时间来实现。但是考虑到有多个并发连接,总结连接下载的所有数据并将总和除以发送第一个请求和最后一个字节的到达时间之间的持续时间是正确的(即,最后完成的下载的最后一个字节)?或者我在这里忽略了什么?
答案 0 :(得分:0)
您需要进行加权平均。设B(n)为连接'n'处理的字节,T(n)是处理这些字节所需的时间。总吞吐量是:
double throughput=0;
for (int n=0; n<Nmax; ++n)
{
throughput += B(n) / T(n);
}
throughtput /= Nmax;