内部局域网怎么测试带宽_通信老鸟手把手教你,怎么纯正地测网速。没有瞎七倒八的套路

引言

有时需要测试网速,但是在开始使用文件传输工具来测量之前,请考虑一下,你实际测量的是什么

为了说明这一点,请假设一位数据库管理员DBA,他一直在使用千兆以太网适配器,在几个节点之间配置集群数据库。事情不太顺利,他自然而然怀疑是硬件出了问题。

所以他把你叫过去,告诉你使用sftp在节点之间移动文件时,传输速率与千兆以太网的传输速率极不匹配。

他自认为测量了网络吞吐量,但是他可能只是测量了远程系统磁盘的读写速率。因此,需要移除限制因素,即磁盘(可能还有sftp的加密开销)。

5c527ca5a4385868bd20fbf83bd3f5e7.png

Netcat

为了消除磁盘内文件转移对测量的影响,我们将使用netcat。Netcat被称为一个“功能丰富的网络调试和探索工具”。它可以从网上获得,或者已经在你所使用的发行版里了。

 which nc /usr/bin/nc

为了测试,我们使用两台主机,一台用于监听连接,另一台用于连接和发送数据流。在每个测试中,我们将使用一个10秒的会话,并且我们将在三个速度不同的lan上进行。为了从测试中消除磁盘读写的消耗,输出文件将是/dev/null。

百兆带宽

在主机A(192.168.0.8),以普通用户身份启动netcat:

nc -v -v -l -n -p 2222 >/dev/nulllistening on [any] 2222 ..

在主机B上,通过端口2222使用yes命令将数据发送到机器A,并使用netcat对会话进行计时。

time yes|nc -v -v -n 192.168.0.8 2222 >/dev/null(UNKNOWN) [192.168.0.8] 2222 (?) open

在主机 A上注意到:

connect to [192.168.0.8] from (UNKNOWN) [192.168.0.4] 34111

10秒钟后,通过键入ctl-c停止,并记下所花的时间:

sent 87478272, rcvd 0real 0m9.993suser 0m2.075ssys 0m0.939s

在主机A上,记下发送的数据(以字节为单位):

 sent 0, rcvd 87478392

现在将字节rcvd乘以8得到总位数,然后除以时间:结果是70MB/s。

千兆带宽

主机A执行:

nc -v -v -l -p 2222 >/dev/nulllistening on [any] 2222 ...

主机B执行:

yes|nc cfms5-p 2222 >/dev/nullpunt!

主机A显示:

connect to [192.168.1.5] from cfms6-p [192.168.1.6] 33855sent 0, rcvd 1155325952

同上,计算结果是 0.9Gb/s。

最后,慢速的10M带宽

配置结果如上,省略若干步骤。

...nc -v -v -l -p 80 > /dev/nulllistening on [any] 80 ......sent 0, rcvd 8437760

根据时长和接收字节数,计算结果是 6.7Mb/s。

写在最后

我们已经看到了一种使用netcat测试网速的简单方法。

至少可以表明,网速在一定程度上,与它们各自的局域网段速度一致。

那我们怎么解释,为什么达不到广告上标榜的速度呢?也许是主机上的网络驱动程序的效率不高,再加上处理器开销,拖慢了整体速度。

我是 @程序员小助手,持续分享编程故事,欢迎关注。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于局域网通信软件的自动化测试,可以采取以下方法和工具: 1. 单元测试:使用适当的单元测试框架编写和运行测试用例,验证软件的各个模块和功能是否按预期工作。常用的单元测试框架有JUnit、pytest等。 2. API测试:通过调用软件的API接口来进行测试,验证接口的输入输出是否符合预期。可以使用工具如Postman、RestAssured等进行API测试。 3. UI自动化测试:使用自动化测试工具,如Selenium WebDriver、Appium等,编写测试脚本来模拟用户操作,验证软件在不同操作系统和设备上的界面交互是否正常。 4. 性能测试自动化:使用性能测试工具,如JMeter、LoadRunner等,自动化执行性能测试脚本,模拟多个用户同时使用软件进行通信,评估软件的性能表现。 5. 集成测试自动化:通过集成测试工具,如Jenkins、Travis CI等,实现自动化构建和部署测试环境,并执行集成测试脚本,验证软件在不同环境中的集成是否正常。 6. 持续集成和持续交付:结合版本控制工具,如Git,以及自动化构建和部署工具,实现持续集成和持续交付流程,确保软件在每次更新后都能自动进行测试和部署。 以上是常用的局域网通信软件自动化测试方法和工具,根据具体需求和情况可以选择适合的方式进行测试。希望对您有所帮助!如果您有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值