我在一家ISP公司工作.我们正在为客户开发速度测试仪,但遇到了TCP速度测试的一些问题.
一个客户端的总持续时间为102秒,传输100 MB,数据包大小为8192. 100.000.000/8192 = 12.202数据包.如果客户端每隔一个数据包发送一个ACK,这个数据似乎很多时候只是发送ACK.假设客户端发送6000个ACK并且RTT是15ms - 那就是6000*7.5 = 45.000ms = 45秒仅用于ACK?
如果我将此计算用于Mbit/s:
(((sizeof_download_in_bytes / durationinseconds) /1000) /1000) * 8 = Mbp/s
Run Code Online (Sandbox Code Playgroud)
我将得到Mbp/s的结果,但随后发送者和客户端之间的TTL越高,Mbp/s的速度就越低.
为了模拟用户离服务器更近,在Mbp/s的最终结果中删除ACK响应时间是否"合法"?这就像模拟终端用户是否靠近服务器?
所以我会向最终用户显示这个计算:
(((sizeof_download_in_bytes / (durationinseconds - 45sec)) /1000)/1000) * 8 = Mbp/s
Run Code Online (Sandbox Code Playgroud)
这有效吗?
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |