终端、服务器和服务器性能测试方法

文档序号:7861764阅读:354来源:国知局
专利名称:终端、服务器和服务器性能测试方法
技术领域
本发明涉及计算机技术领域,具体而言,涉及终端、服务器和服务器性能测试方法。
背景技术
目前软件应用越来越复杂,开发人员已经很难直观的分析软件中存在的性能缺陷,相关技术方案通过代码性能分析工具分析软件的性能缺陷,但代码性能分析工具存在的问题如下I.都是利用底层接口实现,监控目标软件的所有方法,导致性能较差。2.在分析时,需要先用代码性能分析工具启动目标软件,无法在发现问题的第一 时间直接分析。因此,需要一种轻量级的服务器性能测试技术,在运行软件时可直接进行性能分析,能够提高测试效率,降低性能测试周期。

发明内容
本发明正是基于上述问题,提出了一种服务器性能测试技术,在运行软件时可直接进行性能分析,能够提高测试效率,降低性能测试周期。有鉴于此,根据本发明的一个方面,提供了一种终端,包括拦截单元,拦截所述终端发送至服务器的请求,并为所述请求添加测试标识;收发单元,将所述请求发送至所述服务器,向所述服务器发送获取性能数据的请求,以及接收来自所述服务器的所述性能数据;显示单元,显示所述性能数据。在终端运行软件时,例如浏览器,需向服务器发送请求,当需要对服务器性能进行测试时,对请求信息进行处理,添加测试标识,服务器在接收到该请求时,若发现请求信息中包含测试标识,则进行测试,并将测试数据反馈至终端,这样就实现了在运行软件过程中进行性能测试,既不影响正常的软件运行,也提高了测试的效率,由于只收集客户端发出请求的性能开销,更轻量级。在上述技术方案中,优选的,所述拦截单元包括修改子单元,修改所述终端的代理信息,以将所述请求转发至标识子单元进行处理;所述标识子单元,修改所述请求的头部信息,增加所述测试标识,通过所述收发单元将修改后的请求发送至所述服务器。为了能够在请求信息中添加测试标识,需拦截向服务器发送的请求,然后修改请求的头部信息,在头部信息中添加测试标识,这样就完成了请求信息的处理过程,最后将处理过的请求发送至服务器。在上述技术方案中,优选的,所述显示单元还用于根据所述性能数据包含的信息项对所述性能数据进行分字段显示。这样可直观清晰地表明每项性能数据的情况,方便查看。根据本发明的另一方面,还提供了一种服务器,包括通信单元,接收来自终端的请求,以及将处理所述请求过程中的性能数据发送至所述终端;判断单元,判断所述请求是否包含测试标识;记录单元,在所述判断单元判断出所述请求包含所述测试标识时,在日志文件中记录处理所述请求过程中的性能数据。在服务器发现客户端发送过来的请求中包含测试标识时,便将处理该请求的具体过程记录在日志文件中,以形成测试性能数据,然后将测试性能数据发送至客户端,便完成了测试过程,极大降低了问题的分析周期,并降低了技术分析门榲,简单易用。在上述技术方案中,优选的,所述性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,所述客户端的唯一标识。根据本发明的又一方面,还提供了一种服务器性能测试方法,包括步骤402,拦截客户端发送至服务器的请求,为所述请求添加测试标识并将所述请求发送至所述服务器;步骤404,所述服务器在接收到所述请求后,判断所述请求是否包含所述测试标识;步骤406,在判断出包含所述测试标识时,在日志文件中记录处理所述请求过程中的性能数据;步骤408,将所述性能数据返回至所述客户端。 在终端运行软件时,例如浏览器,需向服务器发送请求,当需要对服务器性能进行测试时,对请求信息进行处理,添加测试标识,服务器在接收到该请求时,若发现请求信息中包含测试标识,则进行测试,并将测试数据反馈至终端,这样就实现了在运行软件过程中进行性能测试,既不影响正常的软件运行,也提高了测试的效率,由于只收集客户端发出请求的性能开销,更轻量级。另外,在服务器发现客户端发送过来的请求中包含测试标识时,便将处理该请求的具体过程记录在日志文件中,以形成测试性能数据,然后将测试性能数据发送至客户端,便完成了测试过程,极大降低了问题的分析周期,并降低了技术分析门槛,简单易用。在上述技术方案中,优选的,所述步骤402具体包括修改所述客户端的代理信息,以将所述请求转发至监听端口进行处理;修改所述请求的头部信息,在所述头部信息中增加所述测试标识,将修改后的请求发送至所述服务器。为了能够在请求信息中添加测试标识,需拦截向服务器发送的请求,然后修改请求的头部信息,在头部信息中添加测试标识,这样就完成了请求信息的处理过程,最后将处理过的请求发送至服务器。在上述技术方案中,优选的,所述性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,所述客户端的唯一标识。 在上述技术方案中,优选的,所述步骤408还包括,所述客户端根据所述性能数据包含的信息项对所述性能数据进行分字段显示。这样可直观清晰地表明每项性能数据的情况,方便查看。在上述任一技术方案中,优选的,所述步骤408具体包括所述客户端向所述服务器获取所述性能数据,所述服务器从所述日志文件中获取所述性能数据并将所述性能数据发送至所述客户端。根据本发明的服务器性能测试技术,可降低技术分析门槛,简单易用,也极大的降低了问题的分析周期,并且将客户端的每一次操作请求,与服务端进行关联,只收集固定客户端发出请求的性能开销,更轻量级。更重要的是,可以在软件的运行时直接进行性能分析。


图I示出了根据本发明的实施例的终端的框图;图2示出了根据本发明的实施例的服务器的框图;图3示出了根据本发明的实施例的性能测试系统的示意图;
图4示出了根据本发明的实施例的服务器性能测试方法的流程图;图5示出了根据本发明的实施例的性能数据显示效果示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。图I示出了根据本发明的实施例的终端的框图。如图I所示,根据本发明的实施例的终端100包括拦截单元102,拦截终端发送至服务器的请求,并为请求添加测试标识;收发单元104,将请求发送至服务器,向服务器发送获取性能数据的请求,以及接收来自服务器的性能数据;显示单元106,显示性能数据。在终端运行软件时,例如浏览器,需向服务器发送请求,当需要对服务器性能进行测试时,对请求信息进行处理,添加测试标识,服务器在接收到该请求时,若发现请求信息中包含测试标识,则进行测试,并将测试数据反馈至终端,这样就实现了在运行软件过程中进行性能测试,既不影响正常的软件运行,也提高了测试的效率,由于只收集客户端发出请求的性能开销,更轻量级。在上述技术方案中,优选的,拦截单元102可以包括修改子单元1022,修改终端的代理信息,以将请求转发至标识子单元进行处理;标识子单元1024,修改请求的头部信息,增加测试标识,通过收发单元104将修改后的请求发送至服务器。为了能够在请求信息中添加测试标识,需拦截向服务器发送的请求,然后修改请求的头部信息,在头部信息中添加测试标识,这样就完成了请求信息的处理过程,最后将处理过的请求发送至服务器。在上述技术方案中,优选的,显示单元106还用于根据性能数据包含的信息项对性能数据进行分字段显示。这样可直观清晰地表明每项性能数据的情况,方便查看。图2示出了根据本发明的实施例的服务器的框图。如图2所示,根据本发明的实施例的服务器200包括通信单元202,接收来自终端(例如图I所示的终端100)的请求,以及将处理请求过程中的性能数据发送至终端;判断单元204,判断请求是否包含测试标识;记录单元206,在判断单元判断出请求包含测试标识时,在日志文件中记录处理请求过程中的性能数据。在服务器发现客户端发送过来的请求中包含测试标识时,便将处理该请求的具体过程记录在日志文件中,以形成测试性能数据,然后将测试性能数据发送至客户端,便完成了测试过程,极大降低了问题的分析周期,并降低了技术分析门榲,简单易用。在上述技术方案中,优选的,性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,客户端的唯一标识。图3示出了根据本发明的实施例的性能测试系统的示意图。如图3所示,在客户端302侧,用户浏览器的操作请求,会被客户端302中的客户
端工具拦截。该客户端工具对用户浏览器的操作请求进行处理,并将处理后的用户请求转发至服务端304。
服务器304中的服务端应用记录本次操作过程中的性能数据到日志文件。客户端302中的客户端工具向服务端304中的服务端应用获取本次操作的性能数据。该服务端应用从日志文件中获取本次操作的性能数据,并将其返回给客户端302中的客户端工具,该客户端工具做性能数据结果展示。因此,在本实施例中,在客户端提供一个客户端工具,该客户端工具负责拦截客户端发出的所有Http请求,将请求增加上特殊标识(例如测试标识)后转发给服务端。服务端开始处理请求前,判断一下是否存在特殊标识,如果存在该测试标识,则本次请求处理过程中,记录下调用的方法的详细信息,并存入日志文件。请求结束后,客户端工具向服务端请求本次操作所产生的性能日志文件,分析后展示给用户。也就是说,该客户端工具可拦截本机发出的所有请求,获取请求数据与接收数据。本发明的技术方案可应用于在客户端分析代码、SQL在服务端的性能开销,可以在用户的网页操作过程中,直接知道该操作对应的服务端触发了哪些方法,调用关系如何,耗时多少,在客户端便捷高效的进行服务器的性能测量,所有需要性能监控的B/S软件,均可以用此方案进行性能数据收集。图4示出了根据本发明的实施例的服务器性能测试方法的流程图。如图4所示,根据本发明的实施例的服务器性能测试方法,包括步骤402,拦截客户端发送至服务器的请求,为请求添加测试标识并将请求发送至服务器;步骤404,服务器在接收到请求后,判断请求是否包含测试标识;步骤406,在判断出包含测试标识时,在日志文件中记录处理请求过程中的性能数据;步骤408,将性能数据返回至客户端。在终端运行软件时,例如浏览器,需向服务器发送请求,当需要对服务器性能进行测试时,对请求信息进行处理,添加测试标识,服务器在接收到该请求时,若发现请求信息中包含测试标识,则进行测试,并将测试数据反馈至终端,这样就实现了在运行软件过程中进行性能测试,既不影响正常的软件运行,也提高了测试的效率,由于只收集客户端发出请求的性能开销,更轻量级。另外,在服务器发现客户端发送过来的请求中包含测试标识时,便将处理该请求的具体过程记录在日志文件中,以形成测试性能数据,然后将测试性能数据发送至客户端,便完成了测试过程,极大降低了问题的分析周期,并降低了技术分析门槛,简单易用。在上述技术方案中,优选的,步骤402具体可以包括修改客户端的代理信息,以将请求转发至监听端口进行处理;修改请求的头部信息,在头部信息中增加测试标识,将修改后的请求发送至服务器。为了能够在请求信息中添加测试标识,需拦截向服务器发送的请求,然后修改请求的头部信息,在头部信息中添加测试标识,这样就完成了请求信息的处理过程,最后将处理过的请求发送至服务器。在上述技术方案中,优选的,性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,客户端的唯一标识。在上述技术方案中,优选的,所述步骤408还包括,客户端根据性能数据包含的信息项对性能数据进行分字段显示。这样可直观清晰地表明每项性能数据的情况,方便查看。在上述任一技术方案中,优选的,步骤408具体包括客户端向服务器获取性能数据,服务器从日志文件中获取性能数据并将性能数据发送至客户端。下面结合图3和图5以具体示例来说明根据本发明的又一实施例。在客户端在如图3所不的客户端工具启动后监听Iv端口,然后修改客户端浏览器的代理信息,将所有请求转发到自己的监听端口处理,这样后续浏览器发出的请求均 会被客户端工具拦截,请求被拦截后,客户端工具会修改请求的HttpHeader信息,增加唯一标识后转发给服务端。在服务端服务端应用接收到带有特殊标识的请求后,会在服务端将方法的调用耗时连同客户端的唯一标识记录到日志文件中。日志内容包含信息如下方法的开始时间,方法名称,消耗时间,线程号,客户端唯一标识,方法类型,方法层级深度,模块名称,其他信
肩、O客户端对上述数据进行整理后,即可获取代码的调用关系,性能开销信息并可以直观的看到每一次请求对应的服务器性能数据,如代码的消耗时间,如图5所示。图5所示的UI展示仅为了描述内容的承载方式,UI表现形式不限于此。通过上述技术方案,由于将客户端的每一次操作请求,与服务端进行关联,只收集固定客户端发出请求的性能开销,因此更轻量级。服务端发现本次请求中存在测试标识(CalllD,唯一标识),表明本次请求需要性能分析,会记录当前操作过程中的代码耗时,该方案更轻量级,而且对其他用户及应用环境没有影响。通过修改客户端浏览器代理的方式,将所有请求由客户端工具拦截,进而修改请求头部信息(HttpHeader),在该头部信息中增加测试标识。另外,相关技术中在分析服务器性能时,需要先用代码性能分析工具启动目标软件,无法在发现问题的第一时间直接分析,而本发明随时可用,无需重启目标软件,可以在发现问题时第一时间进行分析。因此,本发明的服务器性能测试技术,可降低技术分析门槛,简单易用,也极大的降低了问题的分析周期,很多问题的分析周期由原来的2-3天下降到一个小时内,并且将客户端的每一次操作请求,与服务端进行关联,只收集固定客户端发出请求的性能开销,更轻量级。更重要的是,可以在软件的运行时直接进行性能分析。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种终端,其特征在于,包括 拦截单元,拦截所述终端发送至服务器的请求,并为所述请求添加测试标识; 收发单元,将所述请求发送至所述服务器,向所述服务器发送获取性能数据的请求,以及接收来自所述服务器的所述性能数据; 显示单元,显示所述性能数据。
2.根据权利要求I所述的终端,其特征在于,所述拦截单元包括修改子单元,修改所述终端的代理信息,以将所述请求转发至标识子单元进行处理; 所述标识子单元,修改所述请求的头部信息,增加所述测试标识,通过所述收发单元将修改后的请求发送至所述服务器。
3.根据权利要求I或2所述的终端,其特征在于,所述显示单元还用于根据所述性能数据包含的信息项对所述性能数据进行分字段显示。
4.一种服务器,其特征在于,包括 通信单元,接收来自终端的请求,以及将处理所述请求过程中的性能数据发送至所述终端; 判断单元,判断所述请求是否包含测试标识; 记录单元,在所述判断单元判断出所述请求包含所述测试标识时,在日志文件中记录处理所述请求过程中的性能数据。
5.根据权利要求4所述的服务器,其特征在于,所述性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,所述客户端的唯一标识。
6.一种服务器性能测试方法,其特征在于,包括 步骤402,拦截客户端发送至服务器的请求,为所述请求添加测试标识并将所述请求发送至所述服务器; 步骤404,所述服务器在接收到所述请求后,判断所述请求是否包含所述测试标识; 步骤406,在判断出包含所述测试标识时,在日志文件中记录处理所述请求过程中的性能数据; 步骤408,将所述性能数据返回至所述客户端。
7.根据权利要求6所述的服务器性能测试方法,其特征在于,所述步骤402具体包括修改所述客户端的代理信息,以将所述请求转发至监听端口进行处理; 修改所述请求的头部信息,在所述头部信息中增加所述测试标识,将修改后的请求发送至所述服务器。
8.根据权利要求6所述的服务器性能测试方法,其特征在于,所述性能数据包括调用方法的开始时间、方法名称、消耗时间、类型,线程号,所述客户端的唯一标识。
9.根据权利要求8所述的服务器性能测试方法,其特征在于,所述步骤408还包括,所述客户端根据所述性能数据包含的信息项对所述性能数据进行分字段显示。
10.根据权利要求6至9中任一项所述的服务器性能测试方法,其特征在于,所述步骤408具体包括所述客户端向所述服务器获取所述性能数据,所述服务器从所述日志文件中获取所述性能数据并将所述性能数据发送至所述客户端。
全文摘要
本发明提供了一种终端,包括拦截单元,拦截终端发送至服务器的请求,并为请求添加测试标识;收发单元,将请求发送至服务器,向服务器发送获取性能数据的请求,以及接收来自服务器的性能数据;显示单元,显示性能数据。根据本发明的技术方案,将客户端的每一次操作请求,与服务端进行关联,只收集固定客户端发出请求的性能开销,更轻量级,可以在软件的运行时直接进行性能分析。本发明还提供了一种服务器和一种服务器性能测试方法。
文档编号H04L29/06GK102904774SQ20121036964
公开日2013年1月30日 申请日期2012年9月28日 优先权日2012年9月28日
发明者尹洪亮 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1