📜  网络性能

📅  最后修改于: 2021-08-29 11:58:51             🧑  作者: Mango

网络的性能与用户感知到的网络服务质量的度量有关。根据网络的性质和设计,可以使用不同的方法来衡量网络的性能。衡量网络性能的特征是:

  • 带宽
  • 通量
  • 延迟(延迟)
  • 带宽–延迟积
  • 抖动

带宽
网站性能的最基本条件之一是分配给网络的带宽量。带宽决定了Web服务器能够上载所请求信息的速度。尽管要考虑站点性能的因素有很多,但带宽时时刻刻都是制约因素。

带宽的特征是可以在固定的时间量度内传输的数据或信息的量度。该术语可以在两个不同的上下文中使用两个不同的估计值。对于数字设备,带宽以每秒比特数(bps)或每秒字节数为单位进行度量。对于模拟设备,带宽以每秒周期数或赫兹(Hz)为单位进行测量。

带宽只是个人认为网络速度的一个组成部分。鉴于互联网服务提供商(ISP)倾向于声称他们在广告活动中具有快速的“ 40Mbps连接”这一事实,人们经常将带宽与互联网速度相混淆。真正的互联网速度实际上是您每秒接收的数据量,并且与延迟也有很大关系。
“带宽”表示“容量”,“速度”表示“传输速率”。

更大的带宽并不意味着更高的速度。让我们以放水管的宽度加倍的情况为例,但是水流量仍然与放水管的宽度相同时的水量相同。因此,将不会提高速度。当我们考虑WAN链路时,我们主要是指带宽,而当我们考虑LAN时,我们主要是指速度。这是因为我们通常受到WAN上昂贵的电缆带宽而不是LAN上硬件和接口数据传输速率(或速度)的限制。

赫兹带宽:这是复合信号中包含的频率范围或通道可以通过的频率范围。例如,让我们考虑用户电话线的带宽为4 kHz。

以每秒位数为单位的带宽:它是指通道,链接或网络可以传输的每秒位数。例如,我们可以说快速以太网的带宽最大为100 Mbps,这意味着该网络可以发送100 Mbps的数据。

注意:以赫兹为单位的带宽和以每秒位数为单位的带宽之间存在明确的关系。赫兹带宽的增加意味着每秒比特数的带宽增加。这种关系取决于我们是基带传输还是调制传输。

直通车
吞吐量是每单位时间成功传输的消息数。它受可用带宽,可用信噪比和硬件限制的控制。因此,网络的最大吞吐量可能会高于日常消费中实现的实际吞吐量。术语“吞吐量”和“带宽”通常被认为是相同的,但是它们是不同的。带宽是对链路的潜在度量,而吞吐量是对数据发送速度的实际度量。

通过对特定时间段内多个位置之间传输的数据量进行制表来测量吞吐量,通常得出的单位是每秒的比特数(bps),已演变为每秒的字节数(Bps),千字节的每秒数(KBps) ,每秒兆字节(MBps)和每秒千兆字节(GBps)。吞吐量可能受到许多因素的影响,例如底层模拟物理介质的障碍,系统组件的可用处理能力以及最终用户的行为。当考虑到大量协议开销时,传输数据的有用速率可能会大大低于最大可达到的吞吐量。

让我们考虑一下:一条高速公路,可以同时行驶200辆车。但是由于道路上的拥堵,在某个随机的时间,只有一个人注意到有150辆车通过。结果,每单位时间的容量可能为200辆,吞吐量一次为150辆。

例子:

Input:A network with bandwidth of 10 Mbps can pass only an average of 12, 000 frames 
per minute where each frame carries an average of 10, 000 bits. What will be the 
throughput for this network?

Output: We can calculate the throughput as-
Throughput = (12, 000 x 10, 000) / 60 = 2 Mbps
The throughput is nearly equal to one-fifth of the bandwidth in this case.

有关带宽和吞吐量之间的差异,请参阅。

潜伏
在网络中,在数据通信过程中,等待时间(也称为延迟)定义为一条完整消息到达目的地所花费的总时间,从该消息的第一位从发送出去的时间开始源,以消息的最后一位在目的地传递的时间结束。发生较小延迟的网络连接称为“低延迟网络”,而遭受较长延迟的网络连接称为“高延迟网络”。

高延迟会导致任何网络通信中产生瓶颈。它使数据无法充分利用网络管道,最终降低了通信网络的带宽。延迟对网络带宽的影响可能是暂时的,也可能是永无止境的,具体取决于延迟的来源。延迟也称为ping速率,以毫秒(ms)为单位。

用更简单的术语来说:延迟可以定义为通过网络成功发送数据包所需的时间。

  • 它以多种方式进行测量,例如:往返,单向等。
  • 它可能会受到链中用于传输数据的任何组件的影响,例如:工作站,WAN链接,路由器,LAN,服务器,并且最终可能会因光速而受限于大型网络。
    Latency = Propagation Time + Transmission Time + Queuing Time + Processing Delay

    传播时间:这是一点从源到目的地的时间。传播时间可以计算为链路长度(距离)与通信介质上传播速度之间的比率。例如,对于电信号,传播时间是信号通过电线传播所花费的时间。

    Propagation time = Distance / Propagation speed

    例子:

    Input: What will be the propagation time when the distance between two points is
    12, 000 km? Assuming the propagation speed to be 2.4 * 10^8 m/s in cable.
    
    Output: We can calculate the propagation time as-
    Propagation time = (12000 * 10000) / (2.4 * 10^8) = 50 ms 

    传输时间:传输时间是基于在传输线上向下发送信号所花费的时间。它包括EM信号从一侧传播到另一侧的时间成本,或通常由发送方放置在数据包前面的训练信号之类的成本,这有助于接收方同步时钟。消息的传输时间取决于消息的大小和通道的带宽。

    Transmission time = Message size / Bandwidth

    例子:

    Input:What will be the propagation time and the transmission time for a 2.5-kbyte 
    message when the bandwidth of the network is 1 Gbps? Assuming the distance between
    sender and receiver is 12, 000 km and speed of light is 2.4 * 10^8 m/s.
    
    Output: We can calculate the propagation and transmission time as-
    Propagation time = (12000 * 10000) / (2.4 * 10^8) = 50 ms
    Transmission time = (2560 * 8) / 10^9 = 0.020 ms
    
    Note: Since the message is short and the bandwidth is high, the dominant factor is the
    propagation time and not the transmission time(which can be ignored).

    排队时间:排队时间是基于数据包必须在路由器中放置多长时间的时间。线路经常很忙,因此我们无法立即发送数据包。排队时间通常不是固定因素,因此,它会随着网络中的负载推力而变化。在这种情况下,数据包会排成一排等待,准备出发。这些延迟的主要特征是系统流量的度量。流量越多,仅坐在内存中等待的数据包就更有可能滞留在队列中。

    处理延迟:处理延迟是基于路由器弄清楚将数据包发送到何处所花费的时间的延迟。一旦路由器发现它,它将把数据包排队等待传输。这些成本主要基于协议的复杂性。路由器必须对数据包进行足够的解密,才能理解将数据包放入哪个队列。通常,堆栈的较低层具有较简单的协议。如果路由器不知道将数据包发送到哪个物理端口,它将把它发送到所有端口,并立即在许多队列中对数据包进行排队。不同地,在较高级别上,例如在IP协议中,该处理可以包括在对数据包进行排队以进行传输之前发出ARP请求以找出目标的物理地址。这种情况也可以视为处理延迟。

    带宽–延迟产品
    带宽和延迟是链路的两个性能度量。但是,在数据通信中重要的是两者的乘积,即带宽延迟乘积。

    让我们以两个假设的情况为例。

    情况1:假设一条链路的带宽为1bps,而该链路的延迟为5s。在这种情况下,让我们找到带宽延迟乘积。从图像中,我们可以说此乘积1 x 5是可填充链接的最大位数。链接上随时可能有接近5位。

    情况2:假设一条链路的带宽为3bps。从图像中,我们可以说线上最多可以有3 x 5 = 15位。原因是在线上每秒有3位,并且每位的持续时间为0.33s。

    对于这两个示例,带宽和延迟的乘积就是可以填充链路的位数。如果我们必须以突发形式发送数据并在发送下一个突发之前等待每个突发的确认,则此估计意义重大。为了利用链路的最大能力,我们必须使突发大小是带宽和延迟乘积的两倍。另外,我们需要填充全双工通道。发送方应发送(2 *带宽*延迟)比特的数据突发。在这一点上,发送方在发送另一个突发之前会等待接收方对部分突发的确认。数量:2 *带宽*延迟是可以随时转换的位数。

    准时
    抖动是与延迟有关的另一个性能问题。用技术术语来说,抖动是“数据包延迟差异”。这可以简单地表示,当不同的数据包在网络中面临不同的延迟并且接收器应用程序中的数据对时间敏感时(即音频或视频数据),则将抖动视为一个问题。抖动的测量单位是毫秒(ms)。它被定义为按照发送数据包的正常顺序的干扰。例如:如果第一个数据包的延迟是10 ms,第二个数据包是35 ms,第三个数据包是50 ms,则使用这些数据包的实时目标应用程序会发生抖动。

    简而言之,抖动是高频数字信号中信号脉冲的任何偏差或位移。该偏差可以与信号脉冲的幅度,宽度或相位定时有关。抖动的主要原因是:电磁干扰(EMI)和信号之间的串扰。抖动可能导致显示屏闪烁,影响台式机或服务器中的处理器按预期进行的能力,在音频信号中引入咔嗒声或其他不良影响,以及网络设备之间传输的数据丢失。

    抖动为负值,会导致网络拥塞和数据包丢失。

  • 拥塞就像高速公路上的交通堵塞。在交通拥堵的情况下,汽车无法以合理的速度前进。就像交通拥堵一样,在拥塞时,所有数据包会同时到达一个结点。什么都无法加载。
  • 第二个负面影响是数据包丢失。当数据包以意外间隔到达时,接收系统将无法处理该信息,从而导致信息丢失,也称为“数据包丢失”。这会对视频观看产生负面影响。如果视频像素化并正在跳过,则说明网络存在抖动。抖动的结果是丢包。当您在线玩游戏时,丢包的影响可能是玩家开始在屏幕上随机移动。更糟糕的是,游戏从一个场景转到下一个场景,跳过了部分游戏。

    在上图中,可以注意到发送数据包所花费的时间与他到达接收方的时间不同。其中一个数据包在途中面临意外延迟,并在预期时间后收到。这是抖动。

    抖动缓冲区可以减少抖动的影响,无论是在网络中,在路由器或交换机上还是在计算机上。接收网络数据包的目标系统通常从缓冲区而不是源系统直接接收数据包。每个数据包都以规则的速率从缓冲区中馈出。在有多个流量路径的情况下,减少抖动的另一种方法是沿最稳定的路径选择性地路由流量,或者始终选择最接近目标数据包传输速率的路径。