CN108933709B - 测试服务器性能的方法、装置和计算机可读存储介质 - Google Patents
测试服务器性能的方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN108933709B CN108933709B CN201710392949.4A CN201710392949A CN108933709B CN 108933709 B CN108933709 B CN 108933709B CN 201710392949 A CN201710392949 A CN 201710392949A CN 108933709 B CN108933709 B CN 108933709B
- Authority
- CN
- China
- Prior art keywords
- information
- preset number
- acquisition request
- server
- identifiers
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring 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)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种测试服务器性能的方法和装置,属于互联网技术领域。方法包括:接收第一终端发送的第一获取请求,所述第一获取请求携带第一预设数目个信息标识;根据信息标识集合,确定第二预设数目个信息标识,所述信息标识集合包括服务器历史接收到的信息标识,所述第一预设数目和所述第二预设数目不相等;根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求;在所述服务器处理所述第二获取请求时,对所述服务器的性能进行测试。本发明能够实现对服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种测试服务器性能的方法和装置。
背景技术
随着互联网技术的发展,互联网中兴起了很多推荐系统,例如,广告推荐系统、视频推荐系统和信息推荐系统等;推荐系统包括终端和服务器;终端用于向服务器发送获取请求;服务器用于响应并处理终端发送的获取请求。由于服务器需要处理大量的获取请求,因此,对服务器的处理能力以及稳定性等性能方面的要求较高,需要定期对服务器进行性能测试。
目前,为了对服务器进行性能测试,但不影响服务器响应以及处理终端发送的获取请求,通过对配置与该服务器完全相同的测试服务器进行性能测试,实现对该服务器进行性能测试;具体过程可以为:当服务器接收到获取请求时,服务器复制一份获取请求,向测试服务器发送该获取请求,该获取请求携带预设数目个信息标识;测试服务器在处理该获取请求时,获取处理该获取请求的时延和/或CPU(Central Processing Unit,中央处理器)占用率等性能参数,从而实现对服务器进行性能测试。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于现有技术是通过在服务器处理实际接收到的获取请求时,对服务器进行性能测试,因此,测试结果只能反映服务器当前的性能,导致测试方式不够灵活,测试结果具有一定的局限性,性能测试能力差。
发明内容
为了解决现有技术的问题,本发明提供了一种测试服务器性能的方法和装置。技术方案如下:
第一方面,本发明提供了一种测试服务器性能的方法,所述方法包括:
接收第一终端发送的第一获取请求,所述第一获取请求携带第一预设数目个信息标识;
根据信息标识集合,确定第二预设数目个信息标识,所述信息标识集合包括服务器历史接收到的信息标识,所述第一预设数目和所述第二预设数目不相等;
根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求;
在所述服务器处理所述第二获取请求时,对所述服务器的性能进行测试。
第二方面,本发明提供了一种测试服务器性能的装置,所述装置包括:
接收模块,用于接收第一终端发送的第一获取请求,所述第一获取请求携带第一预设数目个信息标识;
确定模块,用于根据信息标识集合,确定第二预设数目个信息标识,所述信息标识集合包括服务器历史接收到的信息标识,所述第一预设数目和所述第二预设数目不相等;
修改模块,用于根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求;
测试模块,用于在所述服务器处理所述第二获取请求时,对所述服务器的性能进行测试。
第三方面,本发明提供了一种测试服务器性能的装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的测试服务器性能的方法。
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第二方面所述的测试服务器性能的方法。
在本发明实施例中,由于在对服务器进行性能测试时,根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,从而实现灵活设置第二获取请求中包括的信息标识的数目;并且,在服务器处理第二获取请求时,对服务器的性能进行测试,从而实现对服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
附图说明
图1是本发明实施例提供的一种实施环境的示意图;
图2-1是本发明实施例提供的一种测试服务器性能的方法流程图;
图2-2是本发明实施例提供的一种确定信息标识集合的示意图;
图2-3是本发明实施例提供的一种生成第二获取请求的示意图;
图2-4是本发明实施例提供的一种测试服务器性能的示意图;
图3是本发明实施例提供的一种测试服务器性能的方法流程图;
图4是本发明实施例提供的一种测试服务器性能的装置结构示意图;
图5是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在广告推荐系统、视频推荐系统或者信息推荐系统等推荐系统中,对服务器的处理能力以及稳定性等性能方面的要求较高,需要定期对服务器进行性能测试。在现有技术是通过在服务器处理实际接收到的获取请求时,对服务器的进行性能测试,因此,测试结果只能反映服务器当前的性能,导致测试方式不够灵活,测试结果具有一定的局限性,性能测试能力差。
本发明实施例提供了一种测试服务器性能的实施环境的示意图,参见图1,在推荐系统的实施环境中增加控制器10;该实施环境包括:控制器10、第一服务器20、第二服务器30、至少一个第一终端40和至少一个第二终端50。
第一服务器20为处理获取请求的服务器;第二服务器30为测试服务器;第一服务器20和第二服务器30的配置完全相同;在本发明实施例中,通过第二服务器30实现对第一服务器20进行性能测试。可选的,第一服务器20和第二服务器30也可以为同一个服务器,也即在第一服务器20处理获取请求时,对第一服务器20进行性能测试。
第一终端40为当前从第一服务器20中获取信息的终端;第二终端50为历史从第一服务器20中获取信息的终端。
每个第一终端40和每个第二终端50分别与控制器10通过通信网络连接,控制器10与第一服务器20和第二服务器30之间通过通信网络连接。每个第一终端40和每个第二终端50中运行第一服务器20关联的应用,可以基于用户标识登录该应用,从而与第一服务器20进行交互,并且,每个第一终端40和每个第二终端50均可以通过控制器10与第一服务器20进行交互。
当第二终端50从第一服务器20中获取信息时,第二终端50向控制器10 发送第三获取请求,第三获取请求携带第三预设数目个信息标识;控制器10接收第二终端50发送的第三获取请求,向第一服务器20转发第三获取请求;第一服务器20接收控制器10转发的第三获取请求,并处理第三获取请求。控制器10接收到第二终端50发送的第三获取请求时,控制器10还获取当前时间,将当前时间确定为该第三获取请求的接收时间,复制一份第三获取请求,存储接收时间和第三获取请求的对应关系。
在对第二服务器30进行性能测试时;控制器10根据已存储的每个第三获取请求的接收时间,获取当前时间之前的预设时长内历史接收到的至少一个第三获取请求,每个第三获取请求携带第三预设数目个信息标识;根据每个第三获取请求携带的第三预设数目个信息标识,获取信息标识集合。
控制器10接收到第一终端40发送的第一获取请求时,向第一服务器20发送第一获取请求;第一服务器20处理第一获取请求;控制器10接收到第一终端40发送的第一获取请求时,控制器10为了对第一服务器20进行性能测试,根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,向第二服务器30发送第二获取请求,在第二服务器30处理第二获取请求时,控制器获取第二服务器30的性能参数,将第二服务器30的性能参数作为第一服务器20的性能参数,从而实现对第一服务器20的性能测试。
在本发明实施例中,由于在对第一服务器20进行性能测试时,根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,从而实现灵活设置第二获取请求中包括的信息标识的数目;并且,在第二服务器30处理第二获取请求时,对第二服务器30的性能进行测试,将第二服务器30的测试结果作为对第一服务器20的测试结果,从而实现对第一服务器20在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
该信息可以为广告信息、视频信息或者文本信息等;该信息标识可以为信息ID或者信息的URL(Uniform Resoure Locator:统一资源定位器)等;在本发明实施例中,对该信息不作具体限定。预设时长可以根据需要进行设置并更改,在本发明实施例中,对预设时长不作具体限定;例如,预设时长可以为30分钟或者1个小时等。第一预设数目和第二预设数目不相等;第一预设数目和第三预设数目可以相等,也可以不相等;并且,第一预设数目、第二预设数目和第三预设数目都可以根据需要进行设置并更改,在本发明实施例中,对第一预设数目、第二预设数目和第三预设数目都不作具体限定。例如,第一预设数目可以为10或者15,第二预设数目可以为20、30、50或者100等;第三预设数目可以为10或者15等。
第一终端40可以为手机终端、PAD(Portable Android Device,平板电脑) 终端或者电脑终端等。第二终端50也可以为手机终端、PAD终端或者电脑终端等。第一终端40为当前从第一服务器20中获取信息的终端,第二终端50为已经从第一服务器20中获取信息的终端。第一终端40和第二终端50为不同的终端;如果第一终端40事先已经从第一服务器20中获取信息,当前又从第一服务器20中获取信息时,则第一终端40和第二终端50可以为同一终端。
第一服务器20可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心,第二服务器20也可以为一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心,本发明实施例对此不做限定。
控制器10可以为推荐系统中独立的一个服务器,例如,flow-control server (流动控制服务器),控制器10也可以为集成在第一服务器20中的一个控制模块或者集成在第二服务器30中的一个控制模块;本发明实施例对此不做限定。
本发明实施例提供了一种测试服务器性能的方法,该方法应用在推荐系统中;在本发明实施例中以通过第二服务器实现对第一服务器进行性能测试为例进行说明。该方法的执行主体可以为控制器;参见图2-1,该方法包括:
步骤201:第一终端向控制器发送第一获取请求,第一获取请求携带第一预设数目个信息标识。
当第一终端需要从第一服务器中获取信息时,第一终端向控制器发送第一获取请求,第一获取请求携带预设数目个待获取的信息的信息标识。
信息标识可以为信息的ID;例如,当待获取的信息为广告,则信息标识可以为广告的ID;再如,当待获取的信息为视频信息,则信息标识可以为视频信息的ID。再如,当待获取的信息为文本信息,则信息标识可以为文本信息的ID。
步骤202:控制器接收第一终端发送的第一获取请求,向第一服务器转发第一获取请求。
为了及时处理第一获取请求,控制器接收到第一终端发送的第一获取请求时,向第一服务器转发第一获取请求,以请求第一服务器处理第一获取请求。
步骤203:第一服务器接收控制器转发的第一获取请求,处理第一获取请求。
第一服务器根据第一获取请求中携带的第一预设数目个信息标识,获取第一预设数目个信息标识对应的信息,向第一终端发送第一获取响应,第一获取响应携带第一预设数目个信息标识对应的信息。第一终端接收第一服务器发送的第一获取响应。
为了对第一服务器进行性能测试,控制器接收到第一终端发送的第一获取请求之后,还需要通过以下步骤204-208,生成第二获取请求,并通过第二获取请求,对第一服务器进行性能测试。
步骤204:控制器根据信息标识集合,确定第二预设数目个信息标识,该信息标识集合包括第一服务器历史接收到的信息标识。
第一预设数目和第二预设数目不相等;当第二预设数目大于第一预设数目时,在本步骤中,控制器根据信息标识集合,确定第二预设数目个信息标识时,该第二预设数目个信息标识可以全部从信息标识集合中选择,也即以下第一种实现方式;可选地,该第二预设数目个信息标识还可以一部分从信息标识集合中选择,一部分还使用第一获取请求中携带的第一预设数目个信息标识,也即以下第二种实现方式。
对于第一种实现方式,控制器根据信息标识集合,确定第二预设数目个信息标识的步骤可以为:
控制器从信息标识集合中选择第二预设数目个信息标识。
控制器从信息标识集合中选择第二预设数目个信息标识时,控制器可以从信息标识集合中随机选择第二预设数目个信息标识。
在一个可能的设计中,控制器也可以每次从信息标识集合中选择信息标识之后,将已选择的信息标识标记为已选择,相应的;控制器从信息标识集合中选择第二预设数目个信息标识的步骤可以为:
控制器从信息标识集合中未选择的信息标识中,选择第二预设数目个信息标识。
在一个可能的设计中,控制器从信息标识集合中未选择的信息标识中,选择第二预设数目个信息标识之后,服务器将已选择的第二预设数目个信息标识标记为已选择。
控制器中可以存储信息标识集合中每个信息标识的接收时间;相应的,控制器从信息标识集合中选择第二预设数目个信息标识的步骤可以为:
控制器从信息标识集合中选择接收时间离当前时间最近的第二预设数目个信息标识;或者,控制器从信息标识集合中选择接收时间离当前时间最远的第二预设数目个信息标识。
对于第二种实现方式,控制器根据信息标识集合,确定第二预设数目个信息标识的步骤可以为:
控制器从信息标识集合中选择第四预设数目个信息标识;将第一预设数目个信息标识和第四预设数目个信息标识组成第二预设数目个信息标识;其中,第四预设数目和第一预设数目之和为第二预设数目。
控制器器从信息标识集合中选择第四预设数目个信息标识的步骤可以为:
服务器从信息标识集合中随机选择第四预设数目个信息标识;或者,
控制器从信息标识集合中未选择的信息标识中,选择第四预设数目个信息标识;或者,
控制器从信息标识集合中选择接收时间离当前时间最近的第四预设数目个信息标识;或者,
控制器从信息标识集合中选择接收时间离当前时间最远的第四预设数目个信息标识。
在本发明实施例中,对控制器从信息标识集合中选择第四预设数目个信息标识的方式不做具体限定。
在一个可能的设计中,控制器从信息标识集合中未选择的信息标识中,选择第四预设数目个信息标识之后,控制器将已选择的第四预设数目信息标识标记为已选择。
在一个可能的设计中,控制器从信息集合中选择信息标识之后,控制器还可以将已选择的信息标识从信息标识集合中删除,并将第一获取请求携带的第一预设数目个信息标识添加到信息标识集合中。
当第二预设数目小于第一预设数目时,控制器根据信息标识集合,确定第二预设数目个信息标识时,控制器可以从信息标识集合中选择第二预设数目个信息标识;也即以上第一种实现方式;控制器也可以直接从第一获取请求中携带的第一预设数目个信息标识中选择第二预设数目个信息标识。
控制器从第一获取请求携带的第一预设数目个信息标识中选择第二预设数目个信息标识的步骤可以为:
控制器从第一预设数目个信息标识中随机选择第二预设数目个信息标识;或者,
控制器从第一预设数目个信息标识中选择前第二预设数目个信息标识;或者,
控制器从第一预设数目个信息标识中选择后第二预设数目个信息标识。
在本步骤之前,控制器需要确定信息标识集合,控制器确定信息标识集合的过程可以为:
控制器获取当前时间以前的预设时长内历史接收到的至少一个第三获取请求,每个第三获取请求携带第三预设数目个信息标识;根据每个第三获取请求携带的第三预设数目个信息标识,获取信息标识集合;其中,该信息标识集合中包括每个第三获取请求携带的第三预设数目个信息标识中的全部标识或者部分标识。
控制器根据每个第三获取请求携带的第三预设数目个信息标识,获取信息标识集合的步骤可以为:
当至少一个第三获取请求携带的信息标识数目之和大于第四预设数目时,控制器从每个第三获取请求携带的第三预设数目个信息标识中选择第四预设数目个信息标识组成信息标识集合。当至少一个第三获取请求携带的信息标识数目之和不大于第四预设数目时,控制器将每个第三获取请求携带的第三预设数目个信息标识组成信息标识集合。
第四预设数目为信息标识集合最多能够容纳的信息标识数目;并且,第四预设数目可以根据需要进行设置并更改,在本发明实施例中,对第四预设数目不作具体限定;其中,信息标识集合的形式可以为数组形式,则第四数目不大于该数组中能够容纳的信息标识的数目。
在一个可能的设计中,控制器还可以存储历史接收到的每个信息标识的接收时间;相应的,控制器确定信息标识集合的过程可以为:
控制器根据已存储的每个信息标识的接收时间,获取接收时间为离当前时间最近的第四预设数目个信息标识,将该第四预设数目个信息标识组成信息标识集合。
例如,参见图2-2,控制器获取至少一个第三获取请求携带的信息标识,每个第三获取请求携带n个信息标识;则第三获取请求1携带的信息标识包括 id1~idn,第三获取请求2携带的信息标识包括id(n+1)~id2n,第三获取请求3 携带的信息标识包括id(2n+1)~id3n,以此类推。控制器将每个第三获取请求携带的信息标识组成信息标识集合。
步骤205:控制器根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求。
如果在步骤204中,控制器从信息标识集合中选择第二预设数目个信息标识,则本步骤可以为:
控制器将第一获取请求中的第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到第二获取请求。
由于在生成第二获取请求时,控制器直接修改第一获取请求中的信息标识,并未对协议头部做修改,因此,第二获取请求中的协议头部即为第一获取请求中的协议头部。
例如,参见图2-3,控制器将第一获取请求中携带的第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到第二获取请求;第一获取请求中的协议头部和第二获取请求的协议头部相同。
如果在步骤204中,控制器从信息标识集合中选择第四预设数目个信息标识,将第一预设数目个信息标识和第四预设数目个信息标识组成第二预设数目个信息标识,则本步骤可以为:
控制器将第四预设数目个信息标识添加到第一获取请求中,得到第二获取请求。
由于在生成第二获取请求时,控制器直接向第一获取请求中添加信息标识,并未对协议头部做修改,因此,第二获取请求中的协议头部即为第一获取请求中的协议头部。
如果在步骤204中,控制器从第一获取请求携带的第一预设数目个信息标识中选择第二预设数目个信息标识,则本步骤可以为:
控制器将第一获取请求中未选择的信息标识删除,得到第二获取请求;或者,
控制器将第一获取请求中的第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到第二获取请求。
同样由于在生成第二获取请求时,控制器直接将第一获取请求中未选择的信息标识删除,或者将第一获取请求中的第一预设数目个信息标识替换为选择的第二预设数目个信息标识,并未对协议头部做修改,因此,第二获取请求中的协议头部即为第一获取请求中的协议头部。
在本发明实施例中,直接在现网流量的基础上修改第一获取请求携带的信息标识的数目,得到第二获取请求,由于第二获取请求携带第二预设数目个信息标识,从而第二获取请求能够满足特定数目信息标识的测试场景。并且,由于第二预设预设数目个信息标识均为现网流量中的信息标识,该第二预设数目个信息标识能够较好的模拟信息标识出现的概率,解决信息随机性问题,极大提升了服务器性能测试的准确性和效率。
并且,控制器可以灵活设置第二获取请求中携带的信息标识的数目,并对服务器在处理第二获取请求时的性能进行测试,因此,控制器可以能够准确预测推荐系统性能随信息标识的数目变化的趋势,从而更好指导现网运营和部署。由于现有技术中不能灵活设置获取请求携带的信息标识的数目,因此只能通过服务器在处理实际接收到的获取请求时,对服务器进行性能测试,性能测试能力差;而本发明实施例中,由于控制器可以灵活设置第二获取请求中携带的信息标识的数目,从而可以实现对服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,例如,本发明可以实现对服务器在处理20个信息标识的获取请求的性能进行测试,实现对服务器在处理50个信息标识的获取请求的性能进行测试,实现对服务器在处理100个信息标识的获取请求的性能进行测试,因此,本发明提升了性能测试能力。
并且,本发明实施例是在现网流量的基础上,实现对服务器进行性能测试,该信息标识集合中不仅存储了信息标识,该信息标识集合中的信息标识也反映了信息标识出现的频率,这样在构建第二获取请求时,也模拟了信息标识出现的非随机性,提升了测试的准确性。
步骤206:控制器向第二服务器发送第二获取请求,该第二获取请求携带第二预设数目个信息标识。
由于对服务器在处理携带第二预设数目个信息标识的第二获取请求时的性能进行测试,因此,控制器生成第二获取请求之后,向第二服务器发送第二获取请求。
步骤207:第二服务器接收控制器发送的第二获取请求,处理第二获取请求。
第二服务器根据第二获取请求携带的第二预设数目个信息标识,获取第二预设数目个信息标识对应的信息,向控制器发送第二获取响应,第二获取响应携带第二预设数目个信息标识对应的信息;控制器接收第二服务器发送的第二获取响应,由于该第二获取请求为控制器生成的获取请求,并不是第一终端发送的用于获取信息的获取请求,因此,控制器接收到第二服务器发送的获取响应之后,并不向第一终端转发第二获取响应,直接丢弃第二获取响应。
步骤208:控制器在第二服务器处理第二获取请求时,对第二服务器的性能进行测试。
第二服务器在处理第二获取请求的过程中,第二服务器获取自身的性能参数,向控制器发送该性能参数;控制器接收第二服务器发送的第二服务器的性能参数,将第二服务器的性能参数作为第一服务器的性能参数,从而实现对第一服务器的性能进行测试。其中,该性能参数可以包括处理时延、CPU占用率、丢包率和服务质量等中的一个或者多个;在本发明实施例中,对性能参数不作具体限定。
例如,参见图2-4,控制器通过第一线程,将性能测试前预设时长内接收到的第三获取请求中携带的信息标识提取出去,并依次存储到信息标识集合中,直到信息标识集合存满后退出第一线程。
当信息标识集合存满时,控制器通过第二线程,每当接收到第一获取请求时,从信息标识集合中取出第二预设数目个信息标识,将第一获取请求携带的第一预设数目个信息标识替换为第二预设数目个信息标识,得到第二获取请求,控制器将第二获取请求发送到第二服务器,在第二服务器在处理第二获取请求时,控制器对第二服务器的性能进行测试。
需要说明的是,控制器接收到第一获取请求时,可以先向第一服务器转发第一获取请求,以指示第一服务器处理第一获取请求,然后才根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,根据第二获取请求对第二服务器进行性能测试;也即执行完步骤201时,可以先执行步骤202-203,然后执行步骤204-208;控制器接收到第一获取请求时,也可以先根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,根据第二获取请求对第二服务器进行性能测试,然后才向第一服务器转发第一获取请求,以指示第一服务器处理第一获取请求,也即执行完步骤201时,可以先执行步骤204-208,再执行步骤202-203;在本发明实施例中,对第一服务器处理第一获取请求以及对第二服务器进行性能测试的先后顺序不作具体限定。
在本发明实施例中,由于根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,从而实现灵活设置第二获取请求中包括的信息标识的数目,并且,在服务器处理第二获取请求时,对服务器的性能进行测试,从而实现对服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
本发明实施例提供了一种测试服务器性能的方法,该方法应用在推荐系统中;在本发明实施例中以直接在第一服务器上对第一服务器进行性能测试为例进行说明。该方法的执行主体可以为控制器;参见图3,该方法包括:
步骤301:第一终端向控制器发送第一获取请求,第一获取请求携带第一预设数目个信息标识。
本步骤和步骤201的实现方式相同,在此不再赘述。
步骤302:控制器接收第一终端发送的第一获取请求,向第一服务器转发第一获取请求。
本步骤和步骤202的实现方式相同,在此不再赘述。
步骤303:第一服务器接收控制器转发的第一获取请求,处理第一获取请求。
本步骤和步骤203的实现方式相同,在此不再赘述。
步骤304:控制器根据信息标识集合,确定第二预设数目个信息标识,该信息标识集合包括第一服务器历史接收到的信息标识。
本步骤和步骤204的实现方式相同,在此不再赘述。
步骤305:控制器根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求。
本步骤和步骤205的实现方式相同,在此不再赘述。
步骤306:控制器向第一服务器发送第二获取请求,该第二获取请求携带第二预设数目个信息标识。
本步骤和步骤206中的控制器向第一服务器发送第二获取请求的实现方式相同,在此不再赘述。
步骤307:第一服务器接收控制器发送的第二获取请求,处理第二获取请求。
本步骤和步骤207中的第二服务器接收控制器发送的第二获取请求,处理第二获取请求的实现方式相同,在此不再赘述。
步骤308:控制器在第一服务器处理第二获取请求时,对第一服务器的性能进行测试。
本步骤和步骤208中的控制器在第二服务器处理第二获取请求时,对第二服务器的性能进行测试的实现方式相同,在此不再赘述。
在本发明实施例中,由于在对第一服务器进行性能测试时,根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,从而实现灵活设置第二获取请求中包括的信息标识的数目;并且,在第一服务器处理第二获取请求时,对第一服务器的性能进行测试,从而实现对第一服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
本发明实施例提供了一种测试服务器性能的装置,该装置应用在控制器中,用于执行上述测试服务器性能的方法中的控制器执行的步骤;参见图4,该装置包括:
接收模块401,用于接收第一终端发送的第一获取请求,第一获取请求携带第一预设数目个信息标识;
确定模块402,用于根据信息标识集合,确定第二预设数目个信息标识,信息标识集合包括服务器历史接收到的信息标识,第一预设数目和第二预设数目不相等;
修改模块403,用于根据第二预设数目个信息标识,修改第一获取请求携带的信息标识,得到第二获取请求;
测试模块404,用于在服务器处理第二获取请求时,对服务器的性能进行测试。
在一个可能的设计中,该装置还包括:
第一获取模块,用于获取当前时间之前的预设时长内历史接收到的至少一个第三获取请求,每个第三获取请求携带第三预设数目个信息标识;
第二获取模块,用于将每个第三获取请求携带的第三预设数目个信息标识组成信息标识集合。
在一个可能的设计中,确定模块402,还用于从信息标识集合中选择第二预设数目个信息标识。
在一个可能的设计中,修改模块403,还用于将第一获取请求中的第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到第二获取请求。
在一个可能的设计中,确定模块402,还用于从信息标识集合中选择第四预设数目个信息标识;将第一预设数目个信息标识和第四预设数目个信息标识组成第二预设数目个信息标识,第四预设数目和第一预设数目之和为第二预设数目。
在一个可能的设计中,修改模块403,还用于将第四预设数目个信息标识添加到第一获取请求中,得到第二获取请求。
在本发明实施例中,由于在对服务器进行性能测试时,根据信息标识集合,确定第二预设数目个信息标识,根据第二预设数目个信息标识,修改第一获取请求中携带的信息标识,得到第二获取请求,从而实现灵活设置第二获取请求中包括的信息标识的数目;并且,在服务器处理第二获取请求时,对服务器的性能进行测试,从而实现对服务器在处理携带任意数目的信息标识的获取请求的性能进行测试,拓展了性能测试范围,提升了性能测试能力。
需要说明的是:上述实施例提供的测试服务器性能的装置在测试服务器性能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者
部分功能。另外,上述实施例提供的测试服务器性能的装置与测试服务器性能的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本发明实施例提供的一种控制器的结构示意图;该控制器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器 (central processingunits,CPU)522(例如,一个或一个以上处理器)和存储器 532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对控制器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在控制器500上执行存储介质530 中的一系列指令操作。
控制器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM, UnixTM,LinuxTM,FreeBSDTM等等。
该控制器500可以用于执行上述实施例提供的测试服务器性能的方法中控制器所执行的步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如测试服务器性能的方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、 CD-ROM、磁带、软盘和光数据存储设备等。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或隐含所指示的技术特征的数量。由此,限定的“第一”、“第二”的特征可以明示或隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种测试服务器性能的方法,其特征在于,所述方法包括:
接收第一终端发送的第一获取请求,所述第一获取请求携带第一预设数目个信息标识;
根据信息标识集合,确定第二预设数目个信息标识,所述信息标识集合包括服务器历史接收到的信息标识,所述第一预设数目和所述第二预设数目不相等;
根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求;
在所述服务器处理所述第二获取请求时,对所述服务器的性能进行测试;
其中,所述信息标识集合的确定过程包括:
获取当前时间之前的预设时长内历史接收到的至少一个第三获取请求,每个第三获取请求携带第三预设数目个信息标识;
根据所述每个第三获取请求携带的第三预设数目个信息标识,获取所述信息标识集合。
2.根据权利要求1所述的方法,其特征在于,所述根据信息标识集合,确定第二预设数目个信息标识,包括:
从所述信息标识集合中选择第二预设数目个信息标识。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求,包括:
将所述第一获取请求中的所述第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到所述第二获取请求。
4.根据权利要求1所述的方法,其特征在于,所述根据信息标识集合,确定第二预设数目个信息标识,包括:
从所述信息标识集合中选择第四预设数目个信息标识;
将所述第一预设数目个信息标识和所述第四预设数目个信息标识组成所述第二预设数目个信息标识,所述第四预设数目和所述第一预设数目之和为所述第二预设数目。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求,包括:
将所述第四预设数目个信息标识添加到所述第一获取请求中,得到所述第二获取请求。
6.一种测试服务器性能的装置,其特征在于,所述装置包括:
接收模块,用于接收第一终端发送的第一获取请求,所述第一获取请求携带第一预设数目个信息标识;
确定模块,用于根据信息标识集合,确定第二预设数目个信息标识,所述信息标识集合包括服务器历史接收到的信息标识,所述第一预设数目和所述第二预设数目不相等;
修改模块,用于根据所述第二预设数目个信息标识,修改所述第一获取请求中携带的信息标识,得到第二获取请求;
测试模块,用于在所述服务器处理所述第二获取请求时,对所述服务器的性能进行测试;
所述装置还包括:
第一获取模块,用于获取当前时间之前的预设时长内历史接收到的至少一个第三获取请求,每个第三获取请求携带第三预设数目个信息标识;
第二获取模块,用于根据所述每个第三获取请求携带的第三预设数目个信息标识,获取所述信息标识集合。
7.根据权利要求6所述的装置,其特征在于,
所述确定模块,还用于从所述信息标识集合中选择第二预设数目个信息标识。
8.根据权利要求7所述的装置,其特征在于,
所述修改模块,还用于将所述第一获取请求中的所述第一预设数目个信息标识替换为选择的第二预设数目个信息标识,得到所述第二获取请求。
9.根据权利要求6所述的装置,其特征在于,
所述确定模块,还用于从所述信息标识集合中选择第四预设数目个信息标识;将所述第一预设数目个信息标识和所述第四预设数目个信息标识组成所述第二预设数目个信息标识,所述第四预设数目和所述第一预设数目之和为所述第二预设数目。
10.根据权利要求9所述的装置,其特征在于,
所述修改模块,还用于将所述第四预设数目个信息标识添加到所述第一获取请求中,得到所述第二获取请求。
11.一种测试服务器性能的装置,其特征在于,所述装置包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至5任一所述的测试服务器性能的方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至5任一所述的测试服务器性能的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392949.4A CN108933709B (zh) | 2017-05-27 | 2017-05-27 | 测试服务器性能的方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710392949.4A CN108933709B (zh) | 2017-05-27 | 2017-05-27 | 测试服务器性能的方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108933709A CN108933709A (zh) | 2018-12-04 |
CN108933709B true CN108933709B (zh) | 2021-03-26 |
Family
ID=64448272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710392949.4A Active CN108933709B (zh) | 2017-05-27 | 2017-05-27 | 测试服务器性能的方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108933709B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853197A (zh) * | 2009-03-31 | 2010-10-06 | 国际商业机器公司 | 确定服务器负载能力 |
CN105005521A (zh) * | 2015-06-26 | 2015-10-28 | 腾讯科技(北京)有限公司 | 测试方法及装置 |
CN105354140A (zh) * | 2015-11-02 | 2016-02-24 | 上海聚力传媒技术有限公司 | 一种自动化测试的方法及系统 |
CN106055464A (zh) * | 2016-05-26 | 2016-10-26 | 努比亚技术有限公司 | 数据缓存集群压力测试装置及方法 |
CN106598741A (zh) * | 2016-12-16 | 2017-04-26 | 飞狐信息技术(天津)有限公司 | 个性化推荐系统的分布式a/b测试方法、系统及视频推荐系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8630960B2 (en) * | 2003-05-28 | 2014-01-14 | John Nicholas Gross | Method of testing online recommender system |
US10866987B2 (en) * | 2015-07-31 | 2020-12-15 | RCRDCLUB Corporation | Evaluating performance of recommender system |
-
2017
- 2017-05-27 CN CN201710392949.4A patent/CN108933709B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853197A (zh) * | 2009-03-31 | 2010-10-06 | 国际商业机器公司 | 确定服务器负载能力 |
CN105005521A (zh) * | 2015-06-26 | 2015-10-28 | 腾讯科技(北京)有限公司 | 测试方法及装置 |
CN105354140A (zh) * | 2015-11-02 | 2016-02-24 | 上海聚力传媒技术有限公司 | 一种自动化测试的方法及系统 |
CN106055464A (zh) * | 2016-05-26 | 2016-10-26 | 努比亚技术有限公司 | 数据缓存集群压力测试装置及方法 |
CN106598741A (zh) * | 2016-12-16 | 2017-04-26 | 飞狐信息技术(天津)有限公司 | 个性化推荐系统的分布式a/b测试方法、系统及视频推荐系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108933709A (zh) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
CN111158613B (zh) | 基于访问热度的数据块存储方法、装置及存储设备 | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN109388626B (zh) | 用于向业务分配编号的方法和装置 | |
CN108390933B (zh) | 消息分发方法、装置、服务器及存储介质 | |
CN108255701B (zh) | 场景测试方法及移动终端 | |
WO2014176048A1 (en) | Method and device for updating client | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN108875035B (zh) | 分布式文件系统的数据存储方法及相关设备 | |
CN111813699B (zh) | 基于智能电表的数据路由测试方法、装置和计算机设备 | |
CN109325056A (zh) | 一种大数据处理方法及装置、通信设备 | |
CN110839061B (zh) | 数据分发方法、装置及存储介质 | |
CN110505276B (zh) | 对象匹配方法、装置及系统、电子设备及存储介质 | |
CN108933709B (zh) | 测试服务器性能的方法、装置和计算机可读存储介质 | |
CN106156210B (zh) | 一种确定应用标识匹配列表的方法和装置 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN110362575B (zh) | 一种生成数据的全局索引的方法及装置 | |
CN113467823A (zh) | 一种配置信息的获取方法、装置、系统及存储介质 | |
CN111078477A (zh) | 接口测试的方法、装置、存储介质和电子设备 | |
CN113626295A (zh) | 压测数据的处理方法、系统及计算机可读存储介质 | |
CN111294250A (zh) | 压力测试方法、装置和系统 | |
CN117883789B (zh) | 数据获取方法、装置、设备、可读存储介质及程序产品 | |
CN112732362B (zh) | 跨国软件资源访问方法、装置、电子设备及存储介质 | |
CN114449031B (zh) | 信息获取方法、装置、设备和存储介质 | |
CN111435938B (zh) | 一种数据请求的处理方法、装置及其设备 |
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 |