如何使用c#计算带宽

发布于 2024-10-02 12:39:51 字数 429 浏览 1 评论 0原文

我想使用 C# 测量带宽。这是我所做的。欢迎提出意见和建议。

  1. 查找最大 udp 有效负载(在我的测试台上,其 1472 字节)
  2. 创建具有 1472 字节大小的不可压缩数据
  3. 多次将此数据从服务器发送到客户端(在我的测试中,其 5000 个数据包)
  4. 客户端在第一次时启动秒表数据包到达
  5. 当所有数据已发送时,向客户端发送通知,说明所有数据已发送
  6. 客户端停止秒表
  7. 我计算带宽为(发送的总数据包(5000)* MTU(1500 字节))/时间流逝
  8. 我注意到一些数据包丢失。最好的,损失20%。最坏的情况下损失40%。我在计算带宽时没有考虑到这一点。我怀疑客户端网络设备遇到缓冲区溢出。我需要考虑这个因素吗?

如果大家有任何建议或意见,请随时提出。

谢谢。

I want to measure bandwidh using c#. Here what I did. Comments and suggestions are welcome.

  1. Find maximum udp payload(on my test bed, its 1472 byte)
  2. Create non compressible data with 1472 byte size
  3. Send this data from a server to a client multiple times(on my test, its 5000 packets)
  4. Client start stopwatch at the time the first packet arrive
  5. When all data has been sent, send notification to client stating all data has been sent
  6. Client stop stopwatch
  7. I calculate bandwidth as (total packet sent(5000) * MTU(1500bytes)) / time lapse
  8. I notice that some packets are loss. a best, 20% loss. at worst 40% loss. I did not account this when calculating the bandwidth. I suspect client network device experience buffer overrun. Do I need to take account this factor?

If you guys have any suggestion or comment, feel free to do so.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

本王不退位尔等都是臣 2024-10-09 12:39:51

为了计算带宽,我将使用 TCP 而不是 UDP。当您使用 UDP 时,所有数据报可能会通过您的网卡(以 100mbps)快速传出,并在链的“最慢链路”处排队(例如 512kbps 电缆调制解调器/路由器)。如果队列缓冲区已满,则数据报可能会被丢弃。所以你的测试不太可靠。

我会使用 TCP 并进行一些数学运算,将 tcp 速度 (KB/s) 转换为吞吐量 (Mbps)(我认为 TCP 开销约为 8%)

To calculate bandwith, I would use TCP instead of UDP. When you use UDP all the datagrams may get out really fast through your network card (at 100mbps) and get queued at the "slowest link" of the chain (e.g. a 512kbps cable modem/router). If the queue buffer gets full, its likely that datagrams will be discarded. So your test is not very reliable.

I would use TCP and make some math to transform tcp speed (KB/s) to throughput (Mbps) (I think TCP overhead is around 8%)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文