首页> 中国专利> Web应用性能问题的诊断方法及系统

Web应用性能问题的诊断方法及系统

摘要

本发明揭示了一种Web应用性能问题的诊断方法及系统,所述方法包括如下步骤:通过采集设备在互联网的某个中间点或终端设备上,对特定用户的Web应用数据流进行过滤、捕获和深度包解析;对一次Web应用会话的数据流进行TCP和HTTP层QoS指标测量,包括测量TCP连接建立时延Td、TCP重传率Tr、客户端TCP低窗口包数Tlw、HTTP下载速率Ht、HTTP第一响应时延Hd、HTTP返回码Hc;并对这些指标进行关联分析,从而判断Web应用性能问题是由于Web服务器、IP承载网络还是终端设备造成。本发明可实现对Web应用性能问题的自动判断和提示,便于普通网络维护人员进行快速故障排查。

著录项

  • 公开/公告号CN103595584A

    专利类型发明专利

  • 公开/公告日2014-02-19

    原文格式PDF

  • 申请/专利权人 德科仕通信(上海)有限公司;

    申请/专利号CN201310562640.7

  • 发明设计人 吴雪波;

    申请日2013-11-13

  • 分类号H04L12/26(20060101);H04L29/08(20060101);

  • 代理机构

  • 代理人

  • 地址 201203 上海市浦东新区张衡路200号2号楼301室

  • 入库时间 2024-02-19 22:31:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-01

    授权

    授权

  • 2014-04-09

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20131113

    实质审查的生效

  • 2014-02-19

    公开

    公开

说明书

技术领域

本发明属于网络通信技术领域,涉及一种性能诊断方法,尤其涉及一种Web 应用性能问题的诊断方法;同时,本发明还涉及一种Web应用性能问题的诊断 系统。

背景技术

近年来,基于HTTP协议的Web应用日益成为互联网的主流。据统计,90% 以上的网络资源访问和操作(包括搜索、网购、网游、在线视频、网络社交等) 都是通过Web浏览器来完成的。可以说Web应用已经成为广大网民日常生活不 可或缺的要素了,然而人们在使用Web应用时,却经常面临页面无响应或访问 速度慢等问题。

通常网民遇到上述Web应用性能问题时会怀疑基础电信运营商所提供的宽 带网络线路出现了问题,于是便拨打电信运营商的客服热线进行投诉。但是,当 电信运营商的网络维护人员上门排查故障时,却发现很多情况并不一定是IP承 载网的问题导致Web应用速度慢,有相当一部分问题是同Web服务器的性能和 用户终端设备有关。因此,电信运营商迫切地需要一种针对Web应用性能问题 的故障排查手段来解决这类客户投诉,能通过集中监控的方式,在远程便能排查 问题是由于IP承载网、Web服务器或用户终端问题导致的。

目前电信运营商普遍采用PC客户端仿真和主动拨测的方式来实现IP承载网 和Web应用的性能和QoS指标测量,然后通过测试数据比对的方式来排查用户 投诉问题。这种主动拨测系统,需要在网络的不同监测点(如用户接入网、IP 汇聚层核心层的关键节点)部署探针来模拟用户的上网行为,并测量IP网络性 能(如丢包、时延、抖动等指标)和Web应用性能(如下载速率、响应时延等), 从而实现对网络性能和各主流Web网站的性能监测。

以上这种主动拨测系统对IP网络和Web应用的总体性能监测是比较有效 的,然而对于特定用户的Web应用性能问题投诉处理却时常无能为力,主要存 在以下原因:

(1)主动拨测探针的覆盖面存在盲区,由于宽带用户的接入点数量庞大(往 往是成千上万的数量级),很多情况下无法将探针部署到所有用户接入点;

(2)用户访问的网站存在很大的任意性,而主动拨测系统往往只监测主流 网站的性能,这样系统便无法准确诊断用户所访问其他网站性能问题的故障原 因;

(3)拨测系统一般采样定期轮询拨测的方式来监测不同的Web服务器,这 种监测方式所获取的采样数据具有时间离散性(例如每1个小时才能完成对所有 被测Web服务器的轮询监测),因此对用户在特定时刻的故障投诉也可能存在 数据采样盲区。

除了以上所述的主动拨测方案,另一种传统Web应用性能问题诊断方法是 在网络的关键节点(如骨干或汇聚链路)部署被动式监测探针,对特定用户的上 网流量进行过滤捕获,然后通过协议分析软件(如Wireshark)对数据包进行协 议字段解码,采用人工分析的方式来判断故障的原因。由于这种方法要求网络维 护人员对Web应用的详细协议交互过程具有非常全面深入的理解才能判断问 题,因此较难实现普及和推广。

从理论上来看,同主动拨测方案相比,被动式监测方案对特定用户的Web 应用性能问题排查更为有效。因此,业界迫切地需要一种改进的基于被动式监测 的分析方法和专家系统,能实现对Web应用性能问题的自动判断和提示,便于 普通网络维护人员进行故障排查。

图1是一个典型的Web应用协议交互过程示例。如图1所示,一次Web应 用协议交互过程主要包括四个阶段,我们可以通过数据捕获、深度包解析和计算, 对不同阶段进行各种TCP层和HTTP层的QoS指标测量,具体包括:

第一阶段为TCP连接建立过程,Web客户端和Web服务器之间通过TCP 协议的三次握手信令建立TCP连接。该阶段可以通过计算TCP SYN包和ACK 包的时间标签差值,测量出TCP连接建立时延。由于TCP连接建立时延包含了 一次完整的端到端IP数据包往返过程,并且TCP属于主机系统的较底层协议栈, 因此它基本能反映出网络的端到端时延指标。

第二阶段为Web客户端向Web服务器发送页面内容下载请求,该阶段可以 通过计算HTTP GET请求包和HTTP响应包的时间标签差值,测量出HTTP第 一响应时延。此外,还可以记录Web服务器的HTTP响应包中所包含的返回码 (如200代表成功,4XX代表终端错误类,5XX代表服务器错误类)。将HTTP 第一响应时延同TCP连接建立时延进行关联分析,可推测出Web服务器的响应 速度。例如:若TCP建立时延较快而HTTP第一响应时延较大,则说明Web服 务器的性能存在问题。

第三阶段为Web内容下载过程。该阶段可以通过计算单位时间内收到的IP 数据包中的HTTP净核字节数,测量出HTTP下载速率。通过跟踪TCP数据包 头中的32位序列号字段的连续性来计算TCP重传率。由于TCP通常在网络发 送丢包的情况下才会进行重传,因此TCP重传率一般也可反映出IP网络的丢包 率大小。此外,还可以对Web客户端所发送TCP数据包头的16位窗口大小字 段进行跟踪,统计客户端TCP低窗口的数据包数。由于当Web客户端出现性能 问题(如CPU负载过重而无法及时处理网络数据包)时,就会通过TCP窗口大 小字段来通知Web服务器减慢数据发送速度,因此TCP低窗口包数可在一定程 度上反映Web客户端的性能问题。

第四阶段为Web内容下载完毕,拆除HTTP和TCP连接。由于该阶段的协 议流程相对比较简单,因此没有特定的QoS指标需要测量。

发明内容

本发明所要解决的技术问题是:提供一种Web应用性能问题的诊断方法, 可判断Web应用性能问题是由于Web服务器、IP承载网络还是终端设备造成, 实现对Web应用性能问题的自动判断和提示,便于普通网络维护人员进行快速 故障排查。

此外,本发明还提供一种Web应用性能问题的诊断系统,可判断Web应用 性能问题是由于Web服务器、IP承载网络还是终端设备造成,实现对Web应用 性能问题的自动判断和提示,便于普通网络维护人员进行快速故障排查。

为解决上述技术问题,本发明采用如下技术方案:

一种Web应用性能问题的诊断方法,所述方法包括如下步骤:

步骤S1、通过采集设备在互联网的某个中间点或终端设备上,对特定用户 的Web应用数据流进行过滤、捕获和深度包解析;

步骤S2、对一次Web应用会话的数据流进行TCP和HTTP层QoS指标测 量,包括:

测量TCP连接建立时延Td,通过计算TCP SYN包和ACK包的时间标签差 值获得TCP连接建立时延Td;

测量TCP重传率Tr,通过跟踪TCP数据包头中的32位序列号字段的连续 性来计算TCP重传率Tr;

测量客户端TCP低窗口包数Tlw,通过对Web客户端所发送TCP数据包头 的16位窗口大小字段进行跟踪,统计TCP窗口大小值小于设定门限的数据包数 来获得;

测量HTTP下载速率Ht,通过计算单位时间内收到的IP数据包中的HTTP 净核字节数获得HTTP下载速率Ht;

测量HTTP第一响应时延Hd,通过计算HTTP GET请求包和HTTP响应包 的时间标签差值获得HTTP第一响应时延Hd;

测量HTTP返回码Hc,通过提取Web服务器的HTTP响应包中所包含的返 回码获得HTTP返回码Hc;

步骤S3、对HTTP返回码Hc进行分析;

根据HTTP返回码Hc及HTTP协议规范,提示具体的终端错误信息,并判 断Web终端存在问题;或者提示具体的服务器错误信息,并判断Web服务器存 在问题;

步骤S4、对HTTP下载速率Ht进行分析,若Ht>At,则判断Web应用正常; 否则进入到步骤S5;其中,At为设定的Web应用所要求的最低数据传输吞吐率;

步骤S5、对TCP重传率Tr进行分析,若Tr>Ar,则提示IP网络丢包严重, 并判断IP承载网存在性能问题;否则进入到步骤S6;其中,Ar为设定的TCP 重传率门限值;

步骤S6、对TCP连接建立时延Td进行分析,若Td>Atd,则提示IP网络延 迟过大,并判断IP承载网存在性能问题;否则进入到步骤S7;其中,Atd为设 定的TCP连接建立时延的门限值;

步骤S7、对HTTP第一响应时延Hd进行分析,若Hd>Ahd,则提示Web 服务器存在性能问题,并判断Web服务器存在问题;否则进入到步骤S8;其中, Ahd为设定的HTTP第一响应时延的门限值;

步骤S8、对客户端TCP低窗口包数Tlw进行分析,若Tlw>Alw,则提示 Web客户端存在性能问题,并判断Web客户端存在问题;其中,Alw为设定的 客户端TCP低窗口包数的门限值。

作为本发明的一种优选方案,步骤S3中,若Hc为以“4”开头的数字串, 则根据HTTP协议规范提示具体的终端错误信息,并判断Web终端存在问题; 若Hc为以“5”开头的数字串,则根据HTTP协议规范提示具体的服务器错误 信息,并判断Web服务器存在问题。

作为本发明的一种优选方案,所述步骤S4中,设定的Web应用所要求的最 低数据传输吞吐率At为100Kbps。

作为本发明的一种优选方案,所述步骤S5中,设定的TCP重传率门限值 Ar为20%。

作为本发明的一种优选方案,所述步骤S6中,设定的TCP连接建立时延的 门限值Atd为300ms。

作为本发明的一种优选方案,所述步骤S7中,设定的HTTP第一响应时延 的门限值Ahd为500ms。

作为本发明的一种优选方案,所述步骤S8中,设定的客户端TCP低窗口包 数的门限值Alw为10。

一种Web应用性能问题的诊断系统,所述系统包括:

数据流采集解析模块,用以通过采集设备在互联网的某个中间点或终端设备 上,对特定用户的Web应用数据流进行过滤、捕获和深度包解析;

指标测量模块,用以对一次Web应用会话的数据流进行TCP和HTTP层QoS 指标测量;包括测量TCP连接建立时延Td、TCP重传率Tr、客户端TCP低窗 口包数Tlw、HTTP下载速率Ht、HTTP第一响应时延Hd、HTTP返回码Hc;

HTTP返回码分析模块,用以根据HTTP返回码Hc及HTTP协议规范,提 示具体的终端错误信息,并判断Web终端存在问题;或者提示具体的服务器错 误信息,并判断Web服务器存在问题;

HTTP下载速率分析模块,若Ht>At,则判断Web应用正常;其中,At为 设定的Web应用所要求的最低数据传输吞吐率;

TCP重传率分析模块,若Tr>Ar,则提示IP网络丢包严重,并判断IP承载 网存在性能问题;其中,Ar为设定的TCP重传率门限值;

TCP连接建立时延分析模块,若Td>Atd,则提示IP网络延迟过大,并判断 IP承载网存在性能问题;其中,Atd为设定的TCP连接建立时延的门限值;

HTTP第一响应时延分析模块,若Hd>Ahd,则提示Web服务器存在性能问 题,并判断Web服务器存在问题;其中,Ahd为设定的HTTP第一响应时延的 门限值;

客户端TCP低窗口包数分析模块,若Tlw>Alw,则提示Web客户端存在性 能问题,并判断Web客户端存在问题;其中,Alw为设定的客户端TCP低窗口 包数的门限值;

其中,所述指标测量模块包括:

-TCP连接建立时延测量单元,通过计算TCP SYN包和ACK包的时间标签 差值获得TCP连接建立时延Td;

-TCP重传率测量单元,通过跟踪TCP数据包头中的32位序列号字段的连 续性来计算TCP重传率Tr;

-客户端TCP低窗口包数测量单元,通过对Web客户端所发送TCP数据包 头的16位窗口大小字段进行跟踪,统计TCP窗口大小值小于设定门限的数据包 数来获得;

-HTTP下载速率测量单元,通过计算单位时间内收到的IP数据包中的HTTP 净核字节数获得HTTP下载速率Ht;

-HTTP第一响应时延测量单元,通过计算HTTP GET请求包和HTTP响应 包的时间标签差值获得HTTP第一响应时延Hd;

-HTTP返回码测量单元,通过提取Web服务器的HTTP响应包中所包含的 返回码获得HTTP返回码Hc。

作为本发明的一种优选方案,所述HTTP返回分析模块的分析过程包括:

若Hc为以“4”开头的数字串,则根据HTTP协议规范提示具体的终端错 误信息,并判断Web终端存在问题;若Hc为以“5”开头的数字串,则根据HTTP 协议规范提示具体的服务器错误信息,并判断Web服务器存在问题。

本发明的有益效果在于:本发明提出的Web应用性能问题的诊断方法及系 统,通过对Web应用进行被动式数据包捕获和深度包解析,然后测量TCP层和 HTTP层QoS指标,并对这些指标进行关联分析,从而判断Web应用性能问题 是由于Web服务器、IP承载网络还是终端设备造成。本发明可以实现对Web应 用性能问题的自动判断和提示,便于普通网络维护人员进行快速故障排查。

附图说明

图1为典型的Web应用协议交互过程示例的示意图。

图2为本发明诊断方法的流程图。

具体实施方式

下面结合附图详细说明本发明的优选实施例。

实施例一

请参阅图2,本发明揭示了一种Web应用性能问题的诊断方法,所述方法包 括如下步骤:

【步骤S1】通过采集设备在互联网的某个中间点或终端设备上,对特定用 户的Web应用数据流进行过滤、捕获和深度包解析;

【步骤S2】对一次Web应用会话的数据流进行TCP和HTTP层QoS指标 测量,包括:

测量TCP连接建立时延Td,通过计算TCP SYN包和ACK包的时间标签差 值获得TCP连接建立时延Td;

测量TCP重传率Tr,通过跟踪TCP数据包头中的32位序列号字段的连续 性来计算TCP重传率Tr;

测量客户端TCP低窗口包数Tlw,通过对Web客户端所发送TCP数据包头 的16位窗口大小字段进行跟踪,统计TCP窗口大小值小于设定门限的数据包数 来获得;

测量HTTP下载速率Ht,通过计算单位时间内收到的IP数据包中的HTTP 净核字节数获得HTTP下载速率Ht;

测量HTTP第一响应时延Hd,通过计算HTTP GET请求包和HTTP响应包 的时间标签差值获得HTTP第一响应时延Hd;

测量HTTP返回码Hc,通过提取Web服务器的HTTP响应包中所包含的返 回码获得HTTP返回码Hc;

【步骤S3】对HTTP返回码Hc进行分析;根据HTTP返回码Hc及HTTP 协议规范,提示具体的终端错误信息,并判断Web终端存在问题;或者提示具 体的服务器错误信息,并判断Web服务器存在问题。

若Hc为以“4”开头的数字串(Hc=“4xx”),则根据HTTP协议规范提示具 体的终端错误信息,并判断Web终端存在问题;若Hc为以“5”开头的数字串 (Hc=“5xx”),则根据HTTP协议规范提示具体的服务器错误信息,并判断Web 服务器存在问题。

【步骤S4】对HTTP下载速率Ht进行分析,若Ht>At,则判断Web应用正 常;否则进入到步骤S5;其中,At为设定的Web应用所要求的最低数据传输吞 吐率;如At=100Kbps。

【步骤S5】对TCP重传率Tr进行分析,若Tr>Ar,则提示IP网络丢包严 重,并判断IP承载网存在性能问题;否则进入到步骤S6;其中,Ar为设定的 TCP重传率门限值;如Ar=20%。

【步骤S6】对TCP连接建立时延Td进行分析,若Td>Atd,则提示IP网络 延迟过大,并判断IP承载网存在性能问题;否则进入到步骤S7;其中,Atd为 设定的TCP连接建立时延的门限值;如Atd=300ms。

【步骤S7】对HTTP第一响应时延Hd进行分析,若Hd>Ahd,则提示Web 服务器存在性能问题,并判断Web服务器存在问题;否则进入到步骤S8;其中, Ahd为设定的HTTP第一响应时延的门限值;如Ahd=500ms。

【步骤S8】对客户端TCP低窗口包数Tlw进行分析,若Tlw>Alw,则提示 Web客户端存在性能问题,并判断Web客户端存在问题;其中,Alw为设定的 客户端TCP低窗口包数的门限值,如Alw=10。

本发明在揭示上述诊断方法的同时,还揭示一种Web应用性能问题的诊断 系统,所述系统包括:数据流采集解析模块、指标测量模块、HTTP返回分析模 块、HTTP下载速率分析模块、TCP重传率分析模块、TCP连接建立时延分析模 块、HTTP第一响应时延分析模块、客户端TCP低窗口包数分析模块。

数据流采集解析模块用以通过采集设备在互联网的某个中间点或终端设备 上,对特定用户的Web应用数据流进行过滤、捕获和深度包解析。

指标测量模块用以对一次Web应用会话的数据流进行TCP和HTTP层QoS 指标测量;包括测量TCP连接建立时延Td、TCP重传率Tr、客户端TCP低窗 口包数Tlw、HTTP下载速率Ht、HTTP第一响应时延Hd、HTTP返回码Hc。

所述指标测量模块包括:TCP连接建立时延测量单元、TCP重传率测量单 元、客户端TCP低窗口包数测量单元、HTTP下载速率测量单元、HTTP第一响 应时延测量单元、HTTP返回码测量单元。TCP连接建立时延测量单元通过计算 TCP SYN包和ACK包之间的时间标签差值获得TCP连接建立时延Td;TCP重 传率测量单元通过跟踪TCP数据包头中的32位序列号字段的连续性来计算TCP 重传率Tr;客户端TCP低窗口包数测量单元通过对Web客户端所发送TCP数 据包头的16位窗口大小字段进行跟踪,统计TCP窗口大小值小于设定门限的数 据包数来获得;HTTP下载速率测量单元通过计算单位时间内收到的IP数据包 中的HTTP净核字节数获得HTTP下载速率Ht;HTTP第一响应时延测量单元通 过计算HTTP GET请求包和HTTP响应包之间的时间标签差值获得HTTP第一 响应时延Hd;HTTP返回码测量单元通过提取Web服务器的HTTP响应包中所 包含的返回码获得HTTP返回码Hc。

HTTP返回分析模块用以根据HTTP返回码Hc及HTTP协议规范,提示具 体的终端错误信息,并判断Web终端存在问题;或者提示具体的服务器错误信 息,并判断Web服务器存在问题。

本实施例中,所述HTTP返回分析模块的分析过程包括:若Hc为以“4” 开头的数字串,则根据HTTP协议规范提示具体的终端错误信息,并判断Web 终端存在问题;若Hc为以“5”开头的数字串,则根据HTTP协议规范提示具 体的服务器错误信息,并判断Web服务器存在问题。

HTTP下载速率分析模块,若Ht>At,则判断Web应用正常;其中,At为 设定的Web应用所要求的最低数据传输吞吐率(如100Kbps,当然也可以说其 他值)。

TCP重传率分析模块,若Tr>Ar,则提示IP网络丢包严重,并判断IP承载 网存在性能问题;其中,Ar为设定的TCP重传率门限值(如20%,当然也可以 说其他值)。

TCP连接建立时延分析模块,若Td>Atd,则提示IP网络延迟过大,并判断 IP承载网存在性能问题;其中,Atd为设定的TCP连接建立时延的门限值(如 300ms,当然也可以说其他值)。

HTTP第一响应时延分析模块,若Hd>Ahd,则提示Web服务器存在性能问 题,并判断Web服务器存在问题;其中,Ahd为设定的HTTP第一响应时延的 门限值(如500ms,当然也可以说其他值)。

客户端TCP低窗口包数分析模块,若Tlw>Alw,则提示Web客户端存在性 能问题,并判断Web客户端存在问题;其中,Alw为设定的客户端TCP低窗口 包数的门限值(如10,当然也可以说其他值)。

综上所述,本发明提出的Web应用性能问题的诊断方法及系统,通过对Web 应用进行被动式数据包捕获和深度包解析,然后测量TCP层和HTTP层QoS指 标,并对这些指标进行关联分析,从而判断Web应用性能问题是由于Web服务 器、IP承载网络还是终端设备造成。本发明可以实现对Web应用性能问题的自 动判断和提示,便于普通网络维护人员进行快速故障排查。

这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实 施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技 术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚 的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结 构、布置、比例,以及用其它组件、材料和部件来实现。在不脱离本发明范围和 精神的情况下,可以对这里所披露的实施例进行其它变形和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号