首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >估计网络吞吐量是否达到

估计网络吞吐量是否达到
EN

Server Fault用户
提问于 2014-01-09 12:19:14
回答 2查看 79关注 0票数 2

我有两个进程通过TCP/IP进行通信,如下所示:进程A向进程B发送20 KB的数据,经过计算,进程B将响应(2KB)发送回A。

当我在同一台计算机中在一个循环中运行两个进程100次(编辑:每次在发送新任务之前等待上一次迭代的响应时),总执行时间为15秒。当我在连接1 Gbps网络的不同机器上运行它们时,总执行时间将增加到30秒。因此,我假设通过网络进行通信需要15秒。

我想知道,对于指定的网络吞吐量和要发送的数据量,这是否是一个合理的通信时间(15秒/ 100次= 0.15秒来发送任务和获得响应)。如果它可以更快(我倾向于这样想),我应该在哪里看(防火墙,路由等)?

使用的操作系统是Windows 7终极操作系统,如果它是相关的话。

EN

回答 2

Server Fault用户

发布于 2014-01-09 13:28:40

网络的实际吞吐量不应该是这里的一个因素,因为您甚至不会接近饱和一个1 1Gbps的链接。

现在您的应用程序必须通过OSI模型的1-6层向下移动,然后返回到接收端的应用层,在此过程中的每一步都将为连接增加非常小的延迟。

但是,尽管如此- 150毫秒对于如此少量的数据(20 2KB突发并有2kb的返回)来说是相当长的时间,所以除非您的网络拥挤,或者有一些严格的QoS,那么网络的添加就没有理由让它花费那么长的时间。如果您愿意的话,您可以自己测试--发送一个大小为20 an的ICMP数据包,并查看得到响应所需的时间。(ping X.X -l 20480)。

但是老实说,这里还有很多其他因素在起作用,同时运行100个应用程序实例只会使事情变得更加复杂。当您运行一个实例时,实际需要多长时间?

票数 2
EN

Server Fault用户

发布于 2014-01-09 13:03:18

认为这是一个网络容量问题是不对的(当然,除非其他东西正在蚕食带宽)。说到并完成所有操作时,100个事务的总数据传输量为2.2MB,这实际上并不算什么。

  • 检查其他系统的网络使用情况--我怀疑这是个问题。
  • 远程系统是否与本地系统一样快地处理数据。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/566089

复制
相关文章

相似问题

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