网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别

2024-06-17 12:18

本文主要是介绍网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.概念

网络中的数据是由一个个数据包组成,防火墙对每个数据包的处理要耗费资源。吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。

1.作用地位

网络吞吐量测试是网络维护和故障查找中最重要的手段之一,尤其是在分析与网络性能相关的问题时吞吐量的测试是必备的测试手段。 作为验证和测试网络带宽最常用的技术就是吞吐量测试。

 

二.测试方法与思想

吞吐量的测试需要由被测试链路的双端进行端对端的测试,对于企业的网管和维护工程师来说在进行端对端的测试中是不需要了解或测试物理网络的,由于 IP是承载应用业务的网络互联平台,这样的端对端链路测试中的物理网络可以是无线网络、路由环境、透明网络甚至是非对称的网络(如 xDSL和Cable Modem)。

1 测量手段-----分为软件与硬件设备

端对端测试有很多的测试手段和方法,主要分起来有两类:

1.基于PC软件的测试,

2.是使用专门的测试仪器进行的测试手段。

通常对于流量比较大的(如:大于30Mbps以上)测试主要是使用测试仪器进行的,这是因为测试仪器不象基于PC的测试软件那样要受到操作系统、网卡、设备驱动和配置等诸多方面的影响,测试仪能提供稳定、独立和可重复性的测试结果。

 

2 主要测量思想:如何计算吞吐量

1.一种是在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果。吞吐量测试结果以bit/s或byte/s表示。

2. 另外一种典型的吞吐量测试方法是从网络的一个设备向另一个设备发送流量并且确定一个速率和发送时间间隔,而接收端的设备计算接收到的测试帧,测试结束时系统计算接收率――即吞吐速率。这种测试也被称作端到端网络性能测试,它被广泛地应用在局域网内、局域网间和通过广域网互联的网络测试环境中。

具体过程

最简单(也是最常用和有效)的吞吐量测试方法就是将测试接入点选在链路两端的以太网网络上的测试方法。测试时在发送端指定发送速度,在接收器上计算收到的帧的速度。吞吐量是接收器收到的好帧数量/时间,测试通过改变帧长度,重复以上测试得到不同速率下的测试结果。(注:可以反复进行测试,来确定在不同的传输速度时的吞吐量)

有一点需要强调的是,在维护一个运行中的网络时,吞吐量测试是必须在线进行的,即不能中断现有的网络业务和网络连接,测试过程中有其它的网络流量存在。这种情况下的测试结果对于评估现有业务上的网络能力,计划增加网络站点和扩充网络应用的评估是非常有意义的。

注意:

测试结果以比特/秒(bps)或字节/秒表示采用FDT(全双工吞吐量)

 

三.吞吐量与带宽的区分

两者的单位均为Mbps,但是所表示的含义并不相同

1.吞吐量(throughput)

实际链路中每秒所能够传送的比特数

 

2.带宽(Max net bitrate)

一般是指链路上每秒所能够传送的比特数,取决于链路的时钟速率和信道的编码在计算机网络中又称为线速。

假设以太网的带宽是10Mbps,也就是表示这个链路最大可以承载10Mbps的流量,但是实际中由于各种效率因素的影响,真正能够传送的只有2Mbps(吞吐量)。也就是表示一个主机上的应用只能够以2Mbps的速度向另外一个主机发送数据。

 

 

 

 

这篇关于网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

C# 委托中 Invoke/BeginInvoke/EndInvoke和DynamicInvoke 方法的区别和联系

《C#委托中Invoke/BeginInvoke/EndInvoke和DynamicInvoke方法的区别和联系》在C#中,委托(Delegate)提供了多种调用方式,包括Invoke、Begi... 目录前言一、 Invoke方法1. 定义2. 特点3. 示例代码二、 BeginInvoke 和 EndI

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

在Dockerfile中copy和add的区别及说明

《在Dockerfile中copy和add的区别及说明》COPY和ADD都是Dockerfile中用于文件复制的命令,但COPY仅用于本地文件或目录的复制,不支持自动解压缩;而ADD除了复制本地文件或... 目录在dockerfile中,copy 和 add有什么区别?COPY 命令ADD 命令总结在Doc

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接