首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何测量网络压力?

如何测量网络压力?
EN

Stack Overflow用户
提问于 2014-11-17 10:30:32
回答 1查看 701关注 0票数 8

假设我正在构建自己的下载加速器。

让我们把它简化到这样一点:

  • 我的代码运行在第三方,其网络参数我无法控制。
  • 从单个IP下载项目。
  • 并行范围传输的数量是可调的。
  • 为了学习理想的参数,将会有很多的转换。
  • 客户端运行Linux
  • 服务器不在我的控制范围之内
  • 路径通过广域网,下载通过HTTPS。
  • 下载的片段很大。

如何衡量是否使用了足够的连接来满足客户端和服务器之间的路径?

getsockopt(..., TCP_INFO)中的哪些位实际上是有用的?

我能以多快的速度适应变化的网络环境?

可以在客户端系统上测量CPU和内存压力,那么网络压力如何?

EN

回答 1

Stack Overflow用户

发布于 2015-11-16 18:38:20

答案很简单:一个TCP连接就足以填满客户机和服务器之间的路径。

至少,在客户端和服务器之间的标准TCP/IP协议和标准网络设备中是这样的。如果路径中有一些设备正在执行某种自定义处理,即“节流”单个TCP连接,那么答案可能是不同的。但是在这种情况下,除非您确切地指定了自定义处理是什么,否则就不可能回答。正如其他人所评论的,在大多数情况下,网络流量的成形或限制可能是基于IP地址而不是基于TCP报头,因此创建额外的TCP连接不会有帮助。如果你的情况是不同的,这可能是有趣的听到-请进一步解释。

在我看来(当然,你可能不同意),关于构建一个定制的“下载加速器”的问题,真正的答案是:不要这样做。TCP工作得很好,就像它一样。除了一些特殊情况(例如SCPS-TP)之外,您不太可能通过玩弄多个连接或扰乱套接字选项来提高TCP性能。如果您确实设法提高了性能,那么您这样做可能是以降低其他用户的总体网络性能为代价。这是不明智的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26970606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档