概述
下面我们使用 netcat 来测试一下在千兆网中 tcp 可以达到的吞吐量。
在 atom 机器 发送到 e6400 机器:
- e6400: 在5001端口监听,收数据。
- atom:从
/dev/sero
读一千兆数据,发送到5001端口(注:/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件)
扩展:命令学习
dd命令:
- 用于读取、转换并输出数据。
- 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
参数:
if=文件名:输入文件名,默认为标准输入。即指定源文件。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
nc命令
- netcat的简写,有着网络界的瑞士军刀美誉。一款功能强大的网络工具
参数:
l 用于指定nc将处于侦听模式。该参数意味着nc被当作server,侦听并接受连接。
本地测试:从 atmo 发送到 atom
第一次测量:从 dev/zero
读取数据10G数据测带宽为 580MB/s。
第二次测量:从本地读取数据1G左右数据文件,测带宽为 115.720MB/s。因为该步测试从磁盘加载文件,测试结果内含磁盘读取时间消耗,作为网络带宽结果不准确,因此再进行第三次测量。
第三次测量:从本地读取数据1G左右数据文件,测带宽为 1074.876MB/s。由于步骤2测试时,已经将文件数据加载进内存中了,该步测试可以认为是直接从内存中加载数据。
扩展:命令学习
ls -l 出来的单位是B
ls - lh 出来的单位是KB
time命令 - “time a simple command or give resource usage”,即测量命令的执行时间,或者给出系统资源的使用情况
第二张图中使用了irb来计算带宽
(irb是一个交互式的Ruby界面。可以通过irb来调试、运行和实验Ruby代码。)
除此之外,也可以使用python的交互界面,或这Linux上提供的 bc、calc等计算工具
扩展: 在Linux命令行中使用计算器的5个命令
最后
以上就是鲜艳白猫为你收集整理的【网络编程实践】1.3.1 测量用netcat在千兆以太网的TCP吞吐量的全部内容,希望文章能够帮你解决【网络编程实践】1.3.1 测量用netcat在千兆以太网的TCP吞吐量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复