CN112887354B - 一种性能信息的获取方法和装置 - Google Patents

一种性能信息的获取方法和装置 Download PDF

Info

Publication number
CN112887354B
CN112887354B CN201911206688.8A CN201911206688A CN112887354B CN 112887354 B CN112887354 B CN 112887354B CN 201911206688 A CN201911206688 A CN 201911206688A CN 112887354 B CN112887354 B CN 112887354B
Authority
CN
China
Prior art keywords
application layer
service request
service
performance
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911206688.8A
Other languages
English (en)
Other versions
CN112887354A (zh
Inventor
陈晓恩
张金水
卢畅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201911206688.8A priority Critical patent/CN112887354B/zh
Publication of CN112887354A publication Critical patent/CN112887354A/zh
Application granted granted Critical
Publication of CN112887354B publication Critical patent/CN112887354B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本文是关于一种在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息。

Description

一种性能信息的获取方法和装置
技术领域
本文涉及信息处理领域,尤其涉及一种性能信息的获取方法和装置。
背景技术
在日益庞大的服务器规模及云服务化的环境下,一台服务器会提供不同的服务归属客户,用以满足不同地理区域和不同网络环境的用户的服务请求。在确定服务归属客户时,服务器可以利用应用层网关对归属信息进行识别来确认服务请求所对应的服务归属客户。
为了给用户提供差异化、精准化的服务,需要进行进一步获取服务请求的性能参数信息。在相关技术中,服务器可以在处理服务请求过程中,通过采集服务请求对应的通信连接上所产生的数据,通过对采集得到的数据进行分析,来确定该http请求的性能参数。
在实际应用中,发现上述方法存在对服务器的性能消耗过高的问题。
发明内容
为克服相关技术中存在的任一技术问题,本文提供一种性能信息的获取方法和装置。
根据本文的一方面,提供一种性能信息的获取方法,包括:
在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;
根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息。
在一个示例性实施例中,所述性能参数信息的采集操作以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间。
在一个示例性实施例中,所述性能参数信息包括服务请求在网络层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的性能参数;
在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
在一个示例性实施例中,所述性能参数信息包括服务请求在应用层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,在采集所述服务器内核处理所述服务请求过程中的应用层性能参数时,所述方法还包括:
如果所述服务请求为加密的服务请求,从应用层网关获取解密后的服务请求,并根据解密后的服务请求对应用层性能参数进行获取。
在一个示例性实施例中,所述应用层服务处理所述服务请求过程中的应用层性能参数是通过如下方式得到的,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
根据所述传输操作信息,确定所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息之后,所述方法还包括:
所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型中的至少一个,其中,至少一个性能模型是历史采集的性能参数构建的;
根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
根据本文的另一方面,提供一种性能信息的获取装置,包括:
获取模块,用于在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;
确定模块,用于根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息。
在一个示例性实施例中,所述获取模块,具体用于以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间,采集所述性能参数信息。
所述获取模块,具体用于在所述性能参数信息包括服务请求在网络层对应的性能参数信息时,通过如下至少一个方式来获取,包括:
在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的性能参数;
在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
在一个示例性实施例中,所述获取模块,具体用于在所述性能参数信息包括服务请求在应用层对应的性能参数信息时,通过如下至少一个方式来获取,包括:
在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,所述获取模块包括:
获取单元,用于在采集所述服务器内核处理所述服务请求过程中的应用层性能参数时,如果所述服务请求为加密的服务请求,从应用层网关获取解密后的服务请求;
采集单元,用于根据解密后的服务请求对应用层性能参数进行获取。
在一个示例性实施例中,所述获取模块通过如下方式得到所述应用层服务处理所述服务请求过程中的应用层性能参数,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
根据所述传输操作信息,确定所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,所述装置还包括:
获取模块,用于获取所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型中的至少一个,其中,至少一个性能模型是历史采集的性能参数构建的;
检测模块,用于根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
根据本文的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现上文任意一项所述方法的步骤。
根据本文的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上文任意一项所述方法的步骤。
本文示例性提供的方案,在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个,根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息,利用服务器内部的功能模块对通信连接和/或数据传输操作的性能参数信息的获取,确定服务请求的性能信息,无需对数据流进行解析,降低了对服务器的性能消耗,提高了性能信息的获取效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
构成本文的一部分的附图用来提供对本文的进一步理解,本文的示意性实施例及其说明用于解释本文,并不构成对本文的不当限定。在附图中:
图1是根据一示例性实施例示出的服务器的结构图。
图2是根据一示例性实施例示出的性能信息的获取装置的结构图。
图3是根据一示例性实施例示出的另一种服务器的结构图;
图4是根据一示例性实施例示出的性能信息的获取方法的流程图;
图5是根据一示例性实施例示出的计算机设备500的框图。
具体实施方式
为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。
发明人对相关技术所使用的方案进行了分析,发现至少存在如下问题,包括:
(1)单独使用内核对服务请求(如,http请求)的头部所包括归属信息的解析操作,对服务器的性能消耗较大,不利于大规模网络中服务请求的解析的应用场景,因此,相关技术中的方案不利于大规模部署;
(2)在发送的服务请求为通信加密的请求(如,https)时,在网络层无法解析该通信加密的服务请求的头部信息,从而无法获取归属信息,从而无法后续的解析操作,不能满足日后通用服务的使用需求;
(3)在网络层所有的数据都是以数据流或字节流的形式存在,在用户终端与服务器建立的通信连接为长连接时,如果该长连接过程中发生了至少两个服务请求,网络层仅能依据时间间隔等输出该长连接过程中不同时间段内的性能指标,却无法确定该长连接中每个服务请求的性能指标,也就无法为定位具体的http请求异常提供数据参考。
基于上述技术分析,发明人经过对http请求的处理过程中进行的分析,具体包括:
图1是根据一示例性实施例示出的服务器的结构图。如图1所示,服务器包括服务器内核、应用层网关、应用层服务;其中:
所述服务器内核,用于与用户终端发起的服务请求进行信息交互;
所述应用层网关,用于转发所述服务器内核和应用层服务之间的信息;
所述应用层服务,用于对用户终端发起的服务进行响应,并发送反馈结果。
在一个示例性实施例中,在服务器自检测到用户通过用户终端发起http请求到租户所属服务及所述http请求对应的结果交付到用户终端的过程中,各功能模块执行如下操作;
所述服务器内核,在检测到用户终端发起tcp建连请求后,与所述用户终端建立tcp连接,在tcp连接建立完成后,通过所述tcp连接从用户终端接收http请求后,并将该http请求发送给应用层网关;
所述应用层网关在接收服务器内核发送的http请求后,解析所述http请求对应的URL,并根据解析得到的URL将所述http请求转发给对应租户的应用层服务;
所述租户应用层服务在接收应用层网关发送的http请求后,处理所述http请求,得到所述http对应的结果,并将结果发送给应用层网关;
所述应用层网关在收到应用层服务发送的所述http请求对应的结果后,将结果发送给服务器内核;
所述服务器内核在检测到应用层网关发送所述http请求对应的结果后,将结果发送给用户终端。
在一个示例性实施例中,应用层网关可以将结果填充到服务器内核的缓冲区;服务器内核在检测到缓冲区存储有数据后,读取缓冲区的数据,并发送给用户终端。
从上述http请求的处理过程中,可以利用服务器的内部模块完成对每个http请求的性能参数的获取操作。
图2是根据一示例性实施例示出的性能信息的获取装置的结构图。图2所示装置包括:
获取模块201,用于在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;
确定模块202,用于根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息。
在一个示例性实施例中,参见应用层网关与应用层服务的信息交互流程可以看出,在应用层服务处理该服务请求过程中,服务请求在该应用层服务对应的性能参数可以通过应用层网关转发请求给应用层服务时进行性能参数的衡量及记录,因此,只需要服务器内核和应用层网关完成对每个http请求的性能参数的获取即可。
针对相关技术中存在的技术缺陷,在本文所示的实施例中,由于是对服务器内功能模块执行特定服务请求的性能信息的采集,不是对服务请求对应的通信连接上数据的解析,从而无需执行对服务请求的归属信息的解析操作,为大规模部署提供了便利;在发送的服务请求为通信加密的请求时,借助应用层网关的解析功能,可以顺利得到通信加密的请求的信息,为网络层的性能信息的提供了操作依据,克服了相关技术中服务器内核无法解析的技术问题,满足通用服务的使用需求;另外,由于是以服务请求为单位进行性能信息的获取,在长连接的过程中,可以确定该长连接中每个http请求的性能指标,为定位具体的http请求异常提供数据参考。
在相关技术中,在应用层网关从后台获取服务请求对应的响应信息的数据后,只要内核模块的缓冲区有足够空间存放剩余数据,则将数据写入缓冲区,并作为性能信息的采集操作的结束时间。
发明人发现,在对响应信息的数据写入后,如果响应信息的数据没有安全、及时、完整到达用户终端,就标记服务请求处理结束,结束对性能指标的记录,会导致无法准确的感知到服务器内核和网络层的性能信息。因此,提出如下解决方案:
在一个示例性实施例中,所述获取模块201,具体用于以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间,采集所述性能参数信息。
通过将采集周期设置为响应信息成功发送到用户终端,可以准确的感知到服务器内核和网络层的性能信息。
另外,针对相关技术中应用层网关记录的性能指标无法准确的衡量每个http请求的网络性能的问题,提出可以通过获取如下网络层性能参数信息,包括:
A1、在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的网络层性能参数;
A2、在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
A3、在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
通过获取服务请求在服务器的完整的处理流程中网络层的性能参数,可以更加准确地确定服务请求对应的网络层性能参数。
上文所列的A1、A2和A3所标记的网络层性能参数,可以由部署在服务器内核的获取模块进行采集完成;上文所列的A3所标记的网络层性能参数是部署在服务器内核中的获取模块无法获取的,可以由应用层网关进行采集,并在采集完成后,发送给获取模块。
上文所列的A2所标记的网络层性能参数的采集起始时间和结束时间也可以由应用层网关通知给获取模块201。
另外,还可以获取服务请求的应用层性能参数,包括:
B1、在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
B2、在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
B3、在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
上文所列的B1所标记的网络层性能参数的采集起始时间和结束时间也可以由应用层网关通知给获取模块201;
在所述服务请求为加密的服务请求时,可以从应用层网关获取解密后的服务请求,并根据解密后的服务请求对应用层性能参数进行获取。
上文所列的B3所标记的应用层性能参数可以通过如下方式获取,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
由应用层网关利用应用层服务发送的服务请求的响应信息来获取,提高性能参数的采集效率,减少模块间的信息交互的次数。
在一个示例性实施例中,所述装置还包括:
获取模块,用于获取所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型中的至少一个,其中,至少一个性能模型是历史采集的性能参数构建的;
检测模块,用于根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
通过与历史数据构建的模型进行性能参数对比,确定http请求对应的性能瓶颈所在的环节,为后续改进提供数据依据。
下面以通信连接为tcp连接,发起的服务请求为http请求为例进行说明:
图3是根据一示例性实施例示出的另一种服务器的结构图。如图3所示,与图1所示的服务器不同的是,图3所示的服务器的结构和功能发生了如下变化,包括:
应用层网关,还用于在与应用层服务进行http请求的交互过程中,记录应用层网关性能指标、应用层服务性能指标和第二网络层指标中的至少一个;
在应用层网关中新增网关附加单元,用于在接收到http请求后,通知获取模块请求开始;以及,在请求结束时将应用层网关收集的应用层网关性能指标、应用层服务性能指标和第三网络层指标中的至少一个传递给获取模块;
在服务器内核中新增获取模块,用于执行如下任一功能,包括:
在检测到用户终端向服务器发起通信连接的建立请求后,采集服务器与用户终端之间建立的tcp连接的性能指标,得到第一网络层指标;
在接收到应用层网关发送的开始处理http请求的通知后,统计服务器内核中所述http请求的网络层性能,并在接收到应用层网关发送的http请求结束的通知后,标记所述http请求即将结束,待服务器内核将数据交付到用户中断后,结束对服务器内核中所述http请求的网络层性能的统计,得到第二网络层指标;
在接收应用层网关发送的开始处理http请求的通知后,统计服务器内核的应用层性能指标,并在接收到http请求结束的通知后,结束对服务器内核应用层性能指标的统计操作;
从应用层网关获取所述http请求对应的应用层网关性能指标、应用层服务性能指标和第三网络层指标。
新增的性能分析模块,用于从获取模块中每个http请求对应的性能指标;以及,根据采集的性能指标分析出每个http请求在网络层、内核层、应用层网关、应用层服务所消耗的性能指标,通过与历史数据中记录的性能指标进行对比,确定http请求对应的性能瓶颈所在的环节。
下面以本申请实施例提供的方法进行说明:
S1:用户终端发送tcp连接建立请求访问服务器上的服务;
S2:在接收到tcp连接请求后,服务器与用户终端的tcp连接;
S3:tcp采集单元在检测到与用户终端建立tcp连接后,采集用户终端与服务器之间tcp连接的性能参数;
其中,所述tcp连接的性能参数即第一网络层指标,用于表示网络层连接级别的性能指标,包括如下至少一个:
用户终端的ip地址和端口、服务器的ip地址和端口、tcp建连时间、tcp建连是否发生重传、tcp建连次数、连接过程中单位时间采集的tcp传输字节数、往返时延rtt、重传字节数和超时重传rto;
S4:在完成tcp连接建立后,用户终端利用所述tcp连接对服务器发起http服务请求;
S5:服务器内核在接收到该http请求后,向应用层网关发送该http请求;
S6:应用层网关在接收到http请求后,将http请求转发给后端对应的应用层服务,同时执行如下步骤,包括:
(1)应用层网关通知获取模块发送用于指示当前连接的http请求开始处理的第一指示信息;
(2)内核tcp采集单元在接收到该第一指示信息后,开始统计当前http请求的网络层性能以及内核层性能指标;
其中,本步骤所采集的网络层性能指标对应于上文所述的第二网络层指标,包括如下至少一个,包括:
请求往返的时延rtt、请求响应的首包时间、传输时间、传输字节数、重传字节数、超时重传rt;
内核层性能指标包括服务器内核的缓冲区处于未填充状态的持续时间;
S7:租户的应用层服务在接收到http请求后,对所述http请求进行处理,得到结果,并将结果返回给应用层网关;
S8:应用层网关将结果填充到内核缓冲区中,交由内核进行数据发送直到数据传输结束,同时执行如下步骤,包括:
(1)应用层网关记录网关的应用层性能指标以及租户的应用层服务的性能指标;其中:
应用层网关的性能指标包括请求发送的首包时间、传输时间、传输字节数等性能指标;
租户的应用层服务的性能指标包括请求响应的首包时间、传输时间、传输字节数、网关与应用层服务的建连时间;
(2)应用层网关将当前http请求的应用层网关性能指标及租户的应用层服务的性能指标发送给获取模块;
(3)获取模块标记当前请求即将结束。
S8:服务器内核将数据传送到对应的用户终端,请求结束。同时发生的步骤如下:
(1)获取模块开始聚合当前请求的网络层性能指标、内核采集的应用层性能
(2)获取模块将当前请求的网络层性能指标、内核采集的应用层性能以及应用层网关推送的应用层网关性能指标、租户的应用层服务性能指标、连接单位时间内的网络层性能指标记录下来。
(3)性能分析模块读取获取模块采集的请求的性能指标,通过分析用户终端的ip信息分析出ip归属的省份、城市、运营商等信息。通过分析域名、租户应用层端口等信息区分当前连接、当前请求所归属的服务。清晰的反馈出多租户、多服务的情况下每个服务的所有环节的性能指标及性能瓶颈。
上述实施例达到如下技术效果,包括:
利用服务器内功能模块的信息采集,解决了相关技术中部分设备(如,tengine、nginx等)无法获取每个http请求的网络层、内核层的具体性能指标的问题;
通过控制内核模块与应用层网关的信息交互,规避了tcp层面因为https加密协议无法区分连接中的每个http请求的性能指标;
利用服务器中功能模块对处理过程中参数的采集得到性能信息,解决了通过tcp层面解析http请求的归属信息的带来的性能消耗问题;。
在长连接过程中有效的避免传统通过tcp层面采集性能指标的方法由于用户终端暂停请求而采集性能指标不准确的问题。
通过按照服务请求的处理步骤进行性能参数的获取,可以准确衡量出每个http请求在网络层、内核层、应用层网关、应用层其他服务之间各个环节的性能指标,并且可以区分每个请求的用户归属以及单机器多租户服务归属。
图4是根据一示例性实施例示出的性能信息的获取方法的流程图。图4所示方法包括:
步骤401、在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;
步骤402、根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息。
在一个示例性实施例中,所述性能参数信息的采集操作以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间。
在一个示例性实施例中,所述性能参数信息包括服务请求在网络层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的性能参数;
在检测到应用层网关接收到所述服务请求后至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的服务器内核与应用层网关之间的性能参数;
在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
在一个示例性实施例中,所述性能参数信息包括服务请求在应用层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,在采集所述服务器内核处理所述服务请求过程中的应用层性能参数时,所述方法还包括:
如果所述服务请求为加密的服务请求,从应用层网关获取解密后的服务请求,并根据解密后的服务请求对应用层性能参数进行获取。
在一个示例性实施例中,所述应用层服务处理所述服务请求过程中的应用层性能参数是通过如下方式得到的,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
根据所述传输操作信息,确定所述应用层服务处理所述服务请求过程中的应用层性能参数。
在一个示例性实施例中,根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息之后,所述方法还包括:
获取所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型中的至少一个,其中,至少一个性能模型是历史采集的性能参数构建的;
根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
本文示例性提供的方法,在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关和应用层服务中的至少一个,根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息,利用服务器内部的功能模块对通信连接和/或数据传输操作的性能参数信息的获取,确定服务请求的性能信息,无需对数据流进行解析,降低了对服务器的性能消耗,提高了性能信息的获取效率。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上文任意一项所述方法的步骤。
图5是根据一示例性实施例示出的计算机设备500的框图。例如,计算机设备500可以被提供为一服务器。参照图5,计算机设备500包括处理器501,处理器的个数可以根据需要设置为一个或者多个。计算机设备500还包括存储器502,用于存储可由处理器501的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器501被配置为执行指令,以执行上述方法。
本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。
显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。

Claims (14)

1.一种性能信息的获取方法,其特征在于,包括:
在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;所述服务器包括服务器内核、应用层网关、多个应用层服务,所述服务器内核,用于与用户终端发起的服务请求进行信息交互;所述应用层网关,用于转发所述服务器内核和应用层服务之间的信息;所述应用层服务,用于对用户终端发起的服务进行响应,并发送反馈结果;
根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息;
获取所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型,其中,性能模型是历史采集的性能参数构建的;
根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
2.根据权利要求1所述的方法,其特征在于,所述性能参数信息的采集操作以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间。
3.根据权利要求1或2所述的方法,其特征在于,所述性能参数信息包括服务请求在网络层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的性能参数;
在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
4.根据权利要求1或2所述的方法,其特征在于,所述性能参数信息包括服务请求在应用层对应的性能参数信息,通过如下至少一个方式来获取,包括:
在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
5.根据权利要求4所述的方法,其特征在于,在采集所述服务器内核处理所述服务请求过程中的应用层性能参数时,所述方法还包括:
如果所述服务请求为加密的服务请求,从应用层网关获取解密后的服务请求,并根据解密后的服务请求对应用层性能参数进行获取。
6.根据权利要求4所述的方法,其特征在于,所述应用层服务处理所述服务请求过程中的应用层性能参数是通过如下方式得到的,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
根据所述传输操作信息,确定所述应用层服务处理所述服务请求过程中的应用层性能参数。
7.一种性能信息的获取装置,其特征在于,包括:
获取模块,用于在检测到用户终端向服务器发起服务请求后,获取在处理服务请求过程中服务器的功能模块采集到的所述服务请求对应的性能参数信息,其中所述功能模块包括服务器内核、应用层网关;其中所述性能参数信息包括服务请求处理过程中所建立的通信连接和/或所执行的数据传输操作的性能参数信息;所述服务器包括服务器内核、应用层网关、多个应用层服务,所述服务器内核,用于与用户终端发起的服务请求进行信息交互;所述应用层网关,用于转发所述服务器内核和应用层服务之间的信息;所述应用层服务,用于对用户终端发起的服务进行响应,并发送反馈结果;
确定模块,用于根据服务器中功能模块采集到的性能参数信息,确定所述服务请求对应的性能参数信息;
获取模块,还用于获取所述服务器的性能参数的模型,所述模型包括网络层的性能模型、内核层的性能模型、应用层网关的性能模型和应用层服务的性能模型,其中,性能模型是历史采集的性能参数构建的;
检测模块,用于根据所述服务请求对应的性能参数信息以及所述模型,对服务器中功能模块的性能异常进行检测。
8.根据权利要求7所述的装置,其特征在于:
所述获取模块,具体用于以与所述用户终端建立通信连接为采集起始时间,以所述用户终端接收到服务请求对应的响应信息为采集结束时间,采集所述性能参数信息。
9.根据权利要求7或8所述的装置,其特征在于:
所述获取模块,具体用于在所述性能参数信息包括服务请求在网络层对应的性能参数信息时,通过如下至少一个方式来获取,包括:
在所述用户终端与所述服务器建立通信连接过程中,采集通信连接的性能参数;
在检测到应用层网关发送所述服务请求后至所述应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务请求对应的应用层网关与应用层服务之间的连接的网络层性能参数;
在所述服务器向用户终端发送响应信息时,采集所述服务器传输所述响应信息的操作的网络层性能参数。
10.根据权利要求7或8所述的装置,其特征在于:
所述获取模块,具体用于在所述性能参数信息包括服务请求在应用层对应的性能参数信息时,通过如下至少一个方式来获取,包括:
在检测到应用层网关接收到所述服务请求至应用层网关接收到所述服务请求对应的响应信息的过程中,采集所述服务器内核处理所述服务请求过程中的应用层性能参数;
在检测到向应用层服务发送所述服务请求后至接收到所述服务请求对应的响应信息的过程中,获取所述应用层网关处理所述服务请求过程中的应用层参数;
在接收到应用层网关发送的所述服务请求后至应用层服务发送所述服务请求对应的响应信息的过程中,获取所述应用层服务处理所述服务请求过程中的应用层性能参数。
11.根据权利要求10所述的装置,其特征在于,所述获取模块包括:
获取单元,用于在采集所述服务器内核处理所述服务请求过程中的应用层性能参数时,如果所述服务请求为加密的服务请求,从应用层网关获取解密后的服务请求;
采集单元,用于根据解密后的服务请求对应用层性能参数进行获取。
12.根据权利要求10所述的装置,其特征在于,所述获取模块通过如下方式得到所述应用层服务处理所述服务请求过程中的应用层性能参数,包括:
获取所述应用层网关向所述应用层服务发送所述服务请求的第一时间;以及,获取所述应用层网关从所述应用层服务接收所述服务请求对应的响应信息的第二时间;
记录所述第一时间至所述第二时间的时间段内所述应用层网关与所述应用层服务之间的连接上数据的传输操作信息;
根据所述传输操作信息,确定所述应用层服务处理所述服务请求过程中的应用层性能参数。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-6中任意一项所述方法的步骤。
14.一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任意一项所述方法的步骤。
CN201911206688.8A 2019-11-29 2019-11-29 一种性能信息的获取方法和装置 Active CN112887354B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911206688.8A CN112887354B (zh) 2019-11-29 2019-11-29 一种性能信息的获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911206688.8A CN112887354B (zh) 2019-11-29 2019-11-29 一种性能信息的获取方法和装置

Publications (2)

Publication Number Publication Date
CN112887354A CN112887354A (zh) 2021-06-01
CN112887354B true CN112887354B (zh) 2023-04-21

Family

ID=76039729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911206688.8A Active CN112887354B (zh) 2019-11-29 2019-11-29 一种性能信息的获取方法和装置

Country Status (1)

Country Link
CN (1) CN112887354B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650403B2 (en) * 2002-11-20 2010-01-19 Microsoft Corporation System and method for client side monitoring of client server communications
US8180856B2 (en) * 2006-09-14 2012-05-15 Ixia Testing a network
EP2267942B1 (en) * 2009-06-22 2014-08-13 Citrix Systems, Inc. Systems and methods of handling non-http client or server push on http vserver
US8743696B2 (en) * 2009-08-07 2014-06-03 Cisco Technology, Inc. Mobile transport solution for offloading to an alternate network
CN101645032B (zh) * 2009-08-31 2011-08-10 金蝶软件(中国)有限公司 应用服务器的性能分析方法和应用服务器
CN101714930B (zh) * 2009-12-30 2012-05-23 北京云快线软件服务有限公司 一种实现网络监控的方法及系统
CN102035696B (zh) * 2010-12-22 2012-10-03 中国工商银行股份有限公司 一种网站访问性能监测方法、装置及系统
CN103150238B (zh) * 2011-12-07 2015-11-11 阿里巴巴集团控股有限公司 一种服务请求处理方法、模拟性能测试方法及装置
CN103825783A (zh) * 2014-03-10 2014-05-28 珠海市君天电子科技有限公司 一种测试方法及装置
CN105320585B (zh) * 2014-07-08 2019-04-02 北京启明星辰信息安全技术有限公司 一种实现应用故障诊断的方法及装置
US10103945B2 (en) * 2015-04-06 2018-10-16 Level 3 Communications, Llc Server side content delivery network quality of service
CN105577480B (zh) * 2016-02-01 2019-04-12 新浪网技术(中国)有限公司 一种网络连接性能的监测方法及装置
CN107465564B (zh) * 2016-06-03 2020-05-19 德科仕通信(上海)有限公司 Vod服务质量监测系统及方法
CN107809350A (zh) * 2017-10-09 2018-03-16 北京京东尚科信息技术有限公司 获取http服务器性能数据的方法和装置
CN109842511B (zh) * 2017-11-28 2022-07-08 网宿科技股份有限公司 一种tcp性能参数的确定方法及系统
CN109873734B (zh) * 2018-01-11 2021-07-13 贵州白山云科技股份有限公司 一种底层数据监控方法、介质、设备及装置
CN110198324B (zh) * 2018-02-26 2021-12-14 腾讯科技(深圳)有限公司 数据监控方法、装置、浏览器及终端
CN110391952B (zh) * 2018-04-17 2023-03-14 阿里巴巴集团控股有限公司 一种性能分析方法、装置及其设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104904160A (zh) * 2012-11-09 2015-09-09 思杰系统有限公司 用于数据流的应用流的系统和方法
CN103139315A (zh) * 2013-03-26 2013-06-05 烽火通信科技股份有限公司 一种适用于家庭网关的应用层协议解析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐明 ; 安琦 ; .基于S3C44B0与uClinux构建web服务器.成都大学学报(自然科学版).2005,(第04期),全文. *
王晓川 ; 金士尧 ; 夏明波 ; .基于多线程事件驱动框架高性能应用层网关的设计与实现.计算机工程与科学.2008,(第02期),全文. *

Also Published As

Publication number Publication date
CN112887354A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
WO2018121237A1 (zh) 网络质量检测方法及装置
CN105072629B (zh) 测量终端上运行的业务的质量的方法、设备及系统
US9203726B2 (en) Performance measurement in a network supporting multiprotocol label switching (MPLS)
EP2081321A2 (en) Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor
RU2013155980A (ru) Домашний шлюз и способ анализа онлайн-поведения пользователя и мониторинга качества сетевых услуг
US20130258843A1 (en) Network system and apparatis
EP2706711B1 (en) Method and device for sending and receiving an ipv6 data packet
WO2019137208A1 (zh) 一种底层数据监控方法、介质、设备及装置
CN112769976A (zh) 一种域名解析方法及系统
CN110138608A (zh) 网络业务服务质量管理的方法及服务器
JP2006521049A (ja) デジタルリンクのバンド幅の評価方法
CN104901851A (zh) 一种检测网络质量的方法和系统
CN111385163A (zh) 流量的分析、检测方法及装置
US7715317B2 (en) Flow generation method for internet traffic measurement
CN112887354B (zh) 一种性能信息的获取方法和装置
CN110166518B (zh) 会话信息的传输方法、装置、存储介质及电子装置
JP2014523671A (ja) 対話型アプリケーションサービスの全体的なパフォーマンスの評価
CN107612764B (zh) 一种传输网管数据采集装置和方法
CN114375001B (zh) 一种网络测速方法及设备
CN108076070B (zh) 一种fasp协议阻断方法、装置及分析系统
CN109981386B (zh) 网络质量的测试方法、测试服务器和测试系统
CN109257560B (zh) 一种录像计划自动生成方法、装置及系统
JP2003037649A (ja) コンテンツ配信完了時刻の推定方法及び記録媒体並びにプログラム
CN104468190A (zh) 一种wifi数据抓包方法、装置及智能终端
KR100819543B1 (ko) 플로우 기반의 트래픽 측정 방법 및 그 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant