Netpipe工具手册
来源:互联网 发布:上帝 知乎 编辑:程序博客网 时间:2024/05/16 05:12
目录
- Netpipe简介
- Netpipe的安装及使用
- 结果分析
- 总结
- 其它工具
- 参考资料
简介
Netpipe是一种网络流量测量工具。这个工具目前由Troy Benjegerdes正在维护;最新的稳定版本是Netpipe-3.7.2。Netpipt由两部分组织: 独立于协议的驱动程序和针对各种协议(tcp、sctp等)的通信部分。Netpipe采用用于单一大小数据包的ping一pong传输模式,这使得网络在一定时间内只能传输某一指定大小数据包而非其他的,从而保证得到的测量结果是单一数据包的传输时间。Netpipe的原理是续发送大小不断增长的数据包, 接收服务方的确认信息, 每个指定大小的数据包在一定时间内不断循环传输, 取其平均值, 计算该数据包的传输速度(吞吐量)。
Netpipe的安装及使用
下载安装包
下载地址:
http://bitspjoule.org/netpipe/code/
准备环境:
两台能接入互联网的主机
安装及使用(以tcp为例)
- 进入Netpipe目录:# cd Netpipe-3.7.2
- 编译:# make tcp
(编译可能出现警告现象,不用去管) - 上一步完成之后,在当前目录下会出现一个可执行文件NPtcp
- 如果当前主机是A的话,你还需要一台接入互联网的主机B,在主机B上同样执行以上三步,完成NPtcp在主机B上的安装。
- 确认两台主机的ip地址,在我这儿,主机A(local_host)ip地址是:
192.168.2.223
主机B(remote_host)的ip地址是:
192.168.2.240 - 完成以上步骤就可以正式使用Netpipe了,分别在两台主机上运行一下两条指令:
主机A(local_host): ./NPtcp -h remote_host -o output.txt
主机B(remote_host):./NPtcp 上面两条指令正确运行之后,我们会在主机A(local_host)看到如下画面:
程序运行一段时间后,摁Ctrl+c终止程序,会发现当前目录下会生成一个文件output.txt。
结果分析
Netpipe运行后会默认生成一个文件np.out,我们可以通过-o选项给文件重命名(我把它命名为output.txt)。这个文件内容可以分为三列:字节数,吞吐量(Mbps),往返时间除以2。下面output.txt部分内容的截屏
其中字节数和吞吐量可以做一个曲线图,可以形象直观的观测到字节数量与吞吐量时间的关系,在ubuntu下采用gnuplot画出的图形如下:
上面这个图中,横坐标代表的是字节数,纵坐标代表的是吞吐量,可以从图中很清晰的看出来,随着发送字节数的增加,吞吐量越来越大,到最后会到达一个上限保持不变。
总结
这儿只是基于tcp协议的Netpipe网络性能测试,还可以基于sctp协议,其使用方法和tcp的类似,具体可以阅读Netpipt-3.7.2/dox/README.
其它工具
- Netperf
- Iperf
参考资料
- 官方文档
- ./Netpipe-3.7.2/dox/README
- Linux环境下基于TCP_IP协议的网络流量测量与分析
- Netpipe工具手册
- NetPIPE howto
- 测试工具备查手册
- 测试工具备查手册
- 测试工具手册
- 测试工具备查手册
- 测试工具备查手册
- 在线手册&工具
- 开发工具手册
- C# WinApi 手册工具
- Java 工具完全安装手册
- 手册和工具下载链接
- SQLite学习手册(命令行工具)
- SQLite学习手册(命令行工具)
- SQLite学习手册(命令行工具)
- SQLite学习手册(命令行工具)
- SQLite学习手册(命令行工具)
- netpipe聊天室服务端发布需要netcat做客户端
- Android中的背景音频与MediaSessionCompat
- redis 列表使用
- Masonry的使用
- 教你手机号批量查询归属地的方法
- SpringMVC 访问静态资源
- Netpipe工具手册
- javascript 怎么获取 li里面点击的元素索引呢?
- Error:java.lang.RuntimeException: Crunching Cruncher dialog_et_bg.9.png failed, see logs
- ffmpeg命令机制分析--参数如何被设置
- Mapper的XML配置文件之设置(settings)
- Path Sum III ---LeetCode
- VPP 源码解析 宏 VLIB_NODE_FUNCTION_MULTIARCH
- 使用Android Studio打开Android源码
- Golang获取goroutine ID