NetPerf揭示容器间是高速路还是林荫小路

简介: NetPerf揭示容器间是高速路还是林荫小路

Netperf概况

Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量 数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统 发送数据,以及另外一个系统能够以多块的速度接收数据。

Netperf工具以client/server方式工作。server端是 netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与 server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果;在控制连接建立并传递了测试配置信息以后,client与 server之间会再建立一个测试连接,用来来回传递着特殊的流量模式,以测试网络的性能。


TCP网络性能

由于TCP协议能够提供端到端的可靠传输,因此被大量的网络应用程序使用。但是,可靠性的建立是要付出代价的。TCP协议保证可靠性的措施,如建立并维护连接、控制数据有序的传递等都会消耗一定的网络带宽。   

Netperf可以模拟三种不同的TCP流量模式:


1) 单个TCP连接,批量(bulk)传输大量数据

2) 单个TCP连接,client请求/server应答的交易(transaction)方式

3) 多个TCP连接,每个连接中一对请求/应答的交易方式

UDP网络性能

UDP没有建立连接的负担,但是UDP不能保证传输的可靠性,所以使用UDP的应用程序需要自行跟踪每个发出的分组,并重发丢失的分组。   Netperf可以模拟两种UDP的流量模式:


1) 从client到server的单向批量传输

2) 请求/应答的交易方式

由于UDP传输的不可靠性,在使用netperf时要确保发送的缓冲区大小不大于接收缓冲区大小,否则数据会丢失,netperf将给出错误的结果。因此,对于接收到分组的统计不一定准确,需要结合发送分组的统计综合得出结论。


Netperf的命令行参数

在unix系统中,可以直接运行可执行程序来启动netserver,也可以让inetd或xinetd来自动启动netserver。

当netserver在server端启动以后,就可以在client端运行netperf来 测试网络的性能。netperf通过命令行参数来控制测试的类型和具体的测试选项。根据作用范围的不同,netperf的命令行参数可以分为两大类:全局 命令行参数、测试相关的局部参数,两者之间使用–分隔:

netperf [global options]-- [test-specific options]

这里我们只解释那些常用的命令行参数,其它的参数读者可以查询netperf的man手册。   

-H host :指定远端运行netserver的server IP地址。   

-l testlen:指定测试的时间长度(秒)   

-t testname:指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR,在下文中分别对它们说明。在后面的测试中,netserver运行在192.168.0.28,server与client通过局域网连接(100M Hub)。

NetPerf安装、使用过程

1、下载

进入/home/FUCK文件夹下输入

wget http://down1.chinaunix.net/distfiles/netperf-2.4.5.tar.gz


2、安装

tar -xvf netperf-2.4.5.tar.gz
  cd netperf-2.4.5
  ./configure
  make
  make install


3、测试netperf是不是可以用

server: netserver -d 4 -L 0.0.0.0 -p 9991
    Client: netperf -l 60 -4 -f -m -t TCP_CRR -H 172.16.22.102 -p 9991 -- -r 64,64



目录
相关文章
|
存储 缓存 安全
认识SMMU以及理理SMMU与TrustZone的联系?
认识SMMU以及理理SMMU与TrustZone的联系?
1260 0
|
运维
ETCD系列之一:简介
本文介绍etcd使用场景,工作原理。
77923 160
|
5月前
|
Java API 开发者
黄金、白银及全球期货数据 API 对接实战
在全球经济波动下,黄金白银成避险焦点。本文介绍如何通过StockTV API快速接入全球贵金属实时行情、K线及盘口数据,支持COMEX、伦敦金等品种,助力开发者构建量化系统与金融分析工具,实现毫秒级数据推送与专业图表集成。
|
4月前
|
安全 应用服务中间件 网络安全
2026年OpenClaw Docker生产环境部署指南:附阿里云1分钟安装OpenClaw+单机架构全流程
2026年,由奥地利开发者Peter Steinberger主导开发的OpenClaw AI执行引擎(曾用名Clawdbot、Moltbot)凭借“从给建议到做事情”的核心能力爆火开源领域,GitHub星标数突破18.6万,成为全球增速最快的开源项目之一。与传统对话式AI不同,OpenClaw定位“本地运行、可自托管的数字员工”,支持接入Claude、GPT、Ollama等主流大模型,兼容钉钉、飞书等十余种通讯渠道,通过技能插件无限扩展能力边界,覆盖办公自动化、代码辅助、跨应用协同等全场景,且基于MIT协议开源,支持免费使用与私有化部署。
2979 1
|
5月前
|
存储 人工智能 开发工具
为什么要使用 Git 作为代码版本管理工具?
本文由喵喵侠分享,对比了SVN与Git两大版本管理工具。SVN集中式管理适合小团队,但离线操作受限、分支繁琐;Git凭借分布式架构、高性能和强大分支功能成为主流,尤其适合远程协作。尽管学习曲线较陡,但其生态丰富,未来将向AI集成、图形化界面和更智能的协作发展,是开发者必备技能。
305 1
|
人工智能
使用CodeBuddy实现网页自动连点器
CodeBuddy 能够迅速理解复杂功能要求,精准生成自动连点器代码。无论是游戏场景里对技能释放点击频率的精确控制,还是办公场景中对特定单元格点击位置的灵活设定,它都能高效满足。
416 6
更换了浏览器http代理ip使用不了的原因是什么
在互联网广泛应用的当下,http动态代理ip在各种业务中需求增加。然而,遇到更换浏览器http代理ip后无法使用的情况,可能由以下原因导致:1)ip稳定性差,导致网速过慢;2)ip已失效,提取后未及时使用会过期;3)ip纯净度低,免费代理ip质量通常不佳;4)并发量小,多个用户共享同一ip导致性能下降。为解决问题,用户需注意ip稳定性和时效性,选择高质量代理服务,并考虑并发使用情况。
413 1
更换了浏览器http代理ip使用不了的原因是什么
|
计算机视觉
这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
这是一个关于face_recognition和dlib库的安装(亲测有用,毕竟我代码都写出来了)
|
小程序 前端开发
手机租房房源小程序模板源码
手机租房房源小程序模板源码
413 4