使用netperf测试网络性能
2016-01-10 01:03
1226 查看
使用netperf测试网络性能
有时候需要测试两台机器之间的网络性能怎样,包括带宽,延迟等参数。如果每次都写一个程序去测试,还是有点麻烦的,而且不同的人写出的程序性能可能差别比较大,导致测试结果的差别也比较大。好在早就已经有人写好了一个功能和性能都非常好的程序来测试网络性能:netperf,netperf的主页见在这里。具体实现等见文档。
下载安装等就不累述了,在很多Linux发行版都已经带了,如果没有带的话,则请自行下载安装。
下面说一下我的使用方式:
1.测试网络带宽
在对端机器上启动netserver,这是netperf自带的一个服务端程序。可以不带任何参数启动。
在本机输入以下命令启动netperf:
$netperf -H $(对端IP)
在本机的输入如下:
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 87380 87380 10.01 939.56
可以看到,带宽的吞吐量基本上达到了千M。
2.测试延迟
在对端机器上启动netserver。
在本机输入以下命令启动netperf:
$netperf -H $(对端IP) -t omni -- -d rr -O "THROUGHPUT, THROUGHPUT_UNITS, MIN_LATENCY, MAX_LATENCY, MEAN_LATENCY"
该命令的输入如下:
OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Throughput Throughput Minimum Maximum Mean
Units Latency Latency Latency
Microseconds Microseconds Microseconds
11210.81 Trans/s 53 5063 88.51
可以看到,在resquest/response测试模式下,每秒的吞吐量为11210次,最小的时延为53微秒,最大为5063微秒,平均时延为88.51微秒。结果显示,有比较少的报文的延迟比较厉害,达到了毫秒级。但是大部分都在100微秒级
测试实验的时候启动了omni模式,文档在这里,该模式启动了很多统计信息的手机,可以使用-o
-O 和-k来格式化输出。
输出参数的列表见这里,还有很多的参数可供选择。
有时候需要测试两台机器之间的网络性能怎样,包括带宽,延迟等参数。如果每次都写一个程序去测试,还是有点麻烦的,而且不同的人写出的程序性能可能差别比较大,导致测试结果的差别也比较大。好在早就已经有人写好了一个功能和性能都非常好的程序来测试网络性能:netperf,netperf的主页见在这里。具体实现等见文档。
下载安装等就不累述了,在很多Linux发行版都已经带了,如果没有带的话,则请自行下载安装。
下面说一下我的使用方式:
1.测试网络带宽
在对端机器上启动netserver,这是netperf自带的一个服务端程序。可以不带任何参数启动。
在本机输入以下命令启动netperf:
$netperf -H $(对端IP)
在本机的输入如下:
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 87380 87380 10.01 939.56
可以看到,带宽的吞吐量基本上达到了千M。
2.测试延迟
在对端机器上启动netserver。
在本机输入以下命令启动netperf:
$netperf -H $(对端IP) -t omni -- -d rr -O "THROUGHPUT, THROUGHPUT_UNITS, MIN_LATENCY, MAX_LATENCY, MEAN_LATENCY"
该命令的输入如下:
OMNI Send|Recv TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 172.17.0.39 () port 0 AF_INET
Throughput Throughput Minimum Maximum Mean
Units Latency Latency Latency
Microseconds Microseconds Microseconds
11210.81 Trans/s 53 5063 88.51
可以看到,在resquest/response测试模式下,每秒的吞吐量为11210次,最小的时延为53微秒,最大为5063微秒,平均时延为88.51微秒。结果显示,有比较少的报文的延迟比较厉害,达到了毫秒级。但是大部分都在100微秒级
测试实验的时候启动了omni模式,文档在这里,该模式启动了很多统计信息的手机,可以使用-o
-O 和-k来格式化输出。
输出参数的列表见这里,还有很多的参数可供选择。
相关文章推荐
- wsgi
- 程序必备基础知识学习:通信协议——Http、TCP、UDP
- Linux网络配置命令
- iOS开发工具-网络封包分析工具Charles
- 从零开始搭建Flask网站之一:HTTP协议之报文
- 【中级篇】Linux下部署HTTPD网站服务器
- Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
- Google官方网络框架Volley实战——QQ吉凶测试,南无阿弥陀佛!
- ping命令显示找不到主机,用安全软件网络急救箱检测显示IP地址错误
- Spark Streaming:TCP(基本类型)数据源
- iOS socket TCP UDP
- 类脑计算与神经网络加速
- 对于System.Net.Http的学习(一)——System.Net.Http 简介(转)
- 猿题库 iOS 客户端架构设计(原文地址:http://gracelancy.com/blog/2016/01/06/ape-ios-arch-design/)
- Java学习之网络编程实例
- pyhton对网络设备的日常巡检
- pyhton对网络设备的日常巡检
- UNIX网络编程——select函数的并发限制和 poll 函数应用举例
- android httpClient 支持HTTPS的2种处理方式
- HTTP 错误 404.2 - Not Found。由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面