CN116107913B - 单节点服务器的测试控制方法、装置及系统 - Google Patents

单节点服务器的测试控制方法、装置及系统 Download PDF

Info

Publication number
CN116107913B
CN116107913B CN202310362913.7A CN202310362913A CN116107913B CN 116107913 B CN116107913 B CN 116107913B CN 202310362913 A CN202310362913 A CN 202310362913A CN 116107913 B CN116107913 B CN 116107913B
Authority
CN
China
Prior art keywords
tested
server
test
task
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.)
Active
Application number
CN202310362913.7A
Other languages
English (en)
Other versions
CN116107913A (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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310362913.7A priority Critical patent/CN116107913B/zh
Publication of CN116107913A publication Critical patent/CN116107913A/zh
Application granted granted Critical
Publication of CN116107913B publication Critical patent/CN116107913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本说明书实施例提供单节点服务器的测试控制方法、装置及系统,其中所述方法包括:获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器;在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。通过将测试任务按照固定时序精准发送至一台单节点服务器中,确保单节点服务器每次测试时负载时序一致性,提高测试结果的准确性。

Description

单节点服务器的测试控制方法、装置及系统
技术领域
本说明书实施例涉及计算机技术领域,特别涉及单节点服务器的测试控制方法、测试系统。
背景技术
随着计算机技术的不断发展,云技术逐渐普及。程序开发与服务器部署逐渐分离为两种能够由不同技术人员分别执行的工作。目前,专门提供服务器服务的商家研发出线上服务器集群服务,线上服务器集群能够同时代理执行不同用户的函数任务,提供强大的函数计算能力。
然而,由于对整个服务器集群执行时,测试请求通过负载均衡模块之后,会被分发到单节点服务器上,并不能够确保每次测试都将相同的测试请求固定发送至同一个单节点服务器,也无法保证同一个单节点服务器接收测试请求的时序每次都保持一致。因此通过这种测试方法,经过多次测试得到的测试结果会存在区别,无法准确定位问题,并且问题定位效率低会对测试资源产生浪费。
发明内容
有鉴于此,本说明书实施例提供了单节点服务器的测试控制方法。本说明书一个或者多个实施例同时涉及单节点服务器的测试控制装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种单节点服务器的测试控制方法,应用于客户端,包括:
获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;
根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;
根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器;
在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。
根据本说明书实施例的第二方面,提供了一种单节点服务器的测试控制装置,配置于客户端,包括:
序列获取模块,被配置为获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;
任务生成模块,被配置为根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;
任务发送模块,被配置为根据测试任务的时序标识,按序将生成的测试任务发送至服务器;
测试结果确定模块,被配置为在测试任务执行完毕的情况下,根据服务器反馈的执行日志,确定待测服务器的测试结果。
根据本说明书实施例的第三方面,提供了一种单节点服务器的测试系统,包括客户端和待测服务器:
客户端,被配置为执行时实现上述单节点服务器的测试控制方法的步骤。
待测服务器,被配置为接收并执行客户端发送的测试任务,生成执行日志;在各测试任务执行完毕的情况下,收集执行日志并反馈至客户端。
根据本说明书实施例的第四方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述单节点服务器的测试控制方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述单节点服务器的测试控制方法的步骤。
本说明书一个实施例实现了获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器;在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。
如此,根据待测请求序列中待测请求的时序标识,能够生成具有固定时间序列的测试任务,能够按照与各待测请求时序标识一致的顺序将测试任务精准发送至一台单节点服务器中,从而实现按照任务逻辑针对单节点服务器的负载测试,确保每次测试中负载时序的一致性,从而提高测试结果的准确性,提高问题定位效率,并且,由于用户能够针对单节点服务器进行精准测试,而不是针对整个服务器集群进行测试,因此能够节约测试资源,降低测试成本。
附图说明
图1是本说明书一个实施例提供的一种单节点服务器的测试控制方法的流程图;
图2是本说明书一个实施例提供的一种单节点服务器的测试系统的系统示意图;
图3是本说明书一个实施例提供的一种单节点服务器的测试控制方法的处理过程流程图;
图4是本说明书一个实施例提供的一种单节点服务器的测试控制装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
需要说明的是,本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
函数计算:是一个事件驱动的全托管函数化服务,用户无需管理服务器等基础设施,只需编写代码并上传,函数计算会准备好计算资源,并以弹性、可靠的方式运行用户的代码。
函数化服务:是一种在无状态容器中运行的事件驱动型计算执行模型。
安全容器:和普通容器相比,它最主要的区别是每个容器都运行在一个单独的微型虚拟机中,拥有独立的操作系统内核,以及虚拟化层的安全隔离。
SSH协议(安全文件传送协议):是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。
在本说明书中,提供了单节点服务器的测试控制方法,本说明书同时涉及单节点服务器的测试控制装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
随着互联网云技术的发展,在计算机运行程序,执行相应功能时,负责客户端的技术人员逐渐能够只专注于对客户端代码的开发,将服务器等基础设施的搭建从开发工作中剥离出来,由专门开发服务端的技术人员负责管理。这种服务器和客户端完全分离,分别开发的方法,是一种基于无服务器开发理念的新互联网服务。
目前,在服务器集群中应用函数计算,能够准备好计算资源,以弹性、可靠的方式运行客户端开发人员的代码,以事件驱动函数化服务,实现按照任务逻辑对任务整个生命周期的全自动管理。
服务器集群就是将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。服务器集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还能够维持正常运行,保障客户端任务不中断。
目前,针对函数计算的测试包含:功能测试、压力测试、模糊测试和任务测试,其中,功能测试、压力测试和模糊测试是针对服务器集群中单节点服务器的测试,这些测试只是既定测试脚本产生的测试负载,不具备根据任务逻辑的时序性,对测试负载按照固定时序进行测试的能力。而任务测试,目前是针对整个服务器集群进行测试,在某一时间段内向一个包含若干单节点服务器的服务器集群发送测试请求,经过函数计算负载均衡模块,将测试请求尽可能均匀地分布在集群中每台单节点服务器上。
然而,由于通过函数计算负载均衡模块对测试请求进行发送,并不能够确保每次测试都将相同的测试请求固定发送至同一个单节点服务器,也无法保证同一个单节点服务器接收测试请求的时序每次都保持一致。因此通过这种测试方法,经过多次测试得到的测试结果会存在区别,无法准确定位问题,并且问题定位效率低会对测试资源产生浪费。
基于此,根据本说明书一个实施例提供的一种应用于客户端的单节点服务器的测试控制方法,获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器;在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。
通过根据待测请求序列中待测请求的时序标识,能够生成具有固定时间序列的测试任务,能够按照与各待测请求时序标识一致的顺序将测试任务精准发送至一台单节点服务器中,从而实现按照任务逻辑针对单节点服务器的负载测试,确保每次测试中负载时序的一致性,从而提高测试结果的准确性,提高问题定位效率,并且,由于用户能够针对单节点服务器进行精准测试,而不是针对整个服务器集群进行测试,因此能够节约测试资源,降低测试成本。
参见图1,图1示出了根据本说明书一个实施例提供的一种应用于客户端的单节点服务器的测试控制方法流程图,具体包括以下步骤。
步骤102:获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识。
目前,任务测试是基于整个服务器集群,发送测试请求的,针对整个服务器集群进行测试,耗费的测试时间较长,消耗的测试资源较多,并且由于负载均衡模块会根据实际测试中的负载情况将测试负载请求均匀地分布在集群中每台单节点服务器上,因此,单节点服务器上,每次测试执行的测试任务可能都与上一次有所不同,且无法保证任务时序的一致性。
为了模拟服务器集群中单个节点服务器执行的测试任务,本说明书一个或多个实施例获取待测服务器的待测请求序列。
具体地,待测服务器是即将进行负载测试的服务器,可以是服务器集群中的任一服务器。服务器集群是由多个单节点服务器组成的,能够集合多个单节点服务器的计算能力,实现高性能的运算,具体可以是由多台云服务组成的云服务器集群。待测请求序列是针对待测服务器发出的请求序列。在实际应用中,待测请求可以理解为一个具体的任务执行请求,例如,针对云服务器节点,待测请求具体可以是执行函数计算对应任务的请求。待测请求携带的时序标识可以是具体的时间,例如待测请求1携带时序标识14时01分,待测请求2携带时序标识14时02分,也可以是先后顺序的标识,例如,预设的待测请求执行先后顺序为待测请求1最先执行,然后执行待测请求2,最后执行待测请求3,则待测请求1、2、3可以分别携带数字1、2、3,在发送请求时,可以根据数字大小顺序,从小到大顺次发送,也可以不按照顺序随机发送,从而能够根据待测请求携带的时序标识,达到对待测请求时间顺序进行标识的目的。
由于一项互联网项目的实现,通常服务器的搭建和客户端的开发工作是紧密关联的,由同一个技术团队进行实现,而目前,应用于云服务器集群的函数计算能够自动准备好计算资源,以弹性、可靠的方式运行客户端开发人员的代码,因此,技术人员可以只专注于对客户端的开发,而将服务器的部署构建,以及任务在服务器上的执行完全交由负责云服务器的技术人员进行实现。
因此,对于专注于开发服务器的技术人员而言,对服务器集群在为用户提供服务的过程中出现的异常问题需要及时解决,从而会产生对已发生问题的问题定位需求;并且,负责服务器集群的测试人员,还可以经常对服务器集群中的各个单节点服务器进行测试,以根据测试结果对函数计算某些性能指标进行统计以实现性能调优。
需要说明的是,针对服务器集群在为用户提供服务的过程中出现异常问题,存在对线上负载情况进行线下复现,以定位线上执行任务过程遇到的问题的需求,本说明书一个或多个实施例,获取待测服务器的待测请求序列,可以通过如下方法实现:
获取待测服务器在预设时间段内的任务执行记录;
根据所述任务执行记录,确定所述待测服务器的待测请求序列。
具体地,在线上提供服务的过程中,可以将各个待执行任务发送至负载均衡模块,负载均衡模块可以基于服务器集群中各个服务器的当前负载情况,将待执行任务分配至对应的服务器,每个服务器在执行任务时,仅可以在日志中记载任务的属性参数,如任务标识、任务接收时间、任务执行参数等。因而,可以基于服务器集群中各个服务器的日志,分析出现故障的服务器,并确定出待测服务器以及其对应的需要复现问题的预设时间段。即可以通过待测服务器所在的服务器集群包括的集群管理模块中的获取服务器集群日志,确定在服务器集群线上提供服务过程中,不同时间段内,对应出现故障的单节点服务器有哪些,从而确定待测服务器。还可以通过直接读取服务器集群中各单节点服务器的日志收集模块,确定待测服务器以及对待测服务器进行线上问题复现时间段。
实际应用中,为了提高服务器中不同任务进程之间的隔离性,从而保障数据安全,避免系统安全隐患,在本说明书一个或多个实施例中,测试任务发送至待测服务器后,会控制待测服务器创建安全容器,在安全容器中执行对应的测试任务。需要说明的是,安全容器区别于普通容器无内核的特点,每个安全容器都部署于一个单独的微型虚拟机中,拥有独立的操作系统内核以及虚拟化层。相应地,针对同一台单节点服务器,会按照接收到的任务请求时序生成不同的安全容器,并在安全容器中运行相应任务,产生任务对应的执行日志。因此,对于待测请求序列,可以理解为待测请求序列中,各待测请求携带任务参数,以及容器创建指令。
具体地,针对待测服务器出现故障的时间段,可以从待测服务器节点内部的日志收集模块,获取待测服务器在故障时间段内对应的执行日志,解析执行日志得到待测服务器在预设时间段内的任务执行记录。可以从任务执行记录中读取线上容器创建的时序记录,也就是读取待测服务器执行用户任务出现故障的时间段内,对容器进行创建的时间顺序。
实际应用中,由于每个任务执行时,需要先创建对应的容器,因而通过获取的容器创建的时序记录,能够得到容器创建的时间先后顺序,该容器创建的时间先后顺序表明了对应任务的执行顺序,因而可以按照该执行顺序,对应生成测试请求序列,在测试请求序列中,各测试请求按照容器创建的时间先后顺序进行标识,以确保在线下发送至服务器的任务请求在时序上与该服务器执行的任务时序是一致的。
示例性地,待测服务器提供线上服务的过程中,在预设时间段内的容器创建时序记录为:8时01分创建容器a、c、f,8时02分创建容器e、d,8时04分创建容器b,则根据容器创建时序记录,得到任务执行顺序应该为容器a、c、f、e、d、b,在线下测试时应该按照该顺序生成测试任务,以达到对线上服务过程的准确模拟,提高测试准确性。
实际应用中,可以通过测试人员输入,或者客户端间隔预设时间间隔自动获取等方式,从线上服务器集群中获取执行日志,在确定待测服务器以及预设时间段的情况下,将待测服务器线上容器创建量的时序记录作为客户端中请求序列获取模块的输入,请求序列获取模块会根据输入的时序记录,将待测请求序列输出至客户端的测试任务生成模块,以使测试任务生成模块根据待测请求序列生成测试任务。
通过获取待测服务器所在的服务器集群,执行线上任务过程中产生的执行日志,从服务器集群的执行日志中确定出现异常的单节点服务器,以及其出现异常对应的时间段,能够确定出具体进行测试的待测服务器,并且,从待测服务器的执行日志中获取预设时间段内的容器创建序列,能够在线下进行复现时,确保测试任务时序与线上是一致的,提高测试的准确性。同时,仅针对故障时间段进行测试,能够节约测试资源,提高问题定位效率。
对于开发服务器的技术人员而言,不仅可以对服务器线上出现的问题进行定位和解决,还可以每隔一定时间,对服务器集群进行测试,对函数计算性能指标进行统计,并且根据统计结果进行性能调优。
因此,为了便于技术人员对服务器集群进行测试,并且确保每轮测试的任务时序针对单节点服务器是一致的,从而便于对单节点进行异常检测和性能调优,本说明书一个或多个实施例,获取待测服务器的待测请求序列,还可以通过如下方法实现:
接收用户针对待测服务器配置的待测请求序列。
具体地,用户可以理解为对服务器集群进行测试的技术人员,测试人员可以根据预设的单节点服务器负载曲线,设置待测请求序列,将待测请求序列发送至客户端,从而实现对用户自定义测试负载曲线的模拟。预设的负载曲线可以是每隔固定时间间隔均匀产生负载任务,也可以是在某个时间段爆发式地增长负载任务数量,从而针对不同的线上服务情况进行模拟。
实际应用中,测试人员可以为各个待测请求设置时间,也可以仅为各个待测请求设置发送的先后顺序,具体可以根据测试人员想要模拟的负载曲线来确定。例如,测试人员想要模拟服务器单节点平稳运行的负载曲线,可以预设10个待测请求,每个待测请求时间间隔1分钟,即,待测请求1时序标识14时01分,待测请求2时序标识14时02分......待测请求10时序标识14时10分。如果测试人员想要模拟服务器单节点在某一时刻内对爆发请求的负载能力,可以预设在1分钟内,按照先后顺序发送1000个请求,先后顺序可以用数据从小到大表示。例如,待测请求1时序标识1、待测请求2时序标识2......待测请求1000时序标识1000。
测试人员可以设置好一批待测请求后,将这批待测请求同时输入至客户端,也可以每设置好一个请求,就向客户端输入一次。实际应用中,测试人员可以将配置的待测请求,作为客户端中测试负载模型的输入,输入至测试负载模型中,从而由测试负载模型生成待测请求序列,并将待测请求序列输出至测试任务生成模块,以使测试任务生成模块根据待测请求序列生成测试任务。
通过测试人员自定义设置待测请求,能够根据用户设置的请求时序,将测试任务按照时间顺序精准地发送至单节点服务器上,实现对用户自定义测试负载曲线的模拟,从而能够根据对负载曲线的模拟结果,对函数计算进行性能调优,提高服务器节点的测试准确性,减少测试资源的消耗。
步骤104:根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识。
实际应用中,根据待测请求序列中待测请求的时序标识,生成各待测请求对应的测试任务,能够确保各测试任务按照待测请求序列中待测请求的先后顺序,推送至待测服务器中,即,确保测试任务的时间序列与待测请求序列中待测请求的时间序列保持一致。
具体地,客户端可以包括任务生成模块,任务生成模块用于接收测试负载模型输出的待测请求序列,并根据待测请求序列中至少两个待测请求分别对应的时序标识,生成至少两个待测请求分别对应的测试任务。测试任务可以包括不同类型的负载函数,可以包括计算型负载函数、网络型负载函数、存储型负载函数等,计算型负载函数可以实现复杂的运算功能;网络型负载函数可以实现对不同网关的访问、网络连接等功能;存储型负载函数可以实现对大批量数据的存储功能,例如,对一个游戏内当天玩家的游戏数据和账号进度数据进行记录和存储。可以理解的是,一个测试任务可以包括多个不同类型的负载函数,示例性地,测试任务是对一个复杂函数进行运算,并将运算结果持久化存储,则该测试任务中,既包括计算型负载函数又包括存储型负载函数。
在本说明书一个或多个实施例中,根据待测请求序列中待测请求的时序标识,生成对应的测试任务,可以通过如下方法实现:
根据待测请求序列中待测请求的时序标识,按序生成对应的测试任务;
实际应用中,为了确保按序生成的测试任务后续能够按照一致的顺序发送至待测服务器,因此,在生成测试任务之后,还可以对生成的测试任务进行存储。相应地,生成对应的测试任务之后,还可以包括如下步骤:
将生成的测试任务添加至目标测试任务队列。
具体地,由于待测请求序列中待测请求携带时序标识,因此可以按照时序标识对应的时间先后顺序,从前到后依次生成测试任务,并在测试任务中携带与待测请求对应的时间标识。按照测试任务生成的先后顺序,将生成的测试任务发送至目标测试任务队列中进行存储。
也即是说,可以按照先后顺序,在一个测试任务生成完毕后,再生成下一个测试任务。
通过按照待测请求的时序标识,按序生成对应的测试任务,并且按照测试任务生成的先后顺序将测试任务发送至队列进行存储,后续能够利用队列先进先出的特性,将存储在队列中的任务按照时间先后顺序进行发布,从而确保测试任务时序的一致性,提供在单位时间间隔内均匀发送测试任务,或者在单位时间间隔内某一时刻发送全部测试任务的burst能力。
可选地,任务生成模块可以根据时序标识,每生成一个测试任务就将其存储在目标测试任务队列中,也可以将已经生成的多个测试任务按照时序标识进行先后顺序的排序,将完成排序的多个测试任务按照从前到后的顺序存储在目标测试任务队列中。
相应地,在本说明书一个或多个实施例中,根据待测请求序列中待测请求的时序标识,生成对应的测试任务,还可以通过如下方法实现:
生成待测请求序列中待测请求对应的测试任务,并在测试任务中携带对应的时序标识。
实际应用中,对根据待测请求序列中的各待测请求,生成各待测请求分别对应的各测试任务,可以不按照各待测请求携带的时序标识,按照顺序生成各测试任务。在本说明书一个或多个实施例中,可以按照任意顺序生成各待测请求分别对应的各测试任务,并在各测试任务中携带与对应待测请求一致的时序标识。例如待测请求的时序标识为1,根据该待测请求生成的测试任务也可以携带时序标识1。如此,后续针对待测服务器进行测试时,便能够根据时序标识,对生成的测试任务按照与时序标识一致的顺序发送至待测服务器。
相应地,生成对应的测试任务之后,还可以包括如下步骤:
对生成的测试任务进行存储;
在待测请求序列中待测请求对应的测试任务生成完毕的情况下,按照测试任务的时序标识将测试任务添加至目标测试任务队列。
具体地,生成待测请求序列中待测请求对应的测试任务时,可以并不根据待测请求的时序标识,按照先后顺序进行生成或者存储,而是可以随机生成任意待测请求对应的测试任务,并在生成的测试任务中携带对应的测试请求的时序标识。
实际应用中,生成测试任务的方式可以有多种,可选地,可以通过并列生成的方式,无需等待一个测试任务生成完毕再生成下一个,或者随机选取一个测试请求生成测试任务,上一个测试任务生成完毕,再随机选取下一个测试请求生成测试任务,由于这些方式都不能保证测试任务与待测请求时序一致,因此,在生成测试任务的过程中,测试任务需要携带与测试请求相应的时间标识,并且将生成的测试任务在数据库表、Excel表、txt文档中,或者初始任务队列、任务栈等数据结构中进行存储,这样,才能够保证后续按照与测试请求对应的时序一致的顺序,将测试任务压入目标测试队列,利用队列先进先出的特点,确保发送至服务器的测试任务在时序上与待测请求序列保持一致。
实际应用中,可以在一批测试任务生成并存储完毕之后,可以按照测试任务的时序标识,将测试任务按照时序标识对应的先后顺序,添加至目标测试任务队列。
通过将测试任务按照时间标识添加至目标测试任务队列,能够确保发送至服务器的测试任务是按照任务请求的时序标识发送的,确保每次测试,待测服务器执行任务的时序一致性。并且,通过将生成的测试任务存储在队列中,能够在队列中实现时间的补偿,保证两批次测试任务数量产生和发送的时间波动在5毫秒内。从队列中取出测试任务并进行发布,可以提供单位时间间隔内均匀发送测试任务,或者在单位时间间隔内某一时刻发送全部测试任务的能力。
另外,除了上述两种方式外,还可以不利用目标测试队列,直接将生成的各个测试任务进行存储,后续在向服务器发送测试任务时,通过遍历存储的各个测试任务的时序标识,按照各个测试任务时序标识的先后顺序,确定待推送的测试任务。
步骤106:根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器。
实际应用中,客户端还可以包括进程池模块。任务生成模块可以控制存储在目标测试队列中的测试任务,将测试任务按照时间先后顺序发送至进程池模块中的工作进程中,然后进程池模块中的工作进程可以将接收到的测试任务以任务线程的形式进行生命周期的管理,将测试任务发送至单节点服务器中,以完成对服务器的负载测试。
本说明书一个或多个实施例,根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器,通过如下方法实现:
每隔设定时长,从目标测试任务队列中获取当前待推送任务,将当前待推送任务推送至待测服务器。
具体地,客户端包括的任务生成模块可以每隔设定时长,从目标测试任务队列中获取当前待推送任务,将当前待推送任务推送至客户端包括的进程池模块中的工作进程中。设定时长可以是固定时间段,例如1毫秒、1秒、1分钟等,可以每隔固定的时间间隔,获取一条待推送任务并进行推送,也可以每隔固定时间间隔,获取多条待推送任务并进行推送,具体根据待测请求序列中,各待测请求的时序标识来确定。当前待推送任务是当前要推送至待测服务器的任务,具体地,当前待推送任务可以是一个任务线程的形式,由工作进程进行管理。
例如,待测服务器通过函数计算在线上执行用户代码的过程中,在某一分钟内接收到爆炸式的请求指令,则根据这一分钟内的容器创建量时序记录获得的待测请求序列,可以携带能够标识这一分钟内各待测请求先后顺序的时序标识,根据待测请求序列中各待测请求生成的测试任务对应携带时序标识,以便于客户端中的任务生成模块根据时序标识,在一分钟内将目标测试任务队列中的多条测试任务进行获取并以爆发式的形式推送至进程池模块中的工作进程中。
通过每隔设定时长,从目标测试任务队列中获取当前待推送任务,将当前待推送任务推送至待测服务器,能够保证两批次测试任务数量产生和发送的时间波动在5毫秒内,并且提供单位时间间隔内均匀发送测试任务,或者在单位时间间隔内某一时刻发送全部测试任务的能力。
客户端包括的进程池模块中的工作进程可以按照同步或者异步的方式将接收到的待推送任务推送至待测服务器,为了确保推送至待测服务器的待推送任务能够与待测请求序列中各待测请求的时间先后顺序一致,本说明书一个或者多个实施例,从目标测试任务队列中获取当前待推送任务,将当前待推送任务推送至待测服务器,通过如下方式实现:
将当前待推送任务分配给对应的目标进程,其中,目标进程用于异步管理至少一个测试任务;
通过目标进程将当前待推送任务推送至待测服务器。
具体地,目标进程是用于异步管理至少一个测试任务的进程,可以理解为一个工作组件中的主进程。可以根据当前进程池模块中进程的空闲情况,将待推送任务分配给对应的目标进程。
实际应用中,进程池模块中可以设置有多个工作进程,在一种优选的实施方式中,工作进程可以配置为300个,每个工作进程可以通过异步的方式管理3个测试任务线程。工作进程在没有接收到待推送任务时,处于空闲状态,可以标记为空闲并进行休眠,以节省内存资源,在接收到待推送任务的情况下,立即从休眠状态转化为工作状态,并通过异步的方式控制每个待推送任务对应容器创建请求。
具体地,异步的方式是指同一个进程对多个线程的控制可以不同步执行,进程在接收到新的测试任务线程时,能够立即对新的测试任务线程进行生命周期控制,将测试任务发送至待测服务器。通过异步的方式将待推送任务推送至待测服务器,能够确保客户端按照待测请求序列中,与待测请求的时序标识一致的时间顺序将测试任务发送至服务器,确保服务器每次测试过程中接收到的测试任务时序是一致的。
可选地,目标进程还可以对任务线程的整个生命周期进行管理,从而实现按照一致的时间顺序,对待测服务器上容器执行生命周期的管理。
示例性地,任务生成模块可以从目标测试任务队列中获取当前待推送任务,生成当前待推送任务对应的任务线程并发送至进程池模块中处于空闲状态的目标进程,目标进程可以异步管理3个任务线程的生命周期,目标进程接收到任务线程1后立即将容器创建请求发送至待测服务器中,在等待待测服务器返回容器创建成功的消息过程中,可以继续接收任务线程2,并将任务线程2对应的容器创建请求发送至待测服务器中,目标进程接收到任务线程3后,立即将任务线程3对应的容器创建请求发送至待测服务器中。目标进程接收到服务器返回的针对任务线程1的容器创建成功消息,将任务线程1对应的测试负载任务发送至待测服务器,在接收到待测服务器返回的负载测试任务执行完毕的消息后,将任务线程1对应的容器删除请求发送至待测服务器,在待测服务器反馈容器删除完毕的消息之后,销毁任务线程1。
通过将当前待推送任务分配给对应的目标进程,通过目标进程以异步的方式将当前待推送任务推送至待测服务器,可以确保发送至待测服务器的测试任务均是按照待测请求序列中各待测请求的时序先后顺序进行发送的,从而能够保障单节点服务器每次测试时序的一致性,能够保证对线上问题在线下复现的时序准确性,提高问题定位效率,同时,也能够对测试人员自定义的测试请求进行准确测试,保证测试任务执行的时序与用户定义的时序一致,提高对负载曲线模拟的准确性。
步骤108:在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。
实际应用中,待测服务器将测试任务执行完毕的情况下,会向目标进程反馈任务执行完毕的消息,目标任务进程可以根据待测服务器反馈的执行完毕消息,销毁对应的测试任务线程。待测服务器根据测试任务对应的请求创建容器,执行相应的测试任务并在执行完毕后删除容器的过程中,会生成执行日志,记录容器的创建时间、任务执行时间、删除时间等与测试任务相关的数据。待测服务器中的日志收集模块可以对待测服务器执行过程中的执行日志进行收集。
具体地,执行日志是待测服务器根据测试任务对应的一系列请求(例如容器创建请求、任务执行请求、容器删除请求等)执行相应操作并生成的记录相关数据的日志。待测服务器的测试结果可以理解为待测服务器执行完毕预设条件的测试任务之后,根据日志数据分析得到的结果,其中,预设条件可以包括预设时间、预设任务数量;测试结果包括负载曲线图、容器平均创建时间、容器平均删除时间、容器内任务平均执行时间、CPU平均占用率、内存平均占用率等能够反映单节点服务器函数计算性能的数据。
示例性地,可以在进行测试的过程中,每隔5分钟,从待测服务器的日志收集模块获取一次待测服务器在最近5分钟之内的测试任务执行日志。或者,可以在整个测试进行完毕后,接收待测服务器发送的整个测试过程执行完毕后记录的执行日志。
实际应用中,可以根据任务生成模块将目标测试任务队列中的最后一个测试任务发布至进程池模块,确定整个测试进行完毕,也可以根据进程池中的全部进程均进入休眠状态,确定整个测试进行完毕。
需要说明的是,客户端与待测服务器之间可以通过SSH协议进行执行日志的传输。具体地,客户端可以根据预设时间间隔,从待测服务器中获取当前最近时间间隔内的执行日志,还可以接收待测服务器根据预设时间间隔,通过SSH协议发送的执行日志。通过SSH协议完成执行日志的传输,可以提高文件传输效率,提高文件传输的安全性。
可选地,客户端可以包括日志分析模块,相应地,在测试任务执行完毕的情况下,本说明书一个或多个实施例,根据待测服务器反馈的执行日志,确定待测服务器的测试结果,可以通过如下方法实现:
获取待测服务器反馈的执行日志;
解析执行日志,获得待测服务器的测试结果报告。
具体地,可以通过客户端的日志分析模块,解析服务器收集到的执行日志,示例性地,可以从执行日志中读取预设时间段内全部容器的创建时长,对全部容器的创建时长求平均值,得到待测服务器中容器的平均创建时长。还可以统计预设时间段内全部容器对应的网络组件的创建时长,对全部网络组件的创建时长求平均值,得到待测服务器中各容器对应的网络组件的平均创建时长。还可以统计预设时间段内,待测服务器每分钟的CPU占用率、内存占用率等数据,根据这些数据,绘制负载曲线图作为待测服务器的测试结果报告。
实际应用中,客户端还可以包括测试报告生成模块,针对解析执行日志得到的测试结果,生成HTML格式的测试结果报告,以实现对测试结果报告进行安全、持久化存储以及可视化显示,以便于根据报告对各项性能指标进行统计,并根据统计结果对函数计算各项性能进行调优,以及针对待测服务器进行系统组件、硬件等的配置优化调整。
相应地,本说明书一个或多个实施例,解析执行日志,获得待测服务器的测试结果报告,可以通过如下方式实现:
解析执行日志,获得待测服务器的初始测试结果;
根据初始测试结果,生成HTML格式的测试结果报告,并将测试结果报告进行可视化显示。
具体地,初始测试结果可以理解为从执行日志中解析得到的与服务器测试结果相关的数据,例如预设时间段内全部容器的创建时间、容器对应的网络组件的创建时间、CPU、内存等每分钟的占用率等数据。测试结果报告可以通过HTML格式存储在浏览器中,根据获取到的HTML格式的测试结果报告,可以统计各项指标,生成柱状图、折线图、饼状图、曲线图等反映服务器性能的可视化视图。
通过解析执行日志,根据执行日志生成HTML格式的测试结果报告,能够便于将测试结果报告进行安全、高效地传输,以便于展示在不同客户端对应的浏览器上,便于测试人员根据对线上问题的复现结果,定位待测服务器出现的问题,或者,便于不同工作人员对各项性能指标进行统计,提高待测服务器调优效率。
根据本说明书一个实施例提供的一种应用于客户端的单节点服务器的测试控制方法,获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;根据测试任务的时序标识,按序将生成的测试任务发送至待测服务器;在测试任务执行完毕的情况下,根据待测服务器反馈的执行日志,确定待测服务器的测试结果。
通过根据待测请求序列中待测请求的时序标识,能够生成具有固定时间序列的测试任务,能够按照与各待测请求时序标识一致的顺序将测试任务精准发送至一台单节点服务器中,从而实现按照任务逻辑针对单节点服务器的负载测试,确保每次测试中负载时序的一致性,从而提高测试结果的准确性,提高问题定位效率,并且,由于用户能够针对单节点服务器进行精准测试,而不是针对整个服务器集群进行测试,因此能够节约测试资源,降低测试成本。
参见图2,图2示出了根据本说明书一个实施例提供的一种单节点服务器的测试系统的系统示意图,该单节点服务器的测试系统具体包括客户端201和待测服务器202。
客户端201,包括请求序列获取模块2012、测试任务生成模块2014、进程池模块2016、日志分析模块2018以及报告生成模块2020。
待测服务器202,包括测试任务执行模块2022以及执行日志收集模块2024。
具体地,请求序列获取模块2012,可以理解为一种测试负载模型,能够根据测试人员输入的测试请求,或者获取待测服务器线上容器创建时序,自动生成待测请求序列,并将请求序列发送至测试任务生成模块2014。需要说明的是,请求序列获取模块2012可以根据待测请求序列中,待测请求的时序标识,以轮转的方式,在单位时间间隔内,以均匀的或者burst的方式,发送待测请求至测试任务生成模块2014。
测试任务生成模块2014根据接收到的待测请求,根据待测请求的时序标识生成测试任务,可以将测试任务按照时序标识存储在目标测试队列中,以实现时间的补偿,保证两批次测试任务产生和发送的时间波动在5毫秒内。测试任务生成模块2014可以将目标测试队列中的测试任务发布至进程池模块2016中。
需要说明的是,测试任务可以通过线程的形式,由进程池模块2016中的工作进程进行管理。进程池模块2016中包括多个工作进程,每个工作进程可以管理多个测试任务对应的线程。每个工作进程可以通过异步的方式对线程的整个生命周期进行管理,确保发送至待测服务器的测试任务在时序上保持一致性。
进程池模块2016中的工作进程将测试任务发送至待测服务器202,待测服务器202中的测试任务执行模块会根据接收到的测试任务,创建安全容器,并在容器内部执行测试任务对应的任务。需要说明的是,进程池模块2016中各工作进程与测试任务执行模块2022之间通过消息进行交互,工作进程会根据测试任务执行模块2022反馈的执行消息,控制测试任务线程的生命周期,并在任务执行模块2022反馈测试任务执行完毕的情况下,发送容器删除请求,指示待测服务器删除对应容器,并在进程池模块内部销毁对应的测试任务线程。
待测服务器202中的执行日志收集模块2024可以对测试任务执行模块2022在执行测试任务期间记录的执行日志进行收集,并通过SSH协议传输至客户端201中的日志分析模块2018。
日志分析模块2018可以解析待测服务器的执行日志,并将解析得到的测试结果发送至报告生成模块2020。报告生成模块2020可以根据测试结果生成HTML格式的测试报告,方便测试报告的安全传输,以及能够通过不同浏览器对测试报告进行获取。便于测试人员对测试结果进行分析。
下述结合附图3,以本说明书提供的单节点服务器的测试控制方法在函数计算云服务器的应用为例,对所述单节点服务器的测试控制方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种单节点服务器的测试控制方法的处理过程流程图,具体包括以下步骤。
步骤302:获取单节点函数计算云服务器在预设时间段内的线上任务执行记录。
步骤304:根据线上任务执行记录中的容器创建时间序列,确定单节点函数计算云服务器的待测请求序列,其中,待测请求序列包括至少两个待测请求,待测请求携带时序标识。
步骤306:根据待测请求序列中待测请求的时序标识,按序生成对应的测试任务,并将生成的测试任务添加至目标测试任务队列。
步骤308:每隔设定时长,从目标测试任务队列中获取当前待推送任务,将当前待推送任务分配给对应的目标进程。
步骤310:通过目标进程将当前待推送任务推送至单节点函数计算云服务器。
步骤312:接收单节点函数计算云服务器执行完毕所有测试任务之后,反馈的执行日志。
步骤314:解析执行日志,获得单节点函数计算云服务器的初始测试结果。
步骤316:根据初始测试结果,生成HTML格式的测试结果报告,并将所述测试结果报告进行可视化显示。
与上述方法实施例相对应,本说明书还提供了单节点服务器的测试控制装置实施例,图4示出了本说明书一个实施例提供的一种单节点服务器的测试控制装置的结构示意图。如图4所示,该装置包括:
序列获取模块402,被配置为获取待测服务器的待测请求序列,其中,待测服务器为服务器集群中的任一服务器,待测请求序列包括至少两个待测请求,待测请求携带时序标识;
任务生成模块404,被配置为根据待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,测试任务携带对应的时序标识;
任务发送模块406,被配置为根据测试任务的时序标识,按序将生成的测试任务发送至服务器;
测试结果确定模块408,被配置为在测试任务执行完毕的情况下,根据服务器反馈的执行日志,确定待测服务器的测试结果。
可选地,序列获取模块402,进一步被配置为:
获取待测服务器在预设时间段内的任务执行记录;
根据任务执行记录,确定待测服务器的待测请求序列。
可选地,序列获取模块402,进一步被配置为:
接收用户针对待测服务器配置的待测请求序列。
可选地,任务生成模块404,还包括第一添加单元,被配置为:将生成的测试任务添加至目标测试任务队列。
可选地,任务生成模块404,还包括第二添加单元,被配置为:在测试任务中携带对应的时序标识;
对生成的测试任务进行存储;
在待测请求序列中待测请求对应的测试任务生成完毕的情况下,按照测试任务的时序标识将测试任务添加至目标测试任务队列。
可选地,任务发送模块406,进一步被配置为:
每隔设定时长,从目标测试任务队列中获取当前待推送任务,将当前待推送任务推送至待测服务器。
可选地,任务发送模块406,进一步被配置为:
将当前待推送任务分配给对应的目标进程,其中,目标进程用于异步管理至少一个测试任务;
通过目标进程将当前待推送任务推送至待测服务器。
可选地,测试结果确定模块408,进一步被配置为:
获取待测服务器反馈的执行日志;
解析执行日志,获得待测服务器的测试结果报告。
可选地,测试结果确定模块408,进一步被配置为:
解析执行日志,获得待测服务器的初始测试结果;
根据初始测试结果,生成HTML格式的测试结果报告,并将测试结果报告进行可视化显示。
上述为本实施例的一种单节点服务器的测试控制装置的示意性方案。需要说明的是,该单节点服务器的测试控制装置的技术方案与上述的单节点服务器的测试控制方法的技术方案属于同一构思,单节点服务器的测试控制装置的技术方案未详细描述的细节内容,均可以参见上述单节点服务器的测试控制方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,networkinterface controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(PC,Personal Computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的单节点服务器的测试控制方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述单节点服务器的测试控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述单节点服务器的测试控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的单节点服务器的测试控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述单节点服务器的测试控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述单节点服务器的测试控制方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的单节点服务器的测试控制方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述单节点服务器的测试控制方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (12)

1.一种单节点服务器的测试控制方法,应用于客户端,包括:
获取待测服务器的待测请求序列,其中,所述待测服务器为服务器集群中的任一服务器,所述待测请求序列包括至少两个待测请求,所述待测请求携带时序标识,所述待测请求包括所述待测服务器在所述服务器集群中执行线上任务的过程中生成的容器创建指令,所述时序标识根据线上容器创建的时间先后顺序得到;
根据所述待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,所述测试任务携带与所述待测请求对应的时序标识;
根据所述测试任务的时序标识,按序将生成的测试任务发送至所述待测服务器,其中,所述按序将生成的测试任务发送至所述待测服务器包括:将当前待推送任务分配至对应的目标进程,以使所述目标进程以异步的方式将所述当前待推送任务推送至所述待测服务器;
在所述测试任务执行完毕的情况下,根据所述待测服务器反馈的执行日志,确定所述待测服务器的测试结果。
2.根据权利要求1所述的方法,所述获取待测服务器的待测请求序列,包括:
获取待测服务器在预设时间段内的任务执行记录;
根据所述任务执行记录,确定所述待测服务器的待测请求序列。
3.根据权利要求1所述的方法,所述获取待测服务器的待测请求序列,还包括:
接收用户针对待测服务器配置的待测请求序列。
4.根据权利要求1所述的方法,生成对应的测试任务之后,还包括:
将生成的测试任务添加至目标测试任务队列。
5.根据权利要求1所述的方法,生成对应的测试任务之后,还包括:
在所述测试任务中携带对应的时序标识;
对生成的测试任务进行存储;
在所述待测请求序列中待测请求对应的测试任务生成完毕的情况下,按照所述测试任务的时序标识将所述测试任务添加至目标测试任务队列。
6.根据权利要求4或5所述的方法,所述根据所述测试任务的时序标识,按序将生成的测试任务发送至所述待测服务器,包括:
每隔设定时长,从所述目标测试任务队列中获取当前待推送任务,将所述当前待推送任务推送至所述待测服务器。
7.根据权利要求1所述的方法,所述在所述测试任务执行完毕的情况下,根据所述待测服务器反馈的执行日志,确定所述待测服务器的测试结果,包括:
获取所述待测服务器反馈的执行日志;
解析所述执行日志,获得所述待测服务器的测试结果报告。
8.根据权利要求7所述的方法,所述解析所述执行日志,获得所述待测服务器的测试结果报告,包括:
解析所述执行日志,获得所述待测服务器的初始测试结果;
根据所述初始测试结果,生成HTML格式的测试结果报告,并将所述测试结果报告进行可视化显示。
9.一种单节点服务器的测试控制装置,配置于客户端,包括:
序列获取模块:获取待测服务器的待测请求序列,其中,所述待测服务器为服务器集群中的任一服务器,所述待测请求序列包括至少两个待测请求,所述待测请求携带时序标识,所述待测请求包括所述待测服务器在所述服务器集群中执行线上任务的过程中生成的容器创建指令,所述时序标识根据线上容器创建的时间先后顺序得到;
任务生成模块:根据所述待测请求序列中待测请求的时序标识,生成对应的测试任务,其中,所述测试任务携带与所述待测请求对应的时序标识;
任务发送模块:根据所述测试任务的时序标识,按序将生成的测试任务发送至服务器,其中,所述按序将生成的测试任务发送至所述待测服务器包括:将当前待推送任务分配至对应的目标进程,以使所述目标进程以异步的方式将所述当前待推送任务推送至所述待测服务器;
测试结果确定模块:在所述测试任务执行完毕的情况下,根据所述服务器反馈的执行日志,确定所述待测服务器的测试结果。
10.一种服务器的测试系统,包括客户端和待测服务器:
所述客户端,被配置为执行权利要求1至8任一项所述方法的步骤;
所述待测服务器,被配置为接收并执行所述客户端发送的测试任务,生成执行日志;在各测试任务执行完毕的情况下,收集所述执行日志并反馈至所述客户端。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述方法的步骤。
12.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述方法的步骤。
CN202310362913.7A 2023-04-06 2023-04-06 单节点服务器的测试控制方法、装置及系统 Active CN116107913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310362913.7A CN116107913B (zh) 2023-04-06 2023-04-06 单节点服务器的测试控制方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310362913.7A CN116107913B (zh) 2023-04-06 2023-04-06 单节点服务器的测试控制方法、装置及系统

Publications (2)

Publication Number Publication Date
CN116107913A CN116107913A (zh) 2023-05-12
CN116107913B true CN116107913B (zh) 2023-11-14

Family

ID=86254675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310362913.7A Active CN116107913B (zh) 2023-04-06 2023-04-06 单节点服务器的测试控制方法、装置及系统

Country Status (1)

Country Link
CN (1) CN116107913B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116506340A (zh) * 2023-06-27 2023-07-28 云账户技术(天津)有限公司 流量链路的测试方法、装置、电子设备及存储介质

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978261A (zh) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
CN106897206A (zh) * 2015-12-18 2017-06-27 阿里巴巴集团控股有限公司 一种业务测试方法及装置
CN107071074A (zh) * 2017-06-30 2017-08-18 郑州云海信息技术有限公司 一种负载均衡方法及web服务器集群系统
CN107197475A (zh) * 2016-03-14 2017-09-22 重庆邮电大学 一种基于多线程的传感节点标识符解析测试方法及系统
CN107743138A (zh) * 2017-07-24 2018-02-27 上海壹账通金融科技有限公司 推送服务器分配方法、装置、计算机设备和存储介质
CN108650149A (zh) * 2018-04-24 2018-10-12 平安科技(深圳)有限公司 服务器的测试方法、装置、设备及计算机可读存储介质
CN109800137A (zh) * 2018-12-06 2019-05-24 珠海西山居互动娱乐科技有限公司 一种服务器性能测试方法和系统
CN110297766A (zh) * 2019-06-03 2019-10-01 合肥移瑞通信技术有限公司 基于分布式测试节点集群的软件测试方法及软件测试系统
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN110704177A (zh) * 2019-09-04 2020-01-17 金蝶软件(中国)有限公司 计算任务处理方法、装置、计算机设备和存储介质
CN111159009A (zh) * 2019-11-29 2020-05-15 深圳智链物联科技有限公司 一种日志服务系统的压力测试方法及装置
CN111324545A (zh) * 2020-03-13 2020-06-23 中国工商银行股份有限公司 应用服务器中间件性能测试方法、测试终端、应用服务器
CN111753291A (zh) * 2020-06-18 2020-10-09 支付宝(杭州)信息技术有限公司 一种应用容器的创建方法、装置及设备
CN111782551A (zh) * 2020-08-04 2020-10-16 腾讯科技(深圳)有限公司 针对区块链项目的测试方法、装置及计算机设备
CN112035309A (zh) * 2020-09-07 2020-12-04 深圳市亿道信息股份有限公司 智能终端功能的自动测试方法、服务器及自动测试系统
CN112256593A (zh) * 2020-12-18 2021-01-22 腾讯科技(深圳)有限公司 一种程序处理方法、装置、计算机设备和可读存储介质
WO2021147282A1 (zh) * 2020-01-20 2021-07-29 华为技术有限公司 恶意文件的检测方法、装置、设备及存储介质
CN113434384A (zh) * 2020-03-23 2021-09-24 北京京东振世信息技术有限公司 一种压力测试方法和装置
CN113485880A (zh) * 2021-07-12 2021-10-08 浙江网商银行股份有限公司 测试方法及装置
CN114286358A (zh) * 2020-09-27 2022-04-05 大唐移动通信设备有限公司 测试数据的处理方法、装置、系统及可读存储介质
CN114328210A (zh) * 2021-12-24 2022-04-12 中国联合网络通信集团有限公司 一种测试方法、装置及计算机可读存储介质
CN114356750A (zh) * 2021-12-10 2022-04-15 深圳市捷视飞通科技股份有限公司 测试方法、装置、计算机设备和存储介质
CN114745358A (zh) * 2022-03-23 2022-07-12 网宿科技股份有限公司 负载均衡服务中的ip地址管理方法、系统及控制器
CN115658471A (zh) * 2022-09-23 2023-01-31 天津车之家软件有限公司 一种测试任务调度方法、测试任务执行方法及测试系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030103310A1 (en) * 2001-12-03 2003-06-05 Shirriff Kenneth W. Apparatus and method for network-based testing of cluster user interface
JP5828348B2 (ja) * 2011-12-21 2015-12-02 富士通株式会社 試験サーバ、情報処理システム、試験プログラムおよび試験方法

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978261A (zh) * 2014-04-03 2015-10-14 腾讯科技(深圳)有限公司 应用程序的测试方法、装置及系统
CN106897206A (zh) * 2015-12-18 2017-06-27 阿里巴巴集团控股有限公司 一种业务测试方法及装置
CN107197475A (zh) * 2016-03-14 2017-09-22 重庆邮电大学 一种基于多线程的传感节点标识符解析测试方法及系统
CN107071074A (zh) * 2017-06-30 2017-08-18 郑州云海信息技术有限公司 一种负载均衡方法及web服务器集群系统
CN107743138A (zh) * 2017-07-24 2018-02-27 上海壹账通金融科技有限公司 推送服务器分配方法、装置、计算机设备和存储介质
CN108650149A (zh) * 2018-04-24 2018-10-12 平安科技(深圳)有限公司 服务器的测试方法、装置、设备及计算机可读存储介质
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN109800137A (zh) * 2018-12-06 2019-05-24 珠海西山居互动娱乐科技有限公司 一种服务器性能测试方法和系统
CN110297766A (zh) * 2019-06-03 2019-10-01 合肥移瑞通信技术有限公司 基于分布式测试节点集群的软件测试方法及软件测试系统
CN110704177A (zh) * 2019-09-04 2020-01-17 金蝶软件(中国)有限公司 计算任务处理方法、装置、计算机设备和存储介质
CN111159009A (zh) * 2019-11-29 2020-05-15 深圳智链物联科技有限公司 一种日志服务系统的压力测试方法及装置
WO2021147282A1 (zh) * 2020-01-20 2021-07-29 华为技术有限公司 恶意文件的检测方法、装置、设备及存储介质
CN111324545A (zh) * 2020-03-13 2020-06-23 中国工商银行股份有限公司 应用服务器中间件性能测试方法、测试终端、应用服务器
CN113434384A (zh) * 2020-03-23 2021-09-24 北京京东振世信息技术有限公司 一种压力测试方法和装置
CN111753291A (zh) * 2020-06-18 2020-10-09 支付宝(杭州)信息技术有限公司 一种应用容器的创建方法、装置及设备
CN111782551A (zh) * 2020-08-04 2020-10-16 腾讯科技(深圳)有限公司 针对区块链项目的测试方法、装置及计算机设备
CN112035309A (zh) * 2020-09-07 2020-12-04 深圳市亿道信息股份有限公司 智能终端功能的自动测试方法、服务器及自动测试系统
CN114286358A (zh) * 2020-09-27 2022-04-05 大唐移动通信设备有限公司 测试数据的处理方法、装置、系统及可读存储介质
CN112256593A (zh) * 2020-12-18 2021-01-22 腾讯科技(深圳)有限公司 一种程序处理方法、装置、计算机设备和可读存储介质
CN113485880A (zh) * 2021-07-12 2021-10-08 浙江网商银行股份有限公司 测试方法及装置
CN114356750A (zh) * 2021-12-10 2022-04-15 深圳市捷视飞通科技股份有限公司 测试方法、装置、计算机设备和存储介质
CN114328210A (zh) * 2021-12-24 2022-04-12 中国联合网络通信集团有限公司 一种测试方法、装置及计算机可读存储介质
CN114745358A (zh) * 2022-03-23 2022-07-12 网宿科技股份有限公司 负载均衡服务中的ip地址管理方法、系统及控制器
CN115658471A (zh) * 2022-09-23 2023-01-31 天津车之家软件有限公司 一种测试任务调度方法、测试任务执行方法及测试系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Scheduling unrelated parallel machines with a common server and sequence dependent setup times;Houda RABOUDI等;《IFAC-PapersOnLine》;第55卷(第10期);2179-2184 *
基于容器的分布式融合通信服务器的设计与实现;翟雅荣;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2019年卷(第1期);I139-107 *
密钥管理服务器的优化设计与实现;石磊;《中国优秀硕士学位论文全文数据库 信息科技辑》;第2019年卷(第5期);I136-196 *

Also Published As

Publication number Publication date
CN116107913A (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN110321273B (zh) 一种业务统计方法及装置
CN105450476B (zh) 一种回归测试系统及测试方法
US10339039B2 (en) Virtual service interface
WO2017114152A1 (zh) 一种业务拨测方法、装置以及系统
CN113485880A (zh) 测试方法及装置
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN110908708B (zh) 一种代码发布方法、装置和系统
CN112835792B (zh) 一种压力测试系统及方法
CN110784374A (zh) 业务系统运行状态的监控方法、装置、设备和系统
CN107168844B (zh) 一种性能监控的方法及装置
CN116107913B (zh) 单节点服务器的测试控制方法、装置及系统
CN111897877B (zh) 基于分布式思想的高性能高可靠数据共享系统及方法
CN109857643A (zh) 一种虚拟化平台性能自动测试的方法及装置
CN116302989A (zh) 压力测试方法及系统、存储介质、计算机设备
CN109087107B (zh) 基于分布式内存数据库的实时监控方法、系统及电子设备
CN113157790B (zh) 一种核聚变曲线编辑方法、系统、终端及介质
CN104539449B (zh) 一种故障信息处理方法与相关装置
CN116149915A (zh) 压力测试方法及工具
CN112579833B (zh) 基于用户操作数据的业务关联关系获取方法及装置
CN116523244A (zh) 一种基于外包资源的测试人力风险预警方法
CN113918636A (zh) 一种基于etl的数据处理量分析方法
CN113238919A (zh) 一种用户访问数的统计方法、装置及系统
CN113806331A (zh) 数据处理方法及装置
CN112631914A (zh) 一种数据测试方法及装置
CN113031960B (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