性能测试利器iperf

2024-06-09 22:18
文章标签 性能 测试 利器 iperf

本文主要是介绍性能测试利器iperf,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

源地址 

0 iperf简介

在进行SDN研究和开发时经常要进行网络性能的测试,iperf是一款非常出色的网络性能测试工具(Mininet自带iperf)。

jperf是iperf的GUI接口,可以实时的以图形方式显示性能测试结果,并可以保存测试结果。jperf也需要调用iperf来完成测试,它只是iperf的GUI外壳而已,所以本质的还是要掌握iperf的用法。

1 iperf的下载与安装

由于是开发源代码的,可以下载源码进行编译安装。如果仅仅是测试只用的话,推荐直接使用编译好的二进制版本即可。

iperf的官方网址 :

  • http://iperf.fr

jperf的下载链接:

  • http://iperf.fr/download/iperf_1.7.0/jperf-2.0.0.zip

2 使用方法

由于Iperf工具是基于服务器和客户端的工作模式,所以在进行测试之前应先在目标计算机上启动服务器端程序,Iperf客户端和服务器端程序其实都是同一个程序,只是使用了不同的命令选项而已。

iperf服务器端选项和启动:

-s 以server模式启动,eg:*iperf –s* 。Server端为数据的接收端。
-D 以服务方式运行ipserf,eg:*iperf -s -D*
-R 停止iperf服务,针对-D,eg:iperf -s -R
-o <filename>  重定向输出报告或错误信息到指定文件。
-c <hostname/IP> 如果Iperf运行为服务器模式,则可利用-c参数指定一个客户端,本机将接受指定客户端的连接,但不支持UDP协议。
-P,--parallel #  设置Iperf服务模式下的最大连接数,默认值为0,表示不限制连接数量。

iperf客户端选项

-b,--bandwidth 指定客户端通过UDP协议发送信息的带宽,默认值为1Mbit/s
-c,--client <hostname/IP> 指定Iperf服务器的主机名和IP地址
-d,--dualtest 同时进行双向传输测试
-n,--num 指定传输的字节数,eg:*iperf -c 222.35.11.23 -n 100000*
-r,--tradeoff 单独进行双向传输测试
-t,--time 指定Iperf测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5
-L,--listenport 指定一个端口,服务器将利用这个端口与客户机连接
-P, --parallel 设置Iperf客户端至Iperf服务器的连接数,默认值为1
-S, --tos  设置发出包的类型,具体类型请参阅man文档
-F 指定需要传输的文件
-T 指定ttl值

通用参数

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:*iperf -c 222.35.11.23 -f K*
-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16
-m 显示tcp最大mtu
-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包

3 iperf应用实例

3.1 以服务器模式启动iperf

使用 iperf -s 命令将 Iperf 启动为 server 模式:

iperf –s
————————————————————
Server listening on TCP port 5001
TCP window size: 8.00 KByte (default)
————————————————————

3.2 启动iperf客户端

向IP为10.230.48.65的主机发出TCP测试,并每2秒返回一次测试结果:

iperf -c 10.230.48.65 -i 2

3.3 以Mbytes/sec为单位显示测试结果:

iperf -c 10.230.48.65 -f M -i 2

3.4 设置TCP传输窗口大小为300K

iperf -s -w 300K
————————————————————
Server listening on TCP port 5001
TCP window size: 300 KByte
———————————————————

3.5 指定传输约1MB数据

iperf -c 59.125.103.56 -f K -i 2 -w 300K –n 1000000

3.6 指定测试持续时间

指定测试持续时间为36秒:

iperf -c 59.125.103.56 -f K -i 2 -w 300K –t 36

3.7 测试双向传输

iperf -c 220.112.45.87 -f K -i 2 -w 300k -n 1000000 -d

3.8 UDP测试

iperf -c 59.125.103.56 -f K -i 2 -w 300K –u

这篇关于性能测试利器iperf的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1046450

相关文章

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

正则表达式高级应用与性能优化记录

《正则表达式高级应用与性能优化记录》本文介绍了正则表达式的高级应用和性能优化技巧,包括文本拆分、合并、XML/HTML解析、数据分析、以及性能优化方法,通过这些技巧,可以更高效地利用正则表达式进行复杂... 目录第6章:正则表达式的高级应用6.1 模式匹配与文本处理6.1.1 文本拆分6.1.2 文本合并6

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在