『iperf3 』服务器连接速度测试

简介: 『iperf3 』服务器连接速度测试

文章目录


一、简介

1.1 我的测速需求

我目前有2个需求:


测试服务器的上传、下载速度;

测试与服务器的连接网速。

一般来说,服务器的带宽在购买服务器时就确定了(购买按流量计费的服务器除外),但额定带宽与实际带宽往往有一些出入。


而服务器与本地主机连接的带宽通常取决于两者中带宽较小的那个;但我有一个国外的服务器,连接的网速还与物理距离等多种因素有关。


第一个需求,可以使用speedtest等来实现,不是文章主要内容,放在文末吧。


1.2 iperf

iperf 是一种用于主动测量 IP 网络上可实现的最大带宽的工具。它支持调整与时序、协议和缓冲区相关的各种参数。对于每个测试,它都会报告测得的吞吐量/比特率、丢失和其他参数。最新版本称为iperf3。


The iperf series of tools perform active measurements to determine the maximum achievable bandwidth on IP networks. It supports tuning of various parameters related to timing, protocols, and buffers. For each test it reports the measured throughput, loss, and other parameters.

最新release版本是2023年2月发布的3.13。

96318c3c0c19ad3ae175e230822cbad0_4a969183292c4d3ba1efc329e521a6d5.png

二、安装iperf

官网只有源码的压缩包,需要下载下来,自己构建,很简单的。

在测试的两台主机分别安装iperf即可。最好安装一样的版本,安装最新iperf3即可。

2.1 windows中下载与构建

下载windows版

下载完后,解压即可,不用安装。

bb10a4c65396e2314b19a7ca0c3bdb8c_03b428485010450497a7f2a1c096c367.png

当然你也可以下载源码,自己构建。

2.2 Ubuntu中下载与构建

(1)下载文件,是个压缩包

 wget  https://downloads.es.net/pub/iperf/iperf-3-current.tar.gz

(没有wget自己apt安装一下,压缩包不要可以删了)

(2)解压文件

按照这个命令格式来就行,不一样复制我的是吧,可能名称啥的不一样。

 tar -zxvf iperf-3-current.tar.gz

(3)进入解压后的文件夹

cd /root/iperf-3.13

(4)运行配置:

./configure

(5)编译

make

(6) 安装

make install

(7) 删除不要的文件

 cd.. &&rm iperf-3-current.tar.gz && rm -r iperf-3.13

3.1 连接速度测试

iperf使用tcp的5201端口,如果打开了防火墙,放行此端口就可以了。

root@cquptlei:~# ufw allow 5201/tcp
Rule added
Rule added (v6)

在服务器的管理后台也看一下,比如:腾讯云

5954ed0150a1f6b007a8f9fad96a1428_5e818b21d4fd42d29c345a5128b037dc.png

测速过程为:


一个作为server,一个作为client。


服务器开始监听(ubuntu中直接运行下列命令):

iperf3 -s

本地主机连接测速(windows进入iperf文件目录下在使用下面命令,或者你把目录添加到环境变量也行)

iperf3 -c 服务器ip

一般来说,只能是服务器做server,因为本地电脑一般没有公网ip


示例1: 腾讯云服务器连接速度测试

服务器:

root@CQUPTLEI:~# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from x.x.x.x, port 1088
[  5] local 10.0.8.5 port 5201 connected to x.x.x.x port 1089
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  4.00 MBytes  33.6 Mbits/sec                  
[  5]   1.00-2.00   sec  5.25 MBytes  44.0 Mbits/sec                  
[  5]   2.00-3.00   sec  5.25 MBytes  44.0 Mbits/sec                  
[  5]   3.00-4.00   sec  2.18 MBytes  18.2 Mbits/sec                  
[  5]   4.00-5.00   sec  4.95 MBytes  41.5 Mbits/sec                  
[  5]   5.00-6.00   sec   990 KBytes  8.11 Mbits/sec                  
[  5]   6.00-7.00   sec  1.19 MBytes  9.94 Mbits/sec                  
[  5]   7.00-8.00   sec  1.64 MBytes  13.8 Mbits/sec                  
[  5]   8.00-9.00   sec  2.10 MBytes  17.6 Mbits/sec                  
[  5]   9.00-10.00  sec  2.53 MBytes  21.2 Mbits/sec                  
[  5]  10.00-10.04  sec   111 KBytes  24.5 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec  30.2 MBytes  25.2 Mbits/sec                  receiver

本地电脑:

D:\iperf>iperf3 -c x.x.x.x
Connecting to host x.x.x.x, port 5201
[  4] local x.x.x.x port 7057 connected to x.x.x.x port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  4.25 MBytes  35.6 Mbits/sec
[  4]   1.00-2.00   sec  5.25 MBytes  44.0 Mbits/sec
[  4]   2.00-3.00   sec  5.25 MBytes  44.1 Mbits/sec
[  4]   3.00-4.00   sec  2.12 MBytes  17.8 Mbits/sec
[  4]   4.00-5.00   sec  5.00 MBytes  42.0 Mbits/sec
[  4]   5.00-6.00   sec   896 KBytes  7.34 Mbits/sec
[  4]   6.00-7.00   sec  1.25 MBytes  10.5 Mbits/sec
[  4]   7.00-8.00   sec  1.62 MBytes  13.6 Mbits/sec
[  4]   8.00-9.00   sec  2.12 MBytes  17.8 Mbits/sec
[  4]   9.00-10.00  sec  2.50 MBytes  21.0 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  30.2 MBytes  25.4 Mbits/sec                  sender
[  4]   0.00-10.00  sec  30.2 MBytes  25.3 Mbits/sec                  receiver
iperf Done.

示例2: 美国服务器连接速度测试

c978c6b2b5e898a4624d5403b26c28a8_0a1a53075150458bb401ee2e3660d914.png

可以看到连接速度很低(我的服务器带宽是1G),主要原因是延迟和bgp。

3.2 服务器网速测试

现在测试服务器本身的上传和下载速度。

比如美国的服务器,它本身的带宽很高,但是与我的电脑连接速度可能很慢,甚至被block。

使用speedtest测速即可。

安装命令行工具:

sudo apt-get install curl
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
sudo apt-get install speedtest

使用:

speedtest

或者列出最近的测试服务器:

speedtest -L

如:

Closest servers:
    ID  Name                           Location             Country
==============================================================================
 33893  Airlink Internet Inc           Los Angeles, CA      United States
 52470  Host Sailor Ltd                Los Angeles, CA      United States
 14236  Frontier                       Los Angeles, CA      United States
 12191  Nitel                          Los Angeles, CA      United States
 18401  Windstream                     Los Angeles, CA      United States
 17249  Wiline Networks                Los Angeles, CA      United States
 37498  Netprotect                     Los Angeles, CA      United States

然后指定测试服务器ip进行测试:

speedtest -s ID

e84fba63354d751d1e91de4a2a5b5b40_1b2f4c04be1d4eadb5de4c870b667145.png

相关文章
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
弹性计算 Linux 网络安全
连接并管理ECS
连接并管理ECS
61 4
|
1月前
|
运维 Linux Nacos
nacos常见问题之远程访问不报错放到服务器上nacos连接超时如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
59 1
|
20天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
3天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第15天】Linux服务器如何查询连接服务器的IP
9 1
|
7天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
24天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
125 3
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
分布式计算 DataWorks 调度
DataWorks报错问题之DataWorks测试连接数据源报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
安全 Shell 网络安全
如何通过SSH连接云服务器
当你购买云服务器后,你可以通过SSH方式安全的连接到你的云服务器,因为只有你连上云服务器后才能进行服务器相关的配置操作。这里分别介绍了MAC用户和Windows用户如何通过SSH连接云服务器。
261 1
如何通过SSH连接云服务器

热门文章

最新文章