CN105471674A - 测试服务器性能的方法及系统 - Google Patents

测试服务器性能的方法及系统 Download PDF

Info

Publication number
CN105471674A
CN105471674A CN201510813002.7A CN201510813002A CN105471674A CN 105471674 A CN105471674 A CN 105471674A CN 201510813002 A CN201510813002 A CN 201510813002A CN 105471674 A CN105471674 A CN 105471674A
Authority
CN
China
Prior art keywords
server
message
client
testing
request
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.)
Granted
Application number
CN201510813002.7A
Other languages
English (en)
Other versions
CN105471674B (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.)
ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd
Original Assignee
ZHUHAI DUOWAN INFORMATION TECHNOLOGY 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 ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd filed Critical ZHUHAI DUOWAN INFORMATION TECHNOLOGY Ltd
Priority to CN201510813002.7A priority Critical patent/CN105471674B/zh
Publication of CN105471674A publication Critical patent/CN105471674A/zh
Application granted granted Critical
Publication of CN105471674B publication Critical patent/CN105471674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning

Landscapes

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

Abstract

本发明公开了一种测试服务器性能的方法及系统,该方法包括:在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息;服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息;根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。通过上述方式,本发明能够客观、真实的表现出服务器的性能的细节变化情况。

Description

测试服务器性能的方法及系统
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种测试服务器性能的方法及系统。
背景技术
在系统产品中,后台服务器的性能指标决定着整个系统的性能,对其性能衡量有着非常重要的价值。
当前很多客户端/服务器(Client/Server,简称C/S)架构的产品,在衡量此类后台服务器的性能时,基本上只有从后台进程所占CPU和内存这两个方面来衡量。一般来说,后台服务器随着业务压力的增加,其进程占用的中央处理器(CentralProcessingUnit,CPU)和内存也不断增加。
但是,CPU和内存只能宏观上衡量后台进程所消耗的硬件资源,且受制于操作系统对资源的分配,该数据不能客观、真实的表现出后台服务器性能变化情况。
发明内容
本发明主要解决的技术问题是提供一种测试服务器性能的方法及系统,能够客观、真实的表现出服务器的性能的细节变化情况。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种测试服务器性能的方法,所述服务器为多个在线的客户端同时提供后台服务,多个所述客户端发送单播消息给所述服务器,所述服务器定期给多个所述客户端发送广播消息,所述方法包括:在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息;所述服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是所述请求测试消息时,发送响应测试消息以响应对应的所述请求测试消息,以根据多个所述请求测试消息而依次返回多个对应的所述响应测试消息;根据多个所述请求测试消息与对应的所述响应测试消息之间的往返时延RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能。
其中,所述根据多个所述请求测试消息与对应的所述响应测试消息之间的RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能的步骤,包括:在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT小于等于时延阈值,则确定所述服务器能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量;在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT大于所述时延阈值,则确定所述服务器不能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量。
其中,所述在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息的步骤之前,还包括:分别模拟在线的不同数量的所述客户端;通过所述方法,测试不同数量的所述客户端分别对应的多个所述请求测试消息与对应的所述响应测试消息之间的RTT;以所述测试时间点为横坐标,以所述往返时延为纵坐标,在同一个坐标中制作不同数量的所述客户端对应的测试时间点-时延曲线图;根据所述测试时间点-时延曲线图,确定所述时延阈值,并记录所述时延阈值对应的所述客户端的数量。
其中,所述在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息的步骤之前,包括:根据在线的所述客户端的数量,确定所述测试时间点的时间间隔和个数。
其中,所述方法还包括:所述服务器在判断出所述当前消息是系统消息时,按照所述系统消息的处理程序进行处理。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种测试服务器性能的系统,所述系统包括:测试服务器性能的装置和服务器,所述服务器为多个在线的客户端同时提供后台服务,多个所述客户端发送单播消息给所述服务器,所述服务器定期给多个所述客户端发送广播消息,所述测试服务器性能的装置包括:发送模块,用于在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息;所述服务器包括:接收模块,用于接收消息;解析模块,用于依次对接收的消息队列中的消息进行解析;判断模块,用于判断当前消息是否是所述请求测试消息;第一发送模块,用于当判断出所述当前消息是所述请求测试消息时,发送响应测试消息以响应对应的所述请求测试消息,以根据多个所述请求测试消息而依次返回多个对应的所述响应测试消息;所述测试服务器性能的装置还包括:接收模块,用于依次接收返回的多个对应的所述响应测试消息;第一确定模块,用于根据多个所述请求测试消息与对应的所述响应测试消息之间的往返时延RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能。
其中,所述第一确定模块具体用于在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT小于等于时延阈值,则确定所述服务器能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量;在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT大于所述时延阈值,则确定所述服务器不能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量。
其中,所述测试服务器性能的装置还包括:模拟模块,用于分别模拟在线的不同数量的所述客户端;测试模块,用于通过所述系统,测试不同数量的所述客户端分别对应的多个所述请求测试消息与对应的所述响应测试消息之间的RTT;制作模块,用于以所述测试时间点为横坐标,以所述往返时延为纵坐标,在同一个坐标中制作不同数量的所述客户端对应的测试时间点-时延曲线图;第二确定模块,用于根据所述测试时间点-时延曲线图,确定所述时延阈值,并记录所述时延阈值对应的所述客户端的数量。
其中,所述测试服务器性能的装置还包括:第三确定模块,用于根据在线的所述客户端的数量,确定所述测试时间点的时间间隔和个数。
其中,所述服务器还包括:处理模块,用于在判断出所述当前消息是系统消息时,按照所述系统消息的处理程序进行处理。
本发明的有益效果是:区别于现有技术的情况,本发明在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息;服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息;根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。由于增加一对互相响应的消息,即请求测试消息和响应测试消息,并多次测量请求测试消息和响应测试消息之间的往返时延RTT,根据这些多个RTT,能够确定服务器为多个在线的客户端同时提供稳定的后台服务的性能;可以客观、真实的表现出服务器的性能的细节变化情况。
附图说明
图1是现有技术中一C/S架构的系统中消息交互模式的示意图;
图2是现有技术服务器中后台进程在不同数量的客户端的压力测试条件下CPU的占用情况示意图;
图3是现有技术服务器中后台进程在不同数量的客户端的压力测试条件下内存的占用情况示意图;
图4是本发明的方法和其它测试工具一起使用,以测试服务器的后台进程的示意图;
图5是本发明测试服务器性能的方法一实施方式的流程图;
图6是本发明测试服务器性能的方法另一实施方式的流程图;
图7是本发明测试服务器性能的方法在实际应用中RTT测试结果一示意图;
图8是本发明测试服务器性能的方法在实际应用中RTT测试结果另一示意图;
图9是本发明测试服务器性能的方法中的服务器在一个具体实例的实现方式示意图;
图10是本发明测试服务器性能的系统一实施方式的结构示意图;
图11是本发明测试服务器性能的系统另一实施方式的结构示意图。
具体实施方式
在详细介绍本发明之前,先介绍一下现有技术中C/S架构的产品的消息交互模式。
目前,很多C/S架构的系统,服务器和客户端之间的消息交互是没有一对一的关系的,即客户端发送的消息,服务器接收消息,但不会回复响应消息。例如,在YY玩唱会安可游戏中,客户端不断发送单播消息给服务器。服务器收到所有客户端消息,处理后,定期给客户端发送广播消息,如图1所示。
对于上述C/S架构的服务器,衡量其提供后台服务的性能的指标是后台进程所占CPU和内存。如图2和图3,图2是服务器中后台进程在不同数量的客户端的压力测试条件下CPU的占用情况示意图,图3是服务器中后台进程在不同数量的客户端的压力测试条件下内存的占用情况示意图。
图2中,横坐标是在线客户端的数量,纵坐标是CPU的占用情况;图3中,横坐标是在线客户端的数量,纵坐标是内存的占用情况;通过图2中及图3,可以看到,服务器后台进程随着业务压力是增加,其占用的CPU和内存也不断增加,但是这只是从硬件资源消耗这个层面来评价服务器提供后台服务的性能,服务器繁忙到哪种程度,具体繁忙的细节,从图2和图3中无法得知。而且,在图2和图3中,在线客户端在13w~17w范围内时,CPU的占用基本不增加了,这是由于系统资源分配的问题导致的,因此,服务器后台进程所占CPU和内存这两个指标无法客观、真实的表现出服务器的性能的变化情况。
本发明在C/S架构的系统中,增加一对互相响应的消息,即请求测试消息和响应测试消息,并多次测量请求测试消息和响应测试消息之间的往返时延RTT,根据这些多个RTT,即可客观、真实的表现出服务器的性能的细节变化情况。参阅图4,本发明的方法可以和其它测试工具一起使用,以测试服务器的后台进程。
下面结合附图和实施方式对本发明进行详细说明。
参阅图5,图5是本发明测试服务器性能的方法一实施方式的流程图。其中,该服务器为多个在线的客户端同时提供后台服务,多个客户端发送单播消息给服务器,服务器定期给多个客户端发送广播消息,该方法包括:
步骤S101:在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息。
测试时间点是指向服务器发送用于测试服务器的性能的请求测试消息的时间点。在多个测试时间点分别发送多个请求测试消息,以便于返回多个对应的响应测试消息。
步骤S102:服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息。
服务器为多个在线的客户端同时提供后台服务,因此,服务器接收到的消息队列中有几乎绝大部分是多个在线的客户端发送给服务器的系统消息,分别在不同测试时间点发送的多个请求测试消息也夹杂在这些系统消息中,因此,系统消息和请求测试消息均在消息队列中排队等候服务器的处理。
服务器依次对这些消息进行解析,判断这些消息是客户端发送来的系统消息,还是用于测试服务器的性能的请求测试消息。当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,并进而根据多个请求测试消息而依次返回多个对应的响应测试消息。
步骤S103:根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。
在接收到服务器发送的对应的多个响应测试消息后,即可计算多个请求测试消息与对应的响应测试消息之间的往返时延RTT,不同的测试时间点,对应不同的RTT。如果服务器的消息队列中来自客户端的系统消息很多,那么请求测试消息排队的时间就会长,RTT就会长,如果服务器的消息队列中来自客户端的系统消息不多,那么请求测试消息排队的时间就会不长,RTT就会短一些。并且,来自客户端的系统消息是随机的,可能有段时间,系统消息多,RTT比较长,后端时间系统消息少,RTT比较端。因此,在正常情况下,也即是服务器能够为多个在线的客户端同时提供稳定的后台服务的情况下,RTT的变化是时大时小,或者保持基本的稳定等等,在非正常情况下,也即是服务器不能够为多个在线的客户端同时提供稳定的后台服务的情况下,RTT的变化是逐步增加的,也就是系统消息一直持续很多,RTT一直累积增加。
因此,根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,可以确定服务器为多个在线的客户端同时提供稳定的后台服务的性能;可以客观、真实的表现出服务器的性能的细节变化情况。
本发明实施方式在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息;服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息;根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。由于增加一对互相响应的消息,即请求测试消息和响应测试消息,并多次测量请求测试消息和响应测试消息之间的往返时延RTT,根据这些多个RTT,能够确定服务器为多个在线的客户端同时提供稳定的后台服务的性能;可以客观、真实的表现出服务器的性能的细节变化情况。
其中,步骤S103可以包括:在多个请求测试消息与对应的响应测试消息之间的RTT中,若最大的RTT小于等于时延阈值,则确定服务器能够为多个在线的客户端同时提供稳定的后台服务,并记录当前在线的客户端的数量;在多个请求测试消息与对应的响应测试消息之间的RTT中,若最大的RTT大于时延阈值,则确定服务器不能够为多个在线的客户端同时提供稳定的后台服务,并记录当前在线的客户端的数量。
在本实施方式中,预先设置有时延阈值,时延阈值是指服务器刚刚能够为多个在线的客户端同时提供稳定的后台服务时的时延,此时,服务器对于刚刚累积起来的系统消息也是可以稳定处理掉的。如果在多个RTT中,最大的RTT也是小于或等于时延阈值的,那么服务器能够为多个在线的客户端同时提供稳定的后台服务,记录当前在线的客户端的数量,表明在线的目前数量的客户端是服务器可以为其提供稳定的后台服务的;。如果在多个RTT中,最大的RTT大于时延阈值,那么服务器不能够为多个在线的客户端同时提供稳定的后台服务,这种情况下,RTT的趋势一般是逐步增加的。记录当前在线的客户端的数量,表明在线的目前数量的客户端是服务器不可以为其提供稳定的后台服务的。
由于通过设置时间阈值,在确定时,只需要比较最大的RTT和时延阈值的大小,因此,判断比较简单快捷。
当然除了上述的确定服务器性能的方式外,还可以有其它的方式。例如:前面已经分析,根据多个测试时间点对应的多个RTT的变化趋势,可以确定服务器为多个在线的客户端同时提供稳定的后台服务的性能;或者更加直观的方法,直接在坐标系中画出图,例如:点画线图、柱状图等,根据图的变化趋势,也可以确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。
其中,时延阈值需要预先确定,如图6所示,确定的方法可以是:在步骤S101之前,还包括:子步骤S1011、子步骤S1012、子步骤S1013以及子步骤S1014。
子步骤S1011:分别模拟在线的不同数量的客户端。
模拟在线的不同数量的客户端,例如,客户端的数量为:5万、10万、15万、16万、17万等等。
子步骤S1012:通过上述方法,测试不同数量的客户端分别对应的多个请求测试消息与对应的响应测试消息之间的RTT。
通过上述步骤S101至步骤S103的方法,可以测试获得不同数量的客户端分别对应的多个请求测试消息与对应的响应测试消息之间的RTT。
子步骤S1013:以测试时间点为横坐标,以往返时延为纵坐标,在同一个坐标中制作不同数量的客户端对应的测试时间点-时延曲线图。
子步骤S1014:根据测试时间点-时延曲线图,确定时延阈值,并记录时延阈值对应的客户端的数量。
例如:如图7和图8所示,以YY玩唱会安可的RTT测试结果为例,两个图中,横坐标是测试时间点,纵坐标是往返时延RTT,从图7和图8可以看到,在线客户端数量为15w时,RTT很低;在线客户端数量为16w时,RTT开始增加,也会降低,最大的RTT并没有超过1000ms,变化趋势很明显的是时高时低;在线客户端数量为17w时,RTT增加很多,并且一直是逐步上升的。因此,据此可以初步设定,时延阈值为1000ms,时延阈值对应的客户端的数量是16万。
上述变化的细节情况,通过图2和图3中CPU和内存的占用是根本看不出服务器性能劣化的真实情况的,但是通过本申请的RTT,却可以清晰地展示出来。
其中,在步骤S101之前,还可以包括:根据在线的客户端的数量,确定测试时间点的时间间隔和个数。
例如:在线客户端数量为10万时,确定测试时间点的第一时间间隔和第一个数;在线客户端数量为12万时,确定测试时间点的第二时间间隔和第二个数;在线客户端数量为14万时,确定测试时间点的第三时间间隔和第三个数;在线客户端数量为15万时,确定测试时间点的第四时间间隔和第四个数;在线客户端数量为16万时,确定测试时间点的第五时间间隔和第五个数;在线客户端数量为17万时,确定测试时间点的第六时间间隔和第六个数等等。例如:在线客户端数量越多,测试时间点的时间间隔越短,个数越多。具体如何确定测试时间点的时间间隔和个数根据实际应用情况确定,在此不做限制。
其中,该方法还包括:服务器在判断出当前消息是系统消息时,按照系统消息的处理程序进行处理。
也就是说,该方法在实现上,仅仅是增加了一对请求测试消息和响应测试消息(Request/Response),以用于RTT测试,而且不影响服务器后台的原有处理逻辑,不给后台处理增加额外压力。如图9所示,在一个具体实施方式中,也就是在服务器后台仅仅增加了RTT测试消息处理模块,原有的处理模块与处理逻辑没有变化。消息队列中的消息是原有的系统消息时,按照原来系统消息的处理程序进行处理,消息队列中的消息是RTT测试消息(即请求测试消息)时,按照上述的方法返回响应测试消息。
参阅图10,图10是本发明测试服务器性能的系统一实施方式的结构示意图,该系统能够执行上述方法中的相应步骤,在该系统中相应内容的详细说明与介绍请参见上述方法部分,在此不再赘叙。
该系统包括:测试服务器性能的装置10和服务器20,服务器20为多个在线的客户端同时提供后台服务,多个客户端发送单播消息给服务器,服务器定期给多个客户端发送广播消息。
测试服务器性能的装置10包括:发送模块101、接收模块102、第一确定模块103。服务器20包括:接收模块201、解析模块202、判断模块203、第一发送模块204。
测试服务器性能的装置10的发送模块101用于在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息。
服务器20的接收模块201用于接收消息。
服务器20的解析模块202用于依次对接收的消息队列中的消息进行解析。
服务器20的判断模块203用于判断当前消息是否是请求测试消息。
服务器20的第一发送模块204用于当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息。
测试服务器性能的装置10的接收模块102用于依次接收返回的多个对应的响应测试消息。
测试服务器性能的装置10的第一确定模块103用于根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。
本发明实施方式在多个测试时间点分别向服务器发送用于测试服务器的性能的多个请求测试消息;服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是请求测试消息时,发送响应测试消息以响应对应的请求测试消息,以根据多个请求测试消息而依次返回多个对应的响应测试消息;根据多个请求测试消息与对应的响应测试消息之间的往返时延RTT,确定服务器为多个在线的客户端同时提供稳定的后台服务的性能。由于增加一对互相响应的消息,即请求测试消息和响应测试消息,并多次测量请求测试消息和响应测试消息之间的往返时延RTT,根据这些多个RTT,能够确定服务器为多个在线的客户端同时提供稳定的后台服务的性能;可以客观、真实的表现出服务器的性能的细节变化情况。
其中,测试服务器性能的装置10的第一确定模块103具体用于在多个请求测试消息与对应的响应测试消息之间的RTT中,若最大的RTT小于等于时延阈值,则确定服务器能够为多个在线的客户端同时提供稳定的后台服务,并记录当前在线的客户端的数量;在多个请求测试消息与对应的响应测试消息之间的RTT中,若最大的RTT大于时延阈值,则确定服务器不能够为多个在线的客户端同时提供稳定的后台服务,并记录当前在线的客户端的数量。
其中,参见图11,测试服务器性能的装置10还包括:模拟模块104、测试模块105、制作模块106、第二确定模块107。
模拟模块104用于分别模拟在线的不同数量的客户端。
测试模块105用于通过系统,测试不同数量的客户端分别对应的多个请求测试消息与对应的响应测试消息之间的RTT。
制作模块106用于以测试时间点为横坐标,以往返时延为纵坐标,在同一个坐标中制作不同数量的客户端对应的测试时间点-时延曲线图。
第二确定模块107用于根据测试时间点-时延曲线图,确定时延阈值,并记录时延阈值对应的客户端的数量。
其中,测试服务器性能的装置10还包括:第三确定模块。
第三确定模块用于根据在线的客户端的数量,确定测试时间点的时间间隔和个数。
其中,服务器20还包括:处理模块。
处理模块用于在判断出当前消息是系统消息时,按照系统消息的处理程序进行处理。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种测试服务器性能的方法,其特征在于,所述服务器为多个在线的客户端同时提供后台服务,多个所述客户端发送单播消息给所述服务器,所述服务器定期给多个所述客户端发送广播消息,所述方法包括:
在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息;
所述服务器接收消息并依次对接收的消息队列中的消息进行解析,当判断出当前消息是所述请求测试消息时,发送响应测试消息以响应对应的所述请求测试消息,以根据多个所述请求测试消息而依次返回多个对应的所述响应测试消息;
根据多个所述请求测试消息与对应的所述响应测试消息之间的往返时延RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能。
2.根据权利要求1所述的方法,其特征在于,所述根据多个所述请求测试消息与对应的所述响应测试消息之间的RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能的步骤,包括:
在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT小于等于时延阈值,则确定所述服务器能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量;
在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT大于所述时延阈值,则确定所述服务器不能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量。
3.根据权利要求2所述的方法,其特征在于,所述在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息的步骤之前,还包括:
分别模拟在线的不同数量的所述客户端;
通过所述方法,测试不同数量的所述客户端分别对应的多个所述请求测试消息与对应的所述响应测试消息之间的RTT;
以所述测试时间点为横坐标,以所述往返时延为纵坐标,在同一个坐标中制作不同数量的所述客户端对应的测试时间点-时延曲线图;
根据所述测试时间点-时延曲线图,确定所述时延阈值,并记录所述时延阈值对应的所述客户端的数量。
4.根据权利要求1所述的方法,其特征在于,所述在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息的步骤之前,包括:
根据在线的所述客户端的数量,确定所述测试时间点的时间间隔和个数。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务器在判断出所述当前消息是系统消息时,按照所述系统消息的处理程序进行处理。
6.一种测试服务器性能的系统,其特征在于,所述系统包括:测试服务器性能的装置和服务器,所述服务器为多个在线的客户端同时提供后台服务,多个所述客户端发送单播消息给所述服务器,所述服务器定期给多个所述客户端发送广播消息,
所述测试服务器性能的装置包括:
发送模块,用于在多个测试时间点分别向所述服务器发送用于测试服务器的性能的多个请求测试消息;
所述服务器包括:
接收模块,用于接收消息;
解析模块,用于依次对接收的消息队列中的消息进行解析;
判断模块,用于判断当前消息是否是所述请求测试消息;
第一发送模块,用于当判断出所述当前消息是所述请求测试消息时,发送响应测试消息以响应对应的所述请求测试消息,以根据多个所述请求测试消息而依次返回多个对应的所述响应测试消息;
所述测试服务器性能的装置还包括:
接收模块,用于依次接收返回的多个对应的所述响应测试消息;
第一确定模块,用于根据多个所述请求测试消息与对应的所述响应测试消息之间的往返时延RTT,确定所述服务器为多个在线的所述客户端同时提供稳定的后台服务的性能。
7.根据权利要求6所述的系统,其特征在于,所述第一确定模块具体用于在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT小于等于时延阈值,则确定所述服务器能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量;在多个所述请求测试消息与对应的所述响应测试消息之间的RTT中,若最大的所述RTT大于所述时延阈值,则确定所述服务器不能够为多个在线的所述客户端同时提供稳定的后台服务,并记录当前在线的所述客户端的数量。
8.根据权利要求7所述的系统,其特征在于,所述测试服务器性能的装置还包括:
模拟模块,用于分别模拟在线的不同数量的所述客户端;
测试模块,用于通过所述系统,测试不同数量的所述客户端分别对应的多个所述请求测试消息与对应的所述响应测试消息之间的RTT;
制作模块,用于以所述测试时间点为横坐标,以所述往返时延为纵坐标,在同一个坐标中制作不同数量的所述客户端对应的测试时间点-时延曲线图;
第二确定模块,用于根据所述测试时间点-时延曲线图,确定所述时延阈值,并记录所述时延阈值对应的所述客户端的数量。
9.根据权利要求6所述的系统,其特征在于,所述测试服务器性能的装置还包括:
第三确定模块,用于根据在线的所述客户端的数量,确定所述测试时间点的时间间隔和个数。
10.根据权利要求6所述的系统,其特征在于,所述服务器还包括:
处理模块,用于在判断出所述当前消息是系统消息时,按照所述系统消息的处理程序进行处理。
CN201510813002.7A 2015-11-20 2015-11-20 测试服务器性能的方法及系统 Active CN105471674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510813002.7A CN105471674B (zh) 2015-11-20 2015-11-20 测试服务器性能的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510813002.7A CN105471674B (zh) 2015-11-20 2015-11-20 测试服务器性能的方法及系统

Publications (2)

Publication Number Publication Date
CN105471674A true CN105471674A (zh) 2016-04-06
CN105471674B CN105471674B (zh) 2019-04-23

Family

ID=55608985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510813002.7A Active CN105471674B (zh) 2015-11-20 2015-11-20 测试服务器性能的方法及系统

Country Status (1)

Country Link
CN (1) CN105471674B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106390451A (zh) * 2016-09-14 2017-02-15 腾讯科技(深圳)有限公司 对游戏服务器的容量进行测试的方法及装置
CN109213682A (zh) * 2018-09-06 2019-01-15 郑州云海信息技术有限公司 一种测试客户端的方法、客户端、服务端及可读存储介质
CN109324802A (zh) * 2018-09-29 2019-02-12 北京百度网讯科技有限公司 用于配置服务器的方法和装置
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031022A1 (en) * 2007-07-27 2009-01-29 Vmware, Inc. Multi-Hierarchy Latency Measurement in Data Centers
CN103067214A (zh) * 2011-10-19 2013-04-24 阿里巴巴集团控股有限公司 用于测试网站性能的方法、客户端、服务器和系统
CN103888306A (zh) * 2012-12-19 2014-06-25 阿里巴巴集团控股有限公司 一种对消息转发系统的性能测试方法及性能测试设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031022A1 (en) * 2007-07-27 2009-01-29 Vmware, Inc. Multi-Hierarchy Latency Measurement in Data Centers
CN103067214A (zh) * 2011-10-19 2013-04-24 阿里巴巴集团控股有限公司 用于测试网站性能的方法、客户端、服务器和系统
CN103888306A (zh) * 2012-12-19 2014-06-25 阿里巴巴集团控股有限公司 一种对消息转发系统的性能测试方法及性能测试设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106390451A (zh) * 2016-09-14 2017-02-15 腾讯科技(深圳)有限公司 对游戏服务器的容量进行测试的方法及装置
CN106390451B (zh) * 2016-09-14 2020-08-04 腾讯科技(深圳)有限公司 对游戏服务器的容量进行测试的方法及装置
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN109213682A (zh) * 2018-09-06 2019-01-15 郑州云海信息技术有限公司 一种测试客户端的方法、客户端、服务端及可读存储介质
CN109324802A (zh) * 2018-09-29 2019-02-12 北京百度网讯科技有限公司 用于配置服务器的方法和装置
CN109324802B (zh) * 2018-09-29 2022-11-01 北京百度网讯科技有限公司 用于配置服务器的方法和装置

Also Published As

Publication number Publication date
CN105471674B (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN106776280B (zh) 可配置性能测试装置
US20110161488A1 (en) Reducing workload on a backend system using client side request throttling
CN105471674A (zh) 测试服务器性能的方法及系统
CN111611140B (zh) 埋点数据的上报验证方法、装置、电子设备及存储介质
CN113590403B (zh) 压力测试方法、装置、系统、电子设备、存储介质及产品
WO2017198018A1 (zh) 一种网络质量性能展示方法及装置、系统、存储介质
CN111045879B (zh) 压力测试报告的生成方法、装置及存储介质
CN111221700B (zh) 一种集群节点状态监控方法、装置、设备及可读存储介质
CN111949521B (zh) 软件性能测试方法及装置
CN113127356A (zh) 压测方法、装置、电子设备及存储介质
CN111813699B (zh) 基于智能电表的数据路由测试方法、装置和计算机设备
CN111431772B (zh) 网络延迟测量方法、系统、可读存储介质及终端设备
CN110888816A (zh) 程序测试方法、程序测试装置及存储介质
CN105471938B (zh) 服务器负载管理方法及装置
CN109788251B (zh) 视频处理方法、装置及存储介质
CN105868058A (zh) 跨机房测试方法及装置
CN103530233A (zh) 移动浏览器的自动化测试方法、测试服务器及系统
CN110932879B (zh) 网络性能测试方法、数据处理设备和存储介质
CN112152879A (zh) 网络质量确定方法、装置、电子设备和可读存储介质
CN111324536A (zh) 一种压力测试方法、装置、电子设备及存储介质
CN111294257A (zh) 应用服务器自动压力测试的方法、装置和系统
CN114465919B (zh) 一种网络服务测试方法、系统、电子设备及存储介质
CN110515782A (zh) 服务器的测试方法、测试装置及测试系统
CN115576791A (zh) 压测线程的动态调整方法、装置、电子设备及存储介质
CN104468337A (zh) 消息传输方法及装置、消息管理中心设备及数据中心

Legal Events

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