iperf 简介

iperf 是一个用于测试网络带宽的命令行工具,可以测试服务器的网络吞吐量。目前发现两个很实用的功能:

  1. 测试服务器网络吞吐量:如果我们需要知道某台服务器的「最大」网络带宽,那么最好在同区域找两台同等配置的机器测试,因为带宽测试结果和两节点的距离有关、也和运营商的限制有关、也和服务器 CPU 核数有关。
  2. 测试到服务端节点网速:如果我们想知道目前客户端到服务器的实际网速是多少,在服务器启动 iperf,客户端连接 iperf 服务端,测试结果就是当前客户端到服务器的真实网速。

工具安装

yum install -y iperf

iperf 选项参数

通用选项

服务端选项

-s    iperf服务器模式
-d 以后台模式运行服务端
-U 运行一个单一线程的UDP模式

客户端选项

-b , --bandwidth n[KM] 指定客户端通过UDP协议发送数据的带宽(bit/s)该参数只对 udp 测试有效。默认是1Mbit/s
-c <ServerIP> 以客户端模式运行iperf,并且连接至服务端主机ServerIP。 eg: iperf -c <server_ip>
-d 双向测试
-t 指定iperf带宽测试时间,默认是10s。 eg: iperf -c <server_ip> -t 20
-P 指定客户端并发线程数,默认只运行一个线程。 eg,指定3个线程 : iperf -c <server_ip> -P 3
-T 指定TTL值

使用方法示例

准备两台服务器 A 和 B,并分别安装 iperf 命令行工具。

  1. 测试 A 服务器的出站带宽:在 B 服务器启动 iperf 服务端,A 服务器使用 iperf 连接 B 服务
    器 iperf 服务端,这样测试的就是 A 服务器的出口带宽:
B: iperf -s -i 2  # 启动服务端
A: iperf -c <B_server_ip> -i 2 -t 60 # 客户端链接
  1. 测试 A 服务器的入站带宽:在 A 服务器启动 iperf 服务的,B 服务器使用 iperf 连接 A 服务器 iperf 服务端,这样测试的就是 A 服务器的入口带宽。
A: iperf -s -i 2  # 启动服务端
B: iperf -c <A_server_ip> -i 2 -t 60 # 客户端链接

测试结果示例

[root@com26-83 ~]# iperf -c x.x.x.x -i 2 -t 60
------------------------------------------------------------
Client connecting to x.x.x.x, TCP port 5001
TCP window size: 22.1 KByte (default)
------------------------------------------------------------
[ 3] local 10.2.26.83 port 48234 connected with x.x.x.x port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 2.0 sec 147 KBytes 603 Kbits/sec
[ 3] 2.0- 4.0 sec 369 KBytes 1.51 Mbits/sec
[ 3] 4.0- 6.0 sec 512 KBytes 2.10 Mbits/sec
[ 3] 6.0- 8.0 sec 896 KBytes 3.67 Mbits/sec
[ 3] 8.0-10.0 sec 1.62 MBytes 6.82 Mbits/sec
[ 3] 10.0-12.0 sec 2.12 MBytes 8.91 Mbits/sec
[ 3] 12.0-14.0 sec 3.38 MBytes 14.2 Mbits/sec
[ 3] 14.0-16.0 sec 6.00 MBytes 25.2 Mbits/sec
[ 3] 16.0-18.0 sec 8.00 MBytes 33.6 Mbits/sec

【Linux】使用 iperf 测试 Linux 服务器带宽的更多相关文章

  1. 网络带宽和速度测试windows和linux用iperf工具

    网络带宽和速度测试windows和linux用iperf工具   Iperf是一个网络性能测试工具.Iperf可以测试TCP和UDP带宽质量.Iperf可以测量最大TCP带宽,具有多种参数和UDP特性 ...

  2. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  3. linux减少服务器带宽的方法

    linux减少服务器带宽的方法用百度静态资源公共库http://cdn.code.baidu.com/ 不仅可以不使用服务器流量 而且还有cdn加速比方说http://apps.bdimg.com/l ...

  4. LINUX服务器带宽跑满、负载过高问题排查

    1.centos 安装流量监控iftop apt-get  install iftop -y 2.查看网卡名称 ifconfig 3.查看端口占用情况 iftop -i 网卡名称 -P 执行 nets ...

  5. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  6. Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击

    Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...

  7. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  8. Kali Linux Web 渗透测试视频教程— 第四课 google hack 实战

    Kali Linux Web 渗透测试— 第四课 google hack 实战 文/玄魂 目录 shellKali Linux Web 渗透测试— 第四课 google hack 实战 课程目录 Go ...

  9. linux上安装配置samba服务器

    linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务.如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这 ...

随机推荐

  1. 【Scrapy笔记】使用方法

    安装: 1.pip install wheel 安装wheel 2.安装Twisted a.访问 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted ...

  2. 基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop: exit code: -1的解决方法

    在Windows 10 的 2004 版本  中, 启用 使用Docker Desktop 时 发现  根本无法启动, 偶尔 或者频繁的出错: System.InvalidOperationExcep ...

  3. AOP 有几种实现方式?

    1. 回顾 AOP 是什么? 维基百科解释如下: 面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计.剖面导向程序设计)是计算机科学中的一种程 ...

  4. Eclipse的基本设置与使用

    下载完eclipse后,还不能立即来写代码,需要完成一些必要的设置 设置 1.对整个工作区设置编码格式 选择菜单栏中的"Window"选项,然后选择"Preference ...

  5. 解决因缺少驱动程序,导致“未在本地计算机上注册microsoft.ace.12.0”异常

    写了一个winform程序,功能是选择一个excel表格,把里面的内容写进sqlite数据库中,在本地测试没问题,但是在其他电脑上就会报错"未在本地计算机上注册microsoft.ace.1 ...

  6. 算法(Java实现)—— 分治算法

    分治算法 分治算法的设计模式 基本思想 把复杂问题分解成若干互相独立容易求解的子问题 经典问题 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔 ...

  7. Java与C#的代码区别

    Java和C#都是编程的语言,它们是两个不同方向的两种语言 相同点: 他们都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态) 区别: 1.c#中的命名空间是namespace ...

  8. 开发规范(三)数据库 By 阿里

    建表规约 索引规约 SQL语句 ORM映射

  9. Java连接MySQL数据库——含详细步骤和代码

    工具:eclipse.MySQL.MySQL连接驱动:mysql-connector-java-5.1.45.jar 首先要下载Connector/J地址:http://www.mysql.com/d ...

  10. Python将GIF图片转换成png图片帧

    效果图: 转换之后保存到文件夹中: 代码如下:(第三方库pillow,安装方法:在cmd中输入:  pip install pillow) from PIL import Image import o ...