`
sybilwh
  • 浏览: 12157 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

【摘抄】影响HTTP软件的TCP时延

    博客分类:
  • WEB
 
阅读更多
  • 握手时延

建立一条新的TCP连接时,甚至是在发送任意数据之前,TCP软件之间都会交换一系列的IP分组,对连接的有关参数进行沟通。如果连接只用来传送少量数据,这些交换过程就会严重降低HTTP的性能。

通常HTTP事务都不会交换太多数据,此时,SYN/SYN+ACK握手会产生一个可测量的时延。TCP连接的ACK分组通常都足够大,可以承载整个HTTP请求报文,而且很多HTTP服务器响应报文都可以放入一个IP分组中去。

最后的结果是,小的HTTP事务可能会在TCP建立上花费50%,或更多的时间。所以,需要重用现有连接。

  • 延迟确认

由于确认报文很小,所以TCP允许在发往相同方向的输出数据分组中对其进行“捎带”。可以更有效地利用网络。延迟确认算法会在一个特定的窗口时间(通常是100~200毫秒)内将输出确认存放在缓冲区中,以寻找能够捎带它的输出数据分组。但是HTTP具有双峰特征(?)的请求-应答行为降低了捎带信息的可能。当希望有相反方向回传分组的时候,偏偏没有那么多。通常,延迟确认算法会引入相当大的时延。根据所使用操作系统的不同,可以调整或禁止延迟确认算法。

  • TCP慢启动

TCP慢启动限制了一个TCP端点在任意时刻可以传输的分组数。简单来说,没成功接收一个分组,发送端就有了发送另外两个分组的权限。以此类推,这种方式被称为“打开拥塞窗口“,用于防止因特网的突然过载和拥塞。由于已调谐连接要更快一些,所以HTTP中有一些可以重用现存连接的工具。如HTTP”持久连接“。

  • Nagle算法与TCP_NODELAY

Nagle算法鼓励发送全尺寸(LAN上最大尺寸的分组大约是1500字节,在因特网上是几百字节)的段。只有当所有其他分组都被确认之后,Nagle算法才允许发送非全尺寸的分组。如果其他分组仍然在传输过程中,就将那部分数据缓存起来。只有当挂起分组被确认,或者缓存中积累了足够发送一个全尺寸分组的数据时,才会将缓存的数据发送出去。

Nagle会引发几种HTTP性能问题。小的HTTP报文可能无法填满一个分组,可能会因为等待那些永远不会到来的额外数据而产生时延。其次,Nagle算法与延迟确认之间的交互存在问题——Nagle算法会阻止数据的发送,直到有确认分组抵达为止,但确认分组自身会被延迟确认算法延迟100~200毫秒。

HTTP应用程序常常会在自己的栈中设置参数TCP_NODELAY,禁用Nagle算法,提高性能。如果这样做,一定要确保会向TCP写入大块的数据,这样才不会产生一堆小分组。

  • TIME_WAIT累积与端口耗尽

当某个TCP端点关闭TCP连接时,会在内存中维护一个小的控制块,用来记录最近所关闭连接的IP地址和端口号。这类信息只会维持一小段时间,通常是所估计的最大分段使用期的两倍(称为2MSL,通常为2分钟)左右,以确保在这段时间内不会创建具有相同地址和端口号的新连接。

客户端每次连接到服务器上去时,都会获得一个新的源端口,以实现连接的唯一性。但由于可用源端口的数量有限,并且在2MSL秒内连接是无法重用的,连接率就被限制在了65535/120=546次/秒。这样有可能产生的问题就是端口耗尽问题。

分享到:
评论

相关推荐

    一种基于无线TCP时延的互联网业务问题定界和优化方法.pdf

    研究还指出,无线TCP时延的测量与用户面PDCP层时延相比,不受分组大小影响,可同时获得上下行两个方向及无线网和核心网的时延信息,这在问题定界上具有明显优势。 文章还详细讨论了影响无线TCP时延的具体因素,例如...

    基于Pcap文件的TCP性能分析

    在PPoE上运行TCP连接时,性能分析显得尤为重要,因为它直接影响到用户的上网体验。 1. **TCP建立时延**:这是从客户端发送SYN报文段到接收到服务器的SYN+ACK响应的时间。这个时延反映了网络的延迟状况,包括路由...

    2_qunyanshi.zip_group delay_群时延_群时延matlab_群时延的影响

    在实际应用中,MATLAB等软件工具提供了强大的计算和可视化功能,可以帮助我们直观地理解群时延的概念。 群时延对调幅波的影响主要体现在信号的形状和质量上。调幅波是载波信号的幅度随信息信号变化的一种形式,如AM...

    (中国移动)基于TCP无线侧时延的小区数据业务质量超详细优化分析法.pptx

    3. **分析TCP时延影响因素**:通过对不同时间段(忙时与闲时)的TCP时延进行对比分析,识别出影响时延的关键因素。 #### 四、现网验证效果 1. **忙时与闲时TCP时延对比**: - **忙时**(21-22时): - 平均无线侧...

    Linux操作系统网络软件时延的研究.pdf

    知识点2: 网络软件时延的影响因素 本研究发现,在发送相同大小的数据包时,网络软件的接收时延远远大于发送时延。进一步的研究指出,非对齐数据的拷贝和上下文切换是造成接收额外开销的主要原因。 知识点3: ...

    CalcDelay.rar_均方根时延_平均时延_平均时延 matlab_时延_时延扩展

    在无线通信领域,信号在传播过程中会受到各种因素的影响,其中一种重要的现象是时延扩展。这个压缩包“CalcDelay.rar”提供了计算无线衰落信道的平均时延扩展和均方根时延扩展的MATLAB代码,对于理解无线通信系统...

    TCP测试软件16939_TCPUDP软件

    在TCP测试软件中,用户可以测量TCP连接的速度、丢包率、时延以及拥塞控制等性能指标。 UDP则是一种无连接的、不可靠的传输协议。它不保证数据包的顺序到达或完整性,而是以尽可能快的速度发送数据,适合实时性要求...

    如何降低LTE系统时延及空口时延

    在LTE系统中,数据传输时长、数据传输资源请求等待时间,以及数据处理导致的反馈延时是影响空口时延的主要因素。为了降低这些延时,存在以下几种关键技术方案: 1. 降低子帧长度:通过重新设计子载波间隔和子帧中...

    群时延特性对卫星高速数传中继系统的影响

    对于卫星高速数传中继系统而言,群时延特性的优劣直接影响到信号的传输质量和接收端的性能表现。尤其在设计高速数据传输系统时,群时延特性更是成为不容忽视的因素。 文章首先阐述了群时延特性的概念,并以此为基础...

    LTE系统时延及降低空口时延的4种方案

    低时延技术分析从现有LTE空口时延分析可以看出,影响空口时延的主要因素是数据传输时长、数据传输资源请求等待时间,以及数据处理导致的反馈延时。针对这些因素存在以下4种降低空口时延的方案: 1. 帧结构压缩:一...

    滤波器端口时延计算软件

    用于滤波器计算端口时延。可以通过腔数还有贷款计算得到时延

    互相关求时延差.rar_matlab_互相关_互相关求时延_互相关算时延_时延差

    在信号处理领域,时延差的计算是一项关键任务,尤其在通信、声学或雷达系统中,用于定位、同步或信号分析。本教程主要聚焦于使用MATLAB来通过互相关方法求解时延差,适合初学者入门学习。以下是关于这个主题的详细...

    NGN业务的端到端时延分析

    服务质量(QoS)是下一代网络(NGN)业务能否取得成功的一个重要因素,影响用户业务体验的QoS参数通常包括时延、抖动、丢包率等,而对于实时的语音和视频业务来说,业务数据的端到端时延最为关键。在以IP作为承载的NGN中...

    小数时延滤波器matlab程序

    小数时延滤波器是一种在数字信号处理领域广泛应用的技术,尤其在语音处理、测距定位等场景中具有重要作用。这种滤波器的设计允许我们实现非整数倍采样周期的时延,这对于精确控制信号的延迟时间至关重要。在MATLAB...

    MATALB 信号时延_matlab_信号时延_时延_

    在MATLAB中,处理信号时延是一个常见的任务,特别是在信号处理和通信系统分析中。时延操作有时是为了模拟传输过程中的延迟,或者是为了比较不同信号之间的相位关系。标题和描述提到的问题是,在MATLAB的标准函数库中...

    verilog hdl语句间时延与语句内时延的区别

    总之,语句间时延和语句内时延是Verilog HDL中的重要概念,它们直接影响着数字逻辑的仿真行为。理解这两者的差异能帮助设计师更好地控制和优化他们的设计,确保其在物理实现中的正确性和效率。在实际设计中,应根据...

    声定位时延算法

    - **绕射能力强**:声音信号作为一种机械波,相比于微波、可见光或红外等电磁波,能更好地绕过障碍物传播,不存在线性遮蔽效应,受地形条件的影响较小。 - **全方位探测**:声探测系统能够实现多个方向的侦察,...

    3G网络FOIP时延分析

    在WCDMA系统中,服务质量(QoS)是衡量网络性能的关键指标之一,尤其对于语音业务而言,时延是影响用户体验的重要因素。本文旨在深入探讨3G网络中FOIP(基于IP的语音传输)的时延问题,并对其进行详细的分析。 #### ...

Global site tag (gtag.js) - Google Analytics