一种服务器性能检测方法、装置及设备转让专利

申请号 : CN201410353696.6

文献号 : CN105337786B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 常诚

申请人 : 华为技术有限公司

摘要 :

本发明实施例提供一种服务器性能检测方法、装置及设备,所述方法包括:检测设备向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;所述检测设备接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;所述检测设备确定所述被测服务器是否处于可用状态;基于所述检测设备确定所述被测服务器处于可用状态,所述检测设备获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;所述检测设备根据所述第一间隔时长确定所述被测服务器的性能等级。如此,就可提高服务器性能检测结果的合理性和准确性。

权利要求 :

1.一种服务器性能检测方法,其特征在于,所述方法包括:检测设备向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;

所述检测设备接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;

所述检测设备确定所述被测服务器是否处于可用状态;

基于所述检测设备确定所述被测服务器处于可用状态,所述检测设备获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;

所述检测设备根据所述第一间隔时长和所述检测设备配置的预置数据库中保存的所述第一信息的第一级别信息确定所述被测服务器的性能等级。

2.根据权利要求1所述的方法,其特征在于,所述预置数据库保存有所述第一信息,则在所述检测设备向被测服务器发送第一检测报文之前,所述方法还包括:所述检测设备从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。

3.根据权利要求1所述的方法,其特征在于,所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。

4.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:基于所述检测设备确定所述被测服务器处于不可用状态,返回执行所述检测设备向被测服务器发送第一检测报文的步骤,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。

5.根据权利要求1~3任一项所述的方法,其特征在于,所述被测服务器为DNS服务器,所述第一检测报文为DNS请求报文,所述第一响应报文为DNS应答报文,所述第一信息为第一域名,所述第二信息为IP地址。

6.一种服务器性能检测装置,其特征在于,所述装置包括:发送单元,用于向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;

接收单元,用于接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;

状态确定单元,用于确定所述被测服务器是否处于可用状态;

获取单元,用于基于所述状态确定单元确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;

等级确定单元,用于根据所述检测装置配置的预置数据库中保存的所述第一信息的第一级别信息和所述获取单元获取的所述第一间隔时长确定所述被测服务器的性能等级。

7.根据权利要求6所述的装置,其特征在于,

所述发送单元,还用于基于所述状态确定单元确定所述被测服务器处于不可用状态,继续向所述被测服务器发送所述第一检测报文,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。

8.一种服务器性能检测设备,其特征在于,所述设备包括:处理器、存储器和网络接口;

所述存储器,用于存储程序指令和数据;

所述处理器,用于读取所述存储器中存储的指令和数据,执行以下操作:触发所述网络接口向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;

通过所述网络接口接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;

确定所述被测服务器是否处于可用状态;

基于确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;

根据所述第一间隔时长和所述存储器中保存的所述第一信息的第一级别信息确定所述被测服务器的性能等级。

说明书 :

一种服务器性能检测方法、装置及设备

技术领域

[0001] 本发明涉及通信技术领域,具体涉及一种服务器性能检测方法、装置及设备。

背景技术

[0002] 随着信息技术的不断发展以及用户访问量的逐渐增长,单一服务器的性能已无法满足大量用户的访问需求,目前大多通过部署多组服务器的方式,为用户提供稳定、可靠的网络访问服务。
[0003] 为了使这多组服务器可以为用户提供良好的访问服务,在接收到客户端用户的访问请求后,可通过服务负载均衡技术,将访问请求分配到多台服务器上,由这多台服务器共同响应该访问请求。由此可知,访问请求的响应情况主要取决于负载均衡过程中为用户分配的服务器的性能,如果为用户分配的服务器的性能好,则响应时间短,用户体验好;如果为用户分配的服务器出现故障,则会延长响应时间,降低用户体验。为了获得服务器的服务性能信息,目前存在一种检测服务器性能状态的方案,下面以DNS服务为例,对这种性能检测方案进行简单介绍:
[0004] 首先,负载均衡设备向一个DNS服务器发送检测报文,检测报文中携带有识别码Transaction ID。然后,DNS服务器响应负载均衡设备,向其反馈应答报文,且应答报文中携带DNS服务器从检测报文中获取的识别码。最后,负载均衡设备根据识别码判断DNS服务器的性能。这主要是因为,当DNS服务器正常工作时,DNS服务器获取到的识别码应与检测报文中的识别码保持一致,故,若负载均衡设备判定应答报文中携带的识别码与检测报文中的识别码相同,则认为服务器状态为可用,可在负载均衡过程中分配给用户使用;否则,认为服务器状态为不可用,暂时不能将其分配给用户。
[0005] 由上述过程可知,目前的性能检测只是判断服务器是否可用,但众所周知的,服务器可以正常工作并不代表其可以为用户提供良好的服务。如此,若仅依据目前的性能检测结果进行负载均衡,则可能降低服务器的分配合理性,致使服务器为用户提供服务的响应时间过长,严重时还可能无法为用户提供服务。

发明内容

[0006] 本发明实施例提供的服务器性能检测方法、装置及设备,用以提高检测服务器性能时检测结果的合理性与准确性。
[0007] 为此,本发明实施例提供如下技术方案:
[0008] 第一方面,提供了一种服务器性能检测方法,所述方法包括:
[0009] 检测设备向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;
[0010] 所述检测设备接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;
[0011] 所述检测设备确定所述被测服务器是否处于可用状态;
[0012] 基于所述检测设备确定所述被测服务器处于可用状态,所述检测设备获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;
[0013] 所述检测设备根据所述第一间隔时长确定所述被测服务器的性能等级。
[0014] 在第一方面的第一种可能的实现方式中,所述检测设备配置有预置数据库,所述预置数据库保存有所述第一信息,则在所述检测设备向被测服务器发送第一检测报文之前,所述方法还包括:
[0015] 所述检测设备从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。
[0016] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述预置数据库还保存有所述第一信息的第一级别信息,则所述检测设备根据所述第一间隔时长确定所述被测服务器的性能等级,包括:
[0017] 所述检测设备根据所述第一间隔时长和所述第一级别信息确定所述被测服务器的性能等级。
[0018] 结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。
[0019] 结合第一方面的第一种至第三种的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述预置数据库还保存有所述被测服务器的身份标识与所述第一信息的对应关系,则在所述检测设备向被测服务器发送第一检测报文之前,所述方法还包括:
[0020] 所述检测设备根据所述第一信息,从所述对应关系中选择出所述被测服务器的身份标识。
[0021] 结合第一方面的第一种至第四种的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,基于所述检测设备确定所述被测服务器处于可用状态,所述方法还包括:
[0022] 所述检测设备向所述被测服务器发送第二检测报文,所述第二检测报文中携带第三信息;
[0023] 所述检测设备接收所述被测服务器对应所述第二检测报文返回的第二响应报文,所述第二响应报文中携带第四信息,所述第四信息与所述第三信息之间具有映射关系;
[0024] 所述检测设备获取所述第二检测报文和所述第二响应报文之间的第二间隔时长;
[0025] 所述检测设备根据所述第一间隔时长确定所述被测服务器的性能等级,包括:
[0026] 所述检测设备根据所述第二间隔时长确定所述被测服务器的性能等级,并利用根据所述第一间隔时长确定出的性能等级和所述第二间隔时长确定出的性能等级计算所述被测服务器的性能等级均值;或者,
[0027] 所述检测设备利用所述第一间隔时长和所述第二间隔时长计算间隔时长均值,并根据所述间隔时长均值确定所述被测服务器的性能等级。
[0028] 结合第一方面或第一方面的第一种至第五种的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,所述方法还包括:
[0029] 基于所述检测设备确定所述被测服务器处于不可用状态,返回执行所述检测设备向被测服务器发送第一检测报文的步骤,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度长度。
[0030] 结合第一方面或第一方面的第一种至第六种的任一种可能的实现方式,在第一方面的第七种可能的实现方式中,所述被测服务器为DNS服务器,所述第一检测报文为DNS请求报文,所述第一响应报文为DNS应答报文,所述第一信息为第一域名,所述第二信息为IP地址。
[0031] 第二方面,提供了一种服务器性能检测装置,所述装置包括:
[0032] 发送单元,用于向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;
[0033] 接收单元,用于接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;
[0034] 状态确定单元,用于确定所述被测服务器是否处于可用状态;
[0035] 获取单元,用于基于所述状态确定单元确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;
[0036] 等级确定单元,用于根据所述获取单元获取的所述第一间隔时长确定所述被测服务器的性能等级。
[0037] 在第二方面的第一种可能的实现方式中,所述装置配置有预置数据库,所述预置数据库保存有所述第一信息,所述装置还包括:
[0038] 读取单元,用于在所述发送单元向所述被测服务器发送所述第一检测报文之前,从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。
[0039] 结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述预置数据库还保存有所述第一信息的第一级别信息,则
[0040] 所述等级确定单元,具体用于根据所述第一间隔时长和所述第一级别信息确定所述被测服务器的性能等级;所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。
[0041] 结合第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述预置数据库还保存有所述被测服务器的身份标识与所述第一信息的对应关系,则在所述检测设备向被测服务器发送第一检测报文之前,所述装置还包括:
[0042] 选择单元,用于在所述发送单元向所述被测服务器发送所述第一检测报文之前,根据所述第一信息,从所述对应关系中选择出所述被测服务器的身份标识。
[0043] 结合第二方面的第二种或第三种可能的实现方式,在第二方面的第四种可能的实现方式中,基于所述状态确定单元确定所述被测服务器处于可用状态,
[0044] 所述发送单元,还用于向所述被测服务器发送第二检测报文,所述第二检测报文中携带第三信息;
[0045] 所述接收单元,还用于接收所述被测服务器对应所述第二检测报文返回的第二响应报文,所述第二响应报文中携带第四信息,所述第四信息与所述第三信息之间具有映射关系;
[0046] 所述获取单元,还用于获取所述第二检测报文和所述第二响应报文之间的第二间隔时长;
[0047] 所述等级确定单元,具体用于根据所述第二间隔时长确定所述被测服务器的性能等级,并利用根据所述第一间隔时长确定出的性能等级和所述第二间隔时长确定出的性能等级计算所述被测服务器的性能等级均值;或者,
[0048] 所述等级确定单元,具体用于利用所述第一间隔时长和所述第二间隔时长计算间隔时长均值,并根据所述间隔时长均值确定所述被测服务器的性能等级。
[0049] 结合第二方面或第二方面的第一种至第四种的任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述发送单元,还用于基于所述状态确定单元确定所述被测服务器处于不可用状态,继续向所述被测服务器发送所述第一检测报文,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。
[0050] 第三方面,提供一种服务器性能检测设备,所述设备包括:处理器、存储器和网络接口;
[0051] 所述存储器,用于存储程序指令和数据;
[0052] 所述处理器,用于读取所述存储器中存储的指令和数据,执行以下操作:
[0053] 触发所述网络接口向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;
[0054] 通过所述网络接口接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;
[0055] 确定所述被测服务器是否处于可用状态;
[0056] 基于确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;
[0057] 根据所述第一间隔时长确定所述被测服务器的性能等级。
[0058] 在第三方面的第一种可能的实现方式中,所述检测设备配置有预置数据库,所述预置数据库保存有所述第一信息,则在所述触发所述网络接口向被测服务器发送第一检测报文之前,所述处理器还用于执行以下操作:
[0059] 从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。
[0060] 结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述预置数据库还保存有所述第一信息的第一级别信息,则所述处理器根据所述第一间隔时长确定所述被测服务器的性能等级,包括:
[0061] 根据所述第一间隔时长和所述第一级别信息确定所述被测服务器的性能等级;其中,所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。
[0062] 结合第三方面的第一种或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述预置数据库还保存有所述被测服务器的身份标识与所述第一信息的对应关系,则在所述触发所述网络接口向被测服务器发送第一检测报文之前,所述处理器还用于执行以下操作:
[0063] 根据所述第一信息,从所述对应关系中选择出所述被测服务器的身份标识。
[0064] 结合第三方面的第一种至第三种的任一种可能的实现方式,在第三方面的第四种可能的实现方式中,基于确定所述被测服务器处于可用状态,所述处理器还用于执行以下操作:
[0065] 触发所述网络接口向所述被测服务器发送第二检测报文,所述第二检测报文中携带第三信息;
[0066] 通过所述网络接口接收所述被测服务器对应所述第二检测报文返回的第二响应报文,所述第二响应报文中携带第四信息,所述第四信息与所述第三信息之间具有映射关系;
[0067] 获取所述第二检测报文和所述第二响应报文之间的第二间隔时长;
[0068] 所述根据所述第一间隔时长确定所述被测服务器的性能等级,包括:
[0069] 根据所述第二间隔时长确定所述被测服务器的性能等级,并利用根据所述第一间隔时长确定出的性能等级和所述第二间隔时长确定出的性能等级计算所述被测服务器的性能等级均值;或者,
[0070] 利用所述第一间隔时长和所述第二间隔时长计算间隔时长均值,并根据所述间隔时长均值确定所述被测服务器的性能等级。
[0071] 结合第三方面或第三方面的第一种至第四种的任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理器还用于执行以下操作:
[0072] 基于确定所述被测服务器处于不可用状态,返回执行所述触发所述网络接口向被测服务器发送第一检测报文的操作,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度长度。
[0073] 本发明实施例的服务器性能检测方法、装置及设备,在需要进行服务器性能检测时,检测设备向被测服务器发送第一检测报文,并接收被测服务器针对第一检测报文返回的第一响应报文,如此,检测设备就可利用第一检测报文和第一响应报文确定出被测服务器的工作状态,并在被测服务器处于可用状态时,根据第一检测报文和第一响应报文之间的第一间隔时长确定被测服务器的性能等级。这主要是因为,间隔时长可在一定程度上反映被测服务器处理请求的响应速度,因此,本发明实施例就可结合被测服务器的工作状态和响应速度,确定被测服务器的更为有区分度的性能等级,提高了性能检测结果的准确性。如此,也就提高了负载均衡设备基于本发明实施例性能检测结果进行负载均衡的合理性,进而保证所分配服务器可以为客户端用户提供良好质量的访问服务。

附图说明

[0074] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
[0075] 图1是本发明实施例DNS服务器性能检测的组网示意图;
[0076] 图2是本发明实施例递归查询的示意图;
[0077] 图3是本发明实施例服务器性能检测方法的流程示意图;
[0078] 图4-1为本发明实施例服务器性能检测过程的一种时序示意图;
[0079] 图4-2为本发明实施例服务器性能检测过程的另一种时序示意图;
[0080] 图4-3为本发明实施例服务器性能检测过程的再一种时序示意图;
[0081] 图5是本发明实施例服务器性能检测装置的构成示意图;
[0082] 图6是本发明实施例服务器性能检测设备的构成示意图。

具体实施方式

[0083] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
[0084] 在介绍本发明实施例技术方案之前,先对本发明的具体应用场景进行解释说明。
[0085] 服务负载均衡技术提供了一种廉价有效透明的方法,用来扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。在需要进行负载均衡时,负载均衡设备会将客户端用户的访问请求分配到多台服务器上,由这多台服务器并行为客户端用户提供访问服务。
[0086] 为了使服务器可以为客户端用户提供良好的服务,目前,主要通过服务器工作状态(可体现为可用状态、不可用状态两种)来反映服务器性能,再由负载均衡设备利用负载均衡算法,从可用状态服务器中选取分配给客户端用户的服务器。下面结合图1所示DNS(Domain Name System,域名系统)性能检测组网示意图,对现有的服务器性能检测过程进行解释说明,其中第一DNS服务器(128.18.52.55)作为被测服务器。
[0087] 首先,在确保全网接口运行正常(可以理解为接口状态为UP)的情况下,负载均衡设备(128.18.52.51)使用DNS协议向被测DNS服务器(128.18.52.55)发起DNS请求(也即上文中的检测报文),如,请求访问域名为www.huawei.com对应的服务器,此时,DNS请求中至少携带请求访问的域名、识别码(识别码由DNS请求发送方产生,用于辨识查询和响应,并将相互对应的查询和响应进行配对。识别码可标示为Transaction ID)。
[0088] 其次,被测DNS服务器接收到DNS请求后,执行以下三个动作:一是,进行域名解析得到域名对应的服务器的IP地址;二是,获取DNS请求中的识别码;三是,将IP地址和识别码添加到DNS响应(也即上文中的响应报文),并将DNS响应发送至负载均衡设备。
[0089] 最后,负载均衡设备接收到DNS响应后,判断响应中的识别码是否与请求中的识别码相一致,如果一致,则判定被测DNS服务器的工作状态为可用状态;如果不一致,则判定被测DNS服务器的工作状态为不可用状态,对应于此,负载均衡设备会修正为用户分配服务器的算法,暂时不将这种处于不可用状态的DNS服务器分配给用户使用。
[0090] 基于上述现有服务器性能检测方案,可保证分配给用户的服务器能为用户提供访问服务,但却无法保证其能为用户提供质量良好的访问服务。下面对影响服务器服务质量的因素进行举例说明。
[0091] 因素一,DNS服务器本地未缓存域名与IP地址的映射关系。
[0092] 客户端接收到用户输入的http://www.huawei.com后,即会向负载均衡设备为本客户端分配的DNS服务器(这种为客户端分配的DNS服务器可称为Local DNS服务器)发送DNS请求。对应地,Local DNS服务器接收到DNS请求后,先查询其本地缓存中是否缓存有www.huawei.com的有效映射关系:
[0093] 如果有,则直接根据该映射关系进行域名解析,得到www.huawei.com对应的服务器的IP地址,如此,Local DNS服务器就可以较短的时间、较少的资源消耗来响应客户端请求,为用户提供高质量的访问服务。
[0094] 如果没有,则进行递归查询,具体可参见图2所示查询示意图。Local DNS服务器从本机预配置的根DNS服务器列表中选取一个根DNS服务器,并向其发送查询www.huawei.com的请求。因为根DNS服务器中记录了顶级域对应的权威DNS服务器,故在本示例中根DNS服务器会向Local DNS服务器返回.com域对应的权威DNS服务器的IP地址。如此,Local DNS服务器就可继续向.com域对应的权威DNS服务器发起www.huawei.com的域名解析请求,由.com域对应的权威DNS服务器向Local DNS服务器返回huawei.com对应的授权域服务器的IP地址。最后,Local DNS服务器继续向huawei.com对应的授权域服务器发起www.huawei.com的域名解析请求,由huawei.com对应的授权域服务器向Local  DNS服务器返回www.huawei.com对应的服务器的IP地址,进而再通过Local DNS服务器将解析出的IP地址返回给客户端浏览器,通过浏览器向www.huawei.com对应的服务器IP地址的80端口发起HTTP GET指令,如此,服务器就可响应客户端请求,向其返回客户端用户请求的内容。
[0095] 由上述递归查询过程可知,在Local DNS服务器本地未缓存域名与IP地址的映射关系时,Local DNS服务器需要花费较长的时间、较多的资源消耗来响应客户端请求,为用户提供的访问质量较差。
[0096] 因素二,DNS服务器承载的负载较多。
[0097] 在DNS服务器为可用状态时,服务器承载负载的数量也会对服务器服务质量造成影响。一般情况下,服务器承载负载的数量与服务器响应时长成反比关系,即,服务器承载负载的数量越少,其响应客户端请求的时间越短;反之则响应时间越长。仍以图1所示性能检测组网示意图为例,第一DNS服务器(128.18.52.55)承载的负载数已接近满荷,第二DNS服务器(128.18.52.56)相对较为空闲,若二者均为可用状态,则负载均衡过程中,负载均衡设备可能会将这两个服务器分配给客户端。一般情况下,客户端向为其分配的服务器发送访问请求时,不会做任何加权或限制处理,如此,就可能导致第一DNS服务器上不断加入新的负载,并不断增加新的DNS请求,致使第一DNS服务器过载甚至崩溃。
[0098] 综上所述可知,现有服务器性能检测方案并不能正确反映出服务器性能,如此,就会影响负载均衡过程中为客户端分配服务器的合理性,致使所分配服务器为客户端提供服务的质量较差(如响应时间长)、代价较大(如消耗资源多)。本发明实施例方案即是为此而提出,旨在提供一种新的检测服务器性能的方法,提高检测结果的准确性,从而为提高负载均衡过程的合理性、提高所分配服务器的服务质量等提供一定的技术支持。
[0099] 参见图3,示出了本发明实施例服务器性能检测方法的流程示意图,可包括以下步骤:
[0100] 步骤101,检测设备向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息。
[0101] 为了提高服务器性能检测的准确性,本发明实施例除了要检测服务器工作状态之外,还要检测服务器的响应速度,并根据这两方面信息确定服务器的性能等级。具体地,可通过服务器响应访问请求的时间来反映其响应速度,为此,检测设备可先向被测服务器发送第一检测报文,并等待接收被测服务器针对该第一检测报文返回的第一响应,将第一检测报文和第一响应报文之间的间隔时长作为服务器响应访问请求的时间。
[0102] 作为一种示例,检测设备可接收外部输入的第一信息,并生成第一检测报文发送至被测服务器。以被测服务器为DNS服务器为例,检测设备接收到外部输入的域名www.huawei.com后,即可使用DNS协议生成至少携带域名www.huawei.com的DNS请求。如此方案下,检测设备就可利用外部指定的第一信息对被测服务器进行性能检测。需要说明的是,第一信息可由外部检测人员通过命令行的方式输入至检测设备,或者也可以由外部设备(如负载均衡设备、客户端等)输入至检测设备,本发明实施例对此可不做具体限定。
[0103] 或者,作为一种示例,检测设备还可配置一预置数据库,且该预置数据库内保存有第一信息,这样,在需要进行性能检测时,检测设备可从预置数据中读取第一信息,生成第一检测报文发送至被测服务器。以被测服务器为DNS服务器为例,检测设备接收到外部输入的触发信息,即可从数据库中读取第一信息(如,www.huawei.com),并使用DNS协议生成至少携带www.huawei.com的DNS请求。如此方案,检测设备就可随机从数据库中读取第一信息,并主动利用第一信息对被测服务器进行性能检测。需要说明的是,触发信息可以是一条外部输入的触发指令,或者也可以是一条外部输入的DNS请求(该DNS请求携带的域名与第一检测报文携带的域名不同,如作为触发信息的DNS请求携带的域名为www.baidu.com,检测设备接收到触发信息后从数据库中读取域名www.huawei.com,并替换掉原DNS请求中的www.baidu.com,生成第一检测报文)。同样地,触发信息可由外部设备或外部检测人员输入,本发明实施例对触发信息的输入来源、表现形式等均可不做具体限定。
[0104] 步骤102,所述检测设备接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系。
[0105] 检测设备向被测服务器发送第一检测报文后,开始等待接收被测服务器向其反馈的第一响应报文,其中,第一响应报文中至少携带有第二信息,且第二信息与第一检测报文中的第一信息之间具有映射关系。仍以被测服务器为DNS服务器为例,第一检测报文为DNS请求,第一信息为请求访问的域名,第一响应报文为DNS应答报文,第二信息为提供域名对应服务的服务器的IP地址,映射关系为域名与IP地址之间的映射关系。
[0106] 步骤103,所述检测设备确定所述被测服务器是否处于可用状态。
[0107] 检测设备向被测服务器发送第一检测报文,并接收到被测服务器返回的第一响应报文后,即可执行步骤103确定被测服务器的工作状态是否为可用状态。
[0108] 作为一种示例,检测设备可根据识别码来确定被测服务器的工作状态。即,第一检测报文中除第一信息之外还携带识别码,第一响应报文中除第二信息之外还携带识别码,如此,检测设备就可按照上文所做介绍,根据识别码判断被测服务器工作状态是否为可用状态,具体过程此处不再进行赘述。
[0109] 或者,作为一种示例,检测设备还可根据外部输入的指示信息,确定被测服务器的工作状态。具体地,外部设备(如,负载均衡设备、客户端等)可以按照上文所做介绍,根据第一检测报文和第一响应报文中携带的识别码判断被测服务器的工作状态,并将判断结果添加到指示信息中发送至检测设备;或者,外部检测人员在知晓被测服务器工作状态后,通过命令行的方式将被测服务器工作状态输入至检测设备,本发明实施例对此可不做具体限定。
[0110] 步骤104,基于所述检测设备确定所述被测服务器处于可用状态,所述检测设备获取所述第一检测报文和所述第一响应报文之间的第一间隔时长。
[0111] 步骤105,所述检测设备根据所述第一间隔时长确定所述被测服务器的性能等级。
[0112] 经步骤103,若检测设备确定被测服务器处于可用状态,检测设备即可获取第一检测报文和第一响应报文之间的第一间隔时长,进而利用该第一间隔时长来确定被测服务器的性能等级。具体地,间隔时长越短,说明被测服务器的响应速度越快,性能越好;反之,则说明被测服务器的响应速度越慢,性能越差。若假设服务器性能等级越低表示服务器性能越好,则间隔时长(D)与性能等级(Y)之间的关系Y=f(D)可体现为正比例关系Y=k D,其中k为比例系数,可根据需要体现为任一正数。
[0113] 作为一种示例,可将服务器性能等级划分为两级,由低到高依次为:性能好(可定义为等级1)、性能差(可定义为等级2),如此,便可设置一个间隔时长阈值,并在第一间隔时长不超过该阈值时,确定被测服务器的性能等级为性能好;在第一间隔时长超过该阈值时,确定被测服务器的性能等级为性能差。或者,还可设置一个性能阈值,即配置好k值后,根据Y=kD计算得到第一间隔时长对应的被测服务器性能值Y,并在Y不超过性能阈值时,确定被测服务器的性能等级为性能好;在Y超过性能阈值时,确定被测服务器的性能等级为性能差。具体地,阈值设置、k值配置等可根据实际使用需求而定,本发明实施例对此可不做具体限定。
[0114] 另外,考虑到影响间隔时长的因素可能有多种,如,被测服务器本地是否缓存有映射关系、被测服务器承载负载的数量、被测服务器自身的处理能力、被测服务器与检测设备之间的网络环境等等,故,作为一种示例,还可将上述影响间隔时长的因素进行任意组合,并统计各组合下的间隔时长与服务器性能等级关系,将服务器性能等级划分为多级。如,最终划分的性能由高到低依次为:性能优(可定义为等级1)、性能良(可定义为等级2)、性能中(可定义为等级3)、性能差(可定义为等级4),且根据各组合的统计结果设置了各性能等级之间的阈值,如此,便可更为细致的确定被测服务器的性能等级。具体地,区分性能等级的阈值可体现为间隔时长阈值,如此,检测设备就可利用第一间隔时长与各间隔时长阈值相比较,确定出被测服务器的性能等级;或者,区分性能等级的阈值还可体现为性能阈值,如此,检测设备就可利用配置好的k值、第一间隔时长D计算得到被测服务器性能值Y,并使性能值Y与各性能阈值相比较,确定出被测服务器的性能等级。具体地,影响间隔时长的因素、各因素形成的组合、划分出的性能等级、阈值设置、k值配置等均可根据实际使用需求而定,本发明实施例对此可不做具体限定。
[0115] 综上所述,本发明实施例在确定被测服务器处于可用状态后,还会结合检测报文与响应报文之间的间隔时长进一步明确被测服务器的性能等级,因为间隔时长可在一定程度上反映被测服务器处理请求的响应速度,故本发明实施例方案可提高服务器性能检测结果的准确性,从而提高负载均衡设备基于本发明实施例性能检测结果进行负载均衡的合理性,进而保证所分配服务器可以为客户端用户提供良好质量的访问服务。
[0116] 需要说明的是,本发明实施例中的检测设备可以是一台独立设备,连接在客户端与被测服务器之间;或者,也可将检测设备的功能集成在负载均衡设备中,而不改变现网的连接关系,本发明实施例对此可不做具体限定。
[0117] 另外,还需要说明的是,如上文所举示例,本发明实施例中的被测服务器可体现为DNS服务器,或者,被测服务器还可体现为呼叫中心服务器、CDN(Content Distribution Network,内容分发网络)中的内容分发服务器等等,可在本地缓存第一信息和第二信息映射关系的服务器。如果被测服务器为呼叫中心服务器,则第一检测报文为呼叫请求,第一信息为被呼叫用户的账号(一般可体现为被呼叫用户的电话号码),第一响应报文为呼叫响应,第二信息为被呼叫用户对应的客户端IP地址,映射关系为账号与IP地址之间的映射关系。如果被测服务器为内容分发服务器,则第一检测报文为内容访问请求,第一信息为请求访问的内容信息(可体现为内容对应的URL、关键字、标题等等),第一响应报文为内容访问响应,第二信息为缓存服务器的IP地址,映射关系为内容信息与缓存服务器IP地址之间的映射关系,需要说明的是,缓存服务器可以理解为,内容源服务器在本地的一个交互点,其从内容源服务器中获取内容信息对应的内容,并将内容缓存在本地,如此之后,客户端通过内容分发服务器提供的IP地址访问缓存服务器时,就可获得内容信息对应的内容。
[0118] 下面以DNS服务器为例,对本发明实施例性能检测的过程进行解释说明。
[0119] 实施例1
[0120] 针对被测DNS服务器,检测设备配置的预置数据库中保存有多个域名,具体可参见下表1所示:
[0121]编号 域名
1 www.huawei.com
2 www.baidu.com
3 www.sina.com
4 www.cnki.net
… …
[0122] 参见图4-1所示时序图,本实施例的性能检测过程可包括以下步骤:
[0123] 1、检测设备接收外部输入的DNS请求,该请求中携带域名www.sina.com,这样,检测设备即可被触发从预置数据库中读取一个检测用域名,如,读取的域名为www.huawei.com(即上文中的第一信息)。
[0124] 2、检测设备更改DNS请求的报文封装模式,将其中的www.sina.com更改为www.huawei.com,形成新的DNS请求。作为一种示例,检测设备可拆封DNS请求的Queries字段,并将检测用域名添加到Queries字段的Name中,形成新的DNS请求。
[0125] 3、检测设备向被测DNS服务器发送更改后的DNS请求(即上文中的第一检测报文),该请求中携带域名www.huawei.com、识别码Transaction ID。
[0126] 4、被测DNS服务器接收检测设备发送的DNS请求,进行域名解析得到与www.huawei.com具有映射关系的IP地址(即上文中的第二信息),并将IP地址和从中DNS请求中获取的识别码添加到DNS应答报文(即上文中的第一响应报文)中,向检测设备发送DNS应答报文。
[0127] 5、检测设备接收被测DNS服务器发送的DNS应答报文,并确定如下两个信息:
[0128] (1)被测DNS服务器的工作状态Status(S),可通过比对识别码获得,此处不再赘述。作为一个示例,被测DNS服务器为不可用状态时,可记录S=0,被测DNS服务器为可用状态时,可记录S=1。
[0129] (2)记录发送DNS请求的时间、接收DNS应答报文的时间,得到间隔时长Delay(D)(即上文中的第一间隔时长)。
[0130] 6、在确定被测DNS服务器为可用状态(即S=1)时,检测设备利用间隔时长D计算被测DNS服务器的性能值Y=kD*S,其中,k的取值可根据需要而定,一般取为正数。
[0131] 7、检测设备利用计算出的性能值Y与预设性能阈值相比较,得到被测DNS服务器的性能等级。如此,就完成了本发明实施例的服务器性能检测过程。
[0132] 需要说明的是,检测设备被触发开始进行性能检测后,可如实施例1所做介绍,只从预置数据库中读取一个检测用域名,并利用该域名对被测DNS服务器进行性能检测;或者,还可循环往复的进行性能检测,即按照实施例1所示方案,利用一个读取出的域名完成一次性能检测之后,还可继续从预置数据库中读取另一个域名,继续对被测DNS服务器进行性能检测,如此循环,直至利用数据库中的每个域名进行一次性能检测,或直至被控制停止性能检测过程为止。如此,便可对至少两个域名的性能检测结果进行平均处理,并将均值作为被测DNS服务器的性能检测结果,进一步提高本发明实施例性能检测结果的准确性。
[0133] 另外,需要说明的是,本发明实施例中,利用某个域名进行一次性能检测后,还可重新从读取数据库读取该域名,再次利用其进行一次性能检测。这主要是因为,影响服务器性能的因素可能会随时发生变化,如,被测DNS服务器初始时并未缓存域名www.huawei.com与IP地址的映射关系,但在利用域名www.huawei.com第一次进行服务器性能检测的过程中,被测DNS服务器会通过递归查询的方式获得该映射关系,并缓存在被测DNS服务器本地,导致影响服务器性能的因素发生变化;或者,被测DNS服务器的带载情况发生变化、被测DNS服务器处理的请求数量发生变化、被测DNS服务器与检测设备之间的网络环境发生变化等等,均可能导致被测服务器的性能检测结果发生变化,故,可利用同一域名对被测DNS服务器进行多次性能检测,如此,亦可进一步提高本发明实施例性能检测结果的准确性。作为一种示例,可将某个域名对应的最后一次性能检测结果作为被测DNS服务器的性能检测结果,也可将该域名对应的多次性能检测结果的均值作为被测DNS服务器的性能检测结果,本发明实施例对此可不做具体限定。
[0134] 实施例2
[0135] 针对被测DNS服务器,检测设备配置的预置数据库中保存有多个域名、及每个域名对应的级别信息,具体可参见下表2所示:
[0136]编号 域名 级别信息
1 www.huawei.com 1
2 www.baidu.com 2
3 www.sina.com 2
4 www.cnki.net 1
… … …
[0137] 本实施例中,还为数据库中的域名设置一个对应的级别信息,并结合被测服务器的工作状态、间隔时长、以及级别信息来确定被测服务器的性能等级。参见图4-2所示时序图,本实施例的性能检测过程可包括以下步骤:
[0138] 步骤1~5与上文实施例1的步骤1~5相同,此处不再赘述。
[0139] 6、在确定被测DNS服务器为可用状态(即S=1)时,检测设备利用间隔时长D、级别信息X计算被测DNS服务器的性能值Y=(kD+mX)*S,其中,k、m的取值可根据需要而定,一般取为正数。
[0140] 7、检测设备利用计算出的性能值Y与预设性能阈值相比较,得到被测DNS服务器的性能等级。如此,就完成了本发明实施例的服务器性能检测过程。
[0141] 具体地,可根据域名所标识的网络资源被访问频率设置域名的级别信息,作为一种示例,级别信息可体现为:常用(可对应级别1)、次常用(可对应级别2)、不常用(可对应级别3,表2中未体现)。或者,还可根据域名所属的类别设置域名对应的级别信息,也即,根据用户的访问习惯设置各种服务类别的级别。如,用户经常访问通信技术类网站,则可将该服务类别设置为级别1,这样,在某个域名对应的服务器可为用户提供通信技术类服务时,则可将该域名的级别信息设置为1。
[0142] 需要说明的是,结合Y=(kD+mX)*S可知,级别信息与性能等级间的关系,应与间隔时长与性能等级间的关系保持一致,也就是说,若间隔时长与性能等级间成正比例关系,则级别信息与性能等级间也要成正比例关系。这种情况下,域名对应的级别信息越低(即被访问频率高、或符合用户访问习惯),检测报文与响应报文之间的间隔时长越小,计算得到的服务器性能值Y就越小,确定出的服务器性能等级就越低(即性能越好)。
[0143] 此外,为域名设置级别信息的过程可由检测设备执行,也可由外部其它设备执行后加载到检测设备,本发明实施例对此可不做具体限定。
[0144] 另外,还需要说明的是,Y=(kD+mX)*S中的系数k、m的取值可根据实际需要自行配置。下面以两种具体场景为例,对配置k、m取值的方式进行解释说明。
[0145] 场景一,配置k、m取值来区分间隔时长、级别信息二者对计算服务器性能值Y的影响,即,通过配置k、m取值来设置间隔时长、级别信息的权重。
[0146] 场景二,在间隔时长、级别信息的量级不一致时,通过配置k、m取值来保证计算出的服务器性能值Y的合理性。如,某个域名对应的级别信息X=1、间隔时长D=30ms,则可将m的取值配置为m=10,将k的取值配置为k=1,如此,计算得到的服务器性能值Y=40,使性能值Y的取值更为合理。需要说明的是,如此方式下,为了保证检测过程中计算性能值的准确性和一致性,应保持k、m取值不变,除非现网变化等原因导致间隔时长、级别信息的量级发生变化时,才调整二者的取值。
[0147] 需要说明的是,为了进一步提高本发明实施例性能检测结果的准确性,本实施例也可如实施例1处所做介绍,利用一个读取出的域名完成一次性能检测之后,还可继续从预置数据库中读取另一个域名,继续对被测DNS服务器进行性能检测,如此循环,直至利用数据库中的每个域名进行一次性能检测,或直至被控制停止性能检测过程为止。或者,利用某个域名进行一次性能检测后,还可重新从读取数据库读取该域名,再次利用其进行一次性能检测。对此,本发明实施例均可不做具体限定。
[0148] 实施例3
[0149] 在上述实施例的基础上,检测设备配置的预置数据库中还可保存多个服务器的身份标识,以及每个服务器的身份标识与域名之间的对应关系。当然,在实施例2所示表2的基础上,数据库中还可保存每个域名对应的级别信息,具体可参见下表3所示:
[0150]
[0151]
[0152] 性能检测过程可包括以下步骤:
[0153] 在上文实施例1、2所示方案的基础上,检测设备执行步骤1读取到检测用域名(即上文中的第一信息)后,还可执行如下步骤:检测设备根据所述第一信息,从所述预置数据库中保存的对应关系中选择出所述被测服务器的身份标识。这样,检测设备就可将更改后的DNS请求发送至具有选择出的身份标识的被测服务器。需要说明的是,选择被测服务器身份标识的步骤可在步骤2之前执行,也可在步骤2之后执行,或与步骤2同时执行,本发明实施例对此可不做具体限定,只要在执行步骤3之前选择出被测服务器即可。
[0154] 也就是说,在检测设备确定出性能检测过程中使用的域名后,如,检测用域名为www.baidu.com,则可据此从预置数据库中查找该域名对应的被测服务器的身份标识1,使检测设备知晓当前的被测对象是谁,进而向具有身份标识1的被测服务器发送检测报文。或者,检测设备还可确定出多个检测用域名,如,检测用域名为www.baidu.com和www.huawei.com,则可据此查找这2个域名共同对应的被测服务器的身份标识1,进而向具有身份标识1的被测服务器发送检测报文(如此情况下,检测设备先后向被测服务器发送两个检测报文,两个检测报文分别携带不同域名)。
[0155] 需要说明的是,具有不同身份标识的被测服务器可能会对应同一域名,即,多台服务器均可对某个域名进行域名解析。如上表3所举示例,具有身份标识1、2的被测服务器均对应域名www.huawei.com,则检测设备确定出性能检测过程中使用的域名www.huawei.com后,便可利用该域名分别对身份标识1、2的被测服务器进行性能检测,或者,也可预先设定检测规则,在出现这种情况时,只利用该域名对规则指定的被测服务器进行性能检测,本发明实施例对此可不做具体限定。
[0156] 同样地,为了提高本发明实施例性能检测结果的准确性,本实施例也可如实施例1处所做介绍,利用不同域名对同一被测服务器进行多次性能检测,或者也可利用同一域名对同一被测服务器进行多次性能检测,本发明实施例对此可不做具体限定。
[0157] 实施例4
[0158] 如上文所做介绍,本发明实施例可利用不同域名对同一被测服务器进行多次性能检测,以提高本发明实施例性能检测结果的准确性。下面以表3所举示例为例,对利用www.baidu.com和www.huawei.com计算具有身份标识1的被测服务器的性能等级的过程进行解释说明。
[0159] 参见图4-3所示时序图,本实施例的性能检测过程可包括以下步骤:
[0160] 1、检测设备接收外部输入的携带域名www.sina.com的DNS请求,并被触发从预置数据库中读取一个检测用域名,如读取的域名为www.baidu.com(即上文中的第一信息)。
[0161] 2、检测设备查找预置数据库,选择出域名www.baidu.com对应的服务器身份标识1,并将具有该标识的DNS服务器确定为被测DNS服务器。
[0162] 3、检测设备更改DNS请求的报文封装模式,将其中的www.sina.com更改为www.baidu.com,形成新的DNS请求。
[0163] 4、检测设备向被测DNS服务器发送更改后的DNS请求(即上文中的第一检测报文),该请求中携带域名www.baidu.com、识别码Transaction ID。
[0164] 5、被测DNS服务器接收检测设备发送的DNS请求,进行域名解析得到与www.baidu.com具有映射关系的IP地址(即上文中的第二信息),并将IP地址和从中DNS请求中获取的识别码添加到DNS应答报文(即上文中的第一响应报文)中,向检测设备发送DNS应答报文。
[0165] 6、检测设备接收被测DNS服务器发送的DNS应答报文,并确定如下两个信息:
[0166] (1)被测DNS服务器的工作状态Status(S),可通过比对识别码获得,此处不再赘述。作为一个示例,被测DNS服务器为不可用状态时,可记录S=0,被测DNS服务器为可用状态时,可记录S=1。
[0167] (2)记录发送第一检测报文的时间、接收第一响应报文的时间,得到间隔时长Delay(D)(即上文中的第一间隔时长)。
[0168] 7、检测设备确定被测DNS服务器为可用状态时,利用Y=(kD+mX)*S计算第一间隔时长对应的被测DNS服务器的性能值Y1。
[0169] 8、检测设备继续从预置数据库中读取被测DNS服务器对应的其它域名,如,读取到的域名为www.huawei.com(即本发明实施例中的第三信息)
[0170] 9、检测设备更改DNS请求的报文封装模式,将其中的www.sina.com更改为www.huawei.com,形成新的DNS请求。
[0171] 10、检测设备向被测DNS服务器发送更改后的DNS请求(即本发明实施例中的第二检测报文),该请求中携带域名www.huawei.com、识别码(可与第一检测报文中的识别码相同,也可不同,本发明实施例对此可不做具体限定)。
[0172] 11、被测DNS服务器接收检测设备发送的DNS请求,进行域名解析得到与www.huawei.com具有映射关系的IP地址(即上文中的第四信息),并将IP地址和从中DNS请求中获取的识别码添加到DNS应答报文(即本发明实施例中的第二响应报文)中,向检测设备发送DNS应答报文。
[0173] 12、检测设备接收被测DNS服务器发送的DNS应答报文,记录发送第二检测报文的时间、接收第二响应报文的时间,得到间隔时长Delay(D)(即本发明实施例中的第二间隔时长)。需要说明的是,为了简化处理,在上次检测过程确定服务器为可用状态后,本次检测过程可不再进行工作状态检测,当然,为了保证检测结果的准确性,防止两次检测过程中服务器工作状态发生变化影响检测结果,本次检测过程亦可利用识别码再次对被测DNS服务器进行工作状态检测,本发明实施例对此可不做具体限定。
[0174] 13、检测设备确定被测DNS服务器为可用状态时,利用Y=(kD+mX)*S计算第二间隔时长对应的被测DNS服务器的性能值Y2。
[0175] 14、检测设备计算性能均值Y=(Y1+Y2)/2,并利用性能均值Y与预设性能阈值相比较,得到被测DNS服务器的性能等级。如此,就完成了本发明实施例的服务器性能检测过程。
[0176] 另外,作为一种示例,还可在记录得到第一间隔时长、第二间隔时长后,先利用二者计算间隔时长均值,再利用Y=(kD+mX)*S计算间隔时长均值对应的被测DNS服务器的性能值Y3,进而利用Y3与预设性能阈值相比较,得到被测DNS服务器的性能等级。或者,利用第一间隔时长得到被测DNS服务器的性能等级、利用第二间隔时长得到被测DNS服务器的性能等级后,对二个性能等级进行平均处理,将得到的性能等级均值作为被测DNS服务器的性能等级。
[0177] 需要说明的是,检测设备可如本实施例所示,在计算得到第一间隔时长对应的性能值Y1后(即步骤7之后),再从预置数据库中读取其它域名;或者,也可以在更改DNS请求的报文封装模式得到新的DNS请求之后(即步骤3~7任一步骤之后),读取被测DNS服务器对应的其它域名,本发明实施例对此可不做具体限定。
[0178] 实施例5
[0179] 结合上文所做介绍可知,本发明实施例只有在被测服务器的工作状态为可用状态时,才进一步利用间隔时长(或者,利用间隔时长与级别信息)确定被测服务器的性能等级;而在被测服务器工作状态为不可用状态时,则判定被测服务器出现故障,暂时不能提供访问服务。但是,在实际应用过程中,被测服务器处于不可用状态可能是服务器故障导致,也可能是由于闪断、抖动等异常情况导致。为了进一步提高本发明实施例性能检测的准确性,消除异常情况导致的性能检测结果错误,检测设备还可在上述实施例的基础上,执行以下步骤:基于所述检测设备确定所述被测服务器处于不可用状态,返回执行所述检测设备向被测服务器发送第一检测报文的步骤,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。
[0180] 在上文实施例1处所介绍方案的基础上,若步骤5中检测设备记录被测DNS服务器的工作状态为不可用状态(即S=0),作为一种示例,检测设备可直接判定被测DNS服务器出现故障,停止性能检测过程,并暂时不再将其分配给客户端用户使用;或者,作为另一种示例,检测设备还可返回执行步骤3,继续向被测DNS服务器发送更改后的DNS请求,再次对被测DNS服务器进行工作状态检测,如果经检测被测DNS服务器当前处于可用状态,则继续执行后续确定服务器性能等级的步骤;如果经检测被测DNS服务器当前仍为不可用状态,则判断当前是否满足预设条件,如果满足,则停止性能检测过程,并暂时不再将被测DNS服务器分配给客户端用户使用;如果不满足,则继续返回执行步骤3,直至满足预设条件时为止。
[0181] 与图3所示方法相对应地,本发明实施例还提供了一种服务器性能检测装置,参见图5所示示意图,所述装置可包括:
[0182] 发送单元201,用于向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;
[0183] 接收单元202,用于接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;
[0184] 状态确定单元203,用于确定所述被测服务器是否处于可用状态;
[0185] 获取单元204,用于基于所述状态确定单元确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;
[0186] 等级确定单元205,用于根据所述获取单元获取的所述第一间隔时长确定所述被测服务器的性能等级。
[0187] 综上所述,本发明实施例检测装置在确定被测服务器处于可用状态后,还会结合检测报文与响应报文之间的间隔时长进一步明确被测服务器的性能等级,因为间隔时长可在一定程度上反映被测服务器处理请求的响应速度,故本发明实施例方案可提高服务器性能检测结果的准确性,从而提高负载均衡设备基于本发明实施例性能检测结果进行负载均衡的合理性,进而保证所分配服务器可以为客户端用户提供良好质量的访问服务。
[0188] 可选地,检测装置可配置有预置数据库,所述预置数据库保存有所述第一信息,如此,检测装置被触发后,就可从预置数据库中读取第一信息,并主动利用第一信息对被测服务器进行性能检测,对应于此,所述装置还包括:读取单元,用于在所述发送单元向所述被测服务器发送所述第一检测报文之前,从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。
[0189] 具体过程可参见上文实施例1处所做介绍,此处不再赘述。另外,检测装置被触发后,可仅从预置数据库中读取第一信息,并利用第一信息对被测服务器进行性能检测;此外,检测装置还可循环往复从预置数据库中读取其它信息,对同一被测服务器进行多次性能检测;或者,还可利用同一信息对同一被测服务器进行多次性能检测,本发明实施例对此可不做具体限定,此处亦不再展开介绍。
[0190] 可选地,所述预置数据库还保存有所述第一信息的第一级别信息,则所述等级确定单元,具体用于根据所述第一间隔时长和所述第一级别信息确定所述被测服务器的性能等级;所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。
[0191] 如此,检测装置就可结合被测服务器的工作状态、间隔时长、级别信息三方面来确定被测服务器的性能等级,具体过程可参见上文实施例2处所做介绍,此处不再赘述。
[0192] 可选地,所述预置数据库还保存有所述被测服务器的身份标识与所述第一信息的对应关系,则在所述检测设备向被测服务器发送第一检测报文之前,所述装置还包括:选择单元,用于在所述发送单元向所述被测服务器发送所述第一检测报文之前,根据所述第一信息,从所述对应关系中选择出所述被测服务器的身份标识。
[0193] 如此,检测装置就可主动对不同服务器进行性能检测,具体过程可参见上文实施例3处所做介绍,此处不再赘述。
[0194] 可选地,基于所述状态确定单元确定所述被测服务器处于可用状态,[0195] 所述发送单元,还用于向所述被测服务器发送第二检测报文,所述第二检测报文中携带第三信息;
[0196] 所述接收单元,还用于接收所述被测服务器对应所述第二检测报文返回的第二响应报文,所述第二响应报文中携带第四信息,所述第四信息与所述第三信息之间具有映射关系;
[0197] 所述获取单元,还用于获取所述第二检测报文和所述第二响应报文之间的第二间隔时长;
[0198] 所述等级确定单元,具体用于根据所述第二间隔时长确定所述被测服务器的性能等级,并利用根据所述第一间隔时长确定出的性能等级和所述第二间隔时长确定出的性能等级计算所述被测服务器的性能等级均值;或者,
[0199] 所述等级确定单元,具体用于利用所述第一间隔时长和所述第二间隔时长计算间隔时长均值,并根据所述间隔时长均值确定所述被测服务器的性能等级。
[0200] 如此,利用多个从预置数据库中读取的信息(此处可体现为第一信息、第三信息,当然,作为一种示例,还可读取更多的信息进行性能检测,本发明实施例对此不进行限定)对同一被测服务器进行多次性能检测,以提高本发明实施例性能检测结果的准确性,具体过程可参见上文实施例4处所做介绍,此处不再赘述。
[0201] 可选地,所述发送单元,还用于基于所述状态确定单元确定所述被测服务器处于不可用状态,继续向所述被测服务器发送所述第一检测报文,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。
[0202] 如此,就可消除异常情况导致的性能检测结果错误,提高本发明实施例性能检测结果的准确性,具体过程可参见上文实施例5处所做介绍,此处不再赘述。
[0203] 需要说明的是,本装置实施例中提供的服务器性能检测装置,可以集成在负载均衡设备中,应用于上文附图3所示的方法实施例中,实现其中检测设备的功能。服务器性能检测装置可以实现的其他附加功能、以及与被测DNS服务器的其他交互过程,请参照方法实施例中对检测设备的描述,在这里不再赘述。
[0204] 另外,上述实施例提供的检测装置在进行服务器性能检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0205] 本发明实施例还提供了服务器性能检测设备。参见图6所示示意图,服务器性能检测设备可包括:处理器301、存储器302、网络接口303、总线系统304。
[0206] 所述总线系统304,用于将检测设备的各个硬件组件耦合在一起。
[0207] 所述网络接口303,用于实现检测设备与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等方式。
[0208] 所述存储器302,用于存储程序指令和数据。
[0209] 所述处理器301,用于读取存储器302中存储的指令和数据,执行以下操作:
[0210] 触发所述网络接口向被测服务器发送第一检测报文,所述第一检测报文中携带第一信息;
[0211] 通过所述网络接口接收所述被测服务器对应所述第一检测报文返回的第一响应报文,所述第一响应报文中携带第二信息,所述第二信息与所述第一信息之间具有映射关系;
[0212] 确定所述被测服务器是否处于可用状态;
[0213] 基于确定所述被测服务器处于可用状态,获取所述第一检测报文和所述第一响应报文之间的第一间隔时长;
[0214] 根据所述第一间隔时长确定所述被测服务器的性能等级。
[0215] 其中,所述处理器301可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过其中的处理器以配合实现及控制,用于执行本发明实施例揭示的方法。上述处理器还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(application specific integrated circuit)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0216] 其中,上述通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,解码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
[0217] 其中,总线系统304除了包括数据总线之外,还可包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统304。
[0218] 可选地,所述检测设备配置有预置数据库,所述预置数据库保存有所述第一信息,则在所述触发所述网络接口向被测服务器发送第一检测报文之前,所述处理器还用于执行以下操作:
[0219] 从所述预置数据库中读取所述第一信息,并利用所述第一信息生成所述第一检测报文。
[0220] 可选地,所述预置数据库还保存有所述第一信息的第一级别信息,则所述处理器执行以下操作确定所述被测服务器的性能等级:
[0221] 根据所述第一间隔时长和所述第一级别信息确定所述被测服务器的性能等级;所述第一级别信息是按照所述第一信息所标识的网络资源被访问频率或所述第一信息所属类别设置的。
[0222] 可选地,所述预置数据库还保存有所述被测服务器的身份标识与所述第一信息的对应关系,则在所述触发所述网络接口向被测服务器发送第一检测报文之前,所述处理器还用于执行以下操作:
[0223] 根据所述第一信息,从所述对应关系中选择出所述被测服务器的身份标识。
[0224] 可选地,基于确定所述被测服务器处于可用状态,所述处理器还用于执行以下操作:
[0225] 触发所述网络接口向所述被测服务器发送第二检测报文,所述第二检测报文中携带第三信息;
[0226] 通过所述网络接口接收所述被测服务器对应所述第二检测报文返回的第二响应报文,所述第二响应报文中携带第四信息,所述第四信息与所述第三信息之间具有映射关系;
[0227] 获取所述第二检测报文和所述第二响应报文之间的第二间隔时长;
[0228] 所述处理器执行以下操作确定所述被测服务器的性能等级:
[0229] 根据所述第二间隔时长确定所述被测服务器的性能等级,并利用根据所述第一间隔时长确定出的性能等级和所述第二间隔时长确定出的性能等级计算所述被测服务器的性能等级均值;或者,
[0230] 利用所述第一间隔时长和所述第二间隔时长计算间隔时长均值,并根据所述间隔时长均值确定所述被测服务器的性能等级。
[0231] 可选地,所述处理器还用于执行以下操作:
[0232] 基于确定所述被测服务器处于不可用状态,返回执行所述触发所述网络接口向被测服务器发送第一检测报文的步骤,直至满足预设条件时为止;所述预设条件为预设执行次数或预设执行时间长度。
[0233] 需要说明的是,本发明实施例中的被测服务器可以是DNS服务器、呼叫中心服务器、内容分发服务器等等,可在本地缓存第一信息和第二信息映射关系的服务器。如果被测服务器为DNS服务器,则所述第一检测报文为DNS请求报文,所述第一响应报文为DNS应答报文,所述第一信息为第一域名,所述第二信息为IP地址。如果被测服务器为呼叫中心服务器,则第一检测报文为呼叫请求,第一信息为被呼叫用户的账号,第一响应报文为呼叫响应,第二信息为被呼叫用户对应的客户端IP地址,映射关系为账号与IP地址之间的映射关系。如果被测服务器为内容分发服务器,则第一检测报文为内容访问请求,第一信息为请求访问的内容信息,第一响应报文为内容访问响应,第二信息为缓存服务器的IP地址,映射关系为内容信息与缓存服务器IP地址之间的映射关系。
[0234] 综上所述,本发明实施例检测设备在确定被测服务器处于可用状态后,还会结合检测报文与响应报文之间的间隔时长进一步明确被测服务器的性能等级,因为间隔时长可在一定程度上反映被测服务器处理请求的响应速度,故本发明实施例方案可提高服务器性能检测结果的准确性,从而提高负载均衡设备基于本发明实施例性能检测结果进行负载均衡的合理性,进而保证所分配服务器可以为客户端用户提供良好质量的访问服务。此外,还可利用不同域名对同一被测服务器进行多次性能检测,或者,也可利用同一域名对同一被测服务器进行多次性能检测,以进一步提高本发明实施例服务器性能检测结果的准确性。
[0235] 需要说明的是,本实施例中提供的服务器性能检测设备,可以集成在负载均衡设备中,应用于上文附图3所示的方法实施例中,实现其中检测设备的功能。服务器性能检测装置可以实现的其他附加功能、以及与被测DNS服务器的其他交互过程,请参照方法实施例中对检测设备的描述,在这里不再赘述。
[0236] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0237] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0238] 以上所述仅是本发明的可选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。