CN114510430A - 压测计划的分配方法、装置、服务器及计算机存储介质 - Google Patents

压测计划的分配方法、装置、服务器及计算机存储介质 Download PDF

Info

Publication number
CN114510430A
CN114510430A CN202210407319.0A CN202210407319A CN114510430A CN 114510430 A CN114510430 A CN 114510430A CN 202210407319 A CN202210407319 A CN 202210407319A CN 114510430 A CN114510430 A CN 114510430A
Authority
CN
China
Prior art keywords
configuration
user
list
pressure measurement
plan
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
CN202210407319.0A
Other languages
English (en)
Other versions
CN114510430B (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.)
Beijing Bodian Zhihe Technology Co ltd
Original Assignee
Beijing Jiaodian Xinganxian Information Technology Co 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 Beijing Jiaodian Xinganxian Information Technology Co ltd filed Critical Beijing Jiaodian Xinganxian Information Technology Co ltd
Priority to CN202210407319.0A priority Critical patent/CN114510430B/zh
Publication of CN114510430A publication Critical patent/CN114510430A/zh
Application granted granted Critical
Publication of CN114510430B publication Critical patent/CN114510430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

本申请提供一种压测计划的分配方法、装置、服务器及计算机存储介质,该方法包括:获取用户编写的自定义压测计划列表;其中,自定义压测计划列表包括至少一个自定义压测计划配置;自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;分配配置包括系统类型、请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;针对自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;将执行自定义压测计划配置发送至目标服务器。从而达到精准的对压测计划的分配的目的。

Description

压测计划的分配方法、装置、服务器及计算机存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种压测计划的分配方法、装置、服务器及计算机存储介质。
背景技术
在现有技术中,在一次压测的过程中,需要指定某台服务器执行特定的请求序列集合。但是,现有技术对请求序列集合的划分往往粒度过小,最终大多以单个请求为最小单位进行划分。如果请求间存在依赖关系,那么不同的服务器间协调这些具有依赖关系的请求的上下文是比较复杂的,也容易在运行中出现错误。
发明内容
有鉴于此,本申请提供一种压测计划的分配方法、装置、服务器及计算机存储介质,用于精准的对压测计划的分配。
本申请第一方面提供了一种压测计划的分配方法,包括:
获取用户编写的自定义压测计划列表;其中,所述自定义压测计划列表包括至少一个自定义压测计划配置;所述自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;所述服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;所述分配配置列表包括至少一个分配配置;所述分配配置包括系统类型、用户分片和请求序列配置列表;所述用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;所述用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;
针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;
将所述执行自定义压测计划配置发送至所述目标服务器。
可选的,所述针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器,包括:
获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合;
针对所述自定义压测计划列表中的每一个自定义压测计划配置,在所述ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行所述自定义压测计划配置的目标服务器。
可选的,所述压测计划的分配方法,还包括:
针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定所述ip地址所分到的用户区间。
可选的,所述压测计划的分配方法,还包括:
将用户数据按照预设格式保存至远程字典服务中;其中,所述预设格式由表示用户数据的字符串命名、分隔符、ip地址、分隔符、本次使用的隔离单元下标列表中的一个下标、分隔符、系统类型、分隔符以及分配配置列表中的一个下标构成。
可选的,所述获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合之前,还包括:
判断所述自定义压测计划列表中的执行本次压力测试的机器数量总数是否超过了当前压测系统集群中的当前空闲服务器总数;
若判断出自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则终止后续执行;
若判断出自定义压测计划列表中的执行本次压力测试的机器数量未总数超过了当前压测系统集群中的当前空闲服务器总数,则执行获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合步骤。
本申请第二方面提供了一种压测计划的分配装置,包括:
第一获取单元,获取用户编写的自定义压测计划列表;其中,所述自定义压测计划列表包括至少一个自定义压测计划配置;所述自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;所述服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;所述分配配置列表包括至少一个分配配置;所述分配配置包括系统类型、用户分片和请求序列配置列表;所述用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;所述用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;
确定单元,用于针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;
发送单元,用于将所述执行自定义压测计划配置发送至所述目标服务器。
可选的,所述确定单元,包括:
第二获取单元,用于获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合;
第一确定子单元,用于针对所述自定义压测计划列表中的每一个自定义压测计划配置,在所述ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行所述自定义压测计划配置的目标服务器。
可选的,所述压测计划的分配装置,还包括:
第二确定子单元,用于针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定所述ip地址所分到的用户区间。
可选的,所述压测计划的分配装置,还包括:
保存单元,用于将用户数据按照预设格式保存至远程字典服务中;其中,所述预设格式由表示用户数据的字符串命名、分隔符、ip地址、分隔符、本次使用的隔离单元下标列表中的一个下标、分隔符、系统类型、分隔符以及分配配置列表中的一个下标构成。
可选的,所述压测计划的分配装置,还包括:
判断单元,用于判断所述自定义压测计划列表中的执行本次压力测试的机器数量总数是否超过了当前压测系统集群中的当前空闲服务器总数;
终止单元,用于若所述判断单元判断出,自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则终止后续执行;
激活单元,用于若所述判断单元判断出,自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则激活所述第二获取单元执行获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合步骤。
本申请第三方面提供了一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面任意一项所述的压测计划的分配方法。
本申请第四方面提供了一种计算机存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如压测计划的分配方法。
由以上方案可知,本申请提供一种压测计划的分配方法、装置、服务器及计算机存储介质,所述压测计划的分配方法包括:获取用户编写的自定义压测计划列表;其中,所述自定义压测计划列表包括至少一个自定义压测计划配置;所述自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;所述服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;所述分配配置列表包括至少一个分配配置;所述分配配置包括系统类型、用户分片和请求序列配置列表;所述用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;所述用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;然后,针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;最终,将所述执行自定义压测计划配置发送至所述目标服务器。从而达到精准的对压测计划的分配的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种压测计划的分配方法的具体流程图;
图2为本申请另一实施例提供的一种压测计划的分配方法的流程图;
图3为本申请另一实施例提供的一种压测计划的分配装置的示意图;
图4为本申请另一实施例提供的一种确定单元的示意图;
图5为本申请另一实施例提供的一种实现压测计划的分配方法的服务器的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请实施例提供了一种压测计划的分配方法,如图1所示,具体包括以下步骤:
S101、获取用户编写的自定义压测计划列表。
其中,自定义压测计划列表包括至少一个自定义压测计划配置;自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;分配配置列表包括至少一个分配配置;分配配置包括系统类型、用户分片和请求序列配置列表;用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标。
需要说明的是,压测是指压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。
隔离单元是某个开盘活动,在这类开盘活动中进行的开盘都是用于压力测试的,其中的数据信息已进行了脱敏处理。在此次开盘活动中产生的请求不会影响到真实用户,也不会影响到其他正在进行开盘的开盘活动。开盘活动是指开发商或者管理员在后台中可以在在线选房系统中创建一个开盘活动,该开盘活动中会录入用户信息、房源信息、合同信息等数据。被录入的用户可以在指定时间后(即开盘后)对录入的房源进行抢房操作。在线选房系统是实际业务的系统,该提供为用户提供抢房、收藏、签署合同、查看房源等功能。
需要说明的是,基于隔离单元的压测模式是只使用隔离单元中用户数据和房源数据作为压测请求序列中参数来源的压测模式。请求序列配置是一种配置格式,对其进行解析可以得到对应的请求序列。请求序列是指若干以发送时间进行排序的请求组成的列表。
并且,由于选房系统本身面向企业的特点,不同企业可能具有特定的私有化需求,继而衍生出满足私有化需求的特定选房系统的版本。系统类型就是为了标记这种情况的,例如:A公司的私有化选房系统我们用2来标识,其余公司使用的通用版本我们则用1进行标识。
本次使用的隔离单元下标列表:不同的系统类型对应的隔离单元的数目首先是不同的。例如:A公司的私有化系统要求的压测指标更高一些,其需要的隔离单元的数目就更多。把这些项目依次从0开始进行编号,最终就得到了一个与隔离单元一一对应的下标列表。例如:A公司的私有化系统具有3个隔离单元,那么它们的编号就是[0, 1,2]。假如本次压测要使用其中下标为0和2的隔离单元,那么该字段就为[0,2]。
服务器可以直接通过分配配置中的系统类型了解自己需要处理的是哪一个具体的系统。
用户分片和请求序列配置列表(userRequestConfList)中的元素数量等于上述“本次使用的隔离单元下标列表”中的元素数量。为了阐述方便,将”用户分片和请求序列配置列表”称为MList,“本次使用的隔离单元下标列表”称为PList。那么MList[i]对应的配置,就是PList[i]中下标对应的隔离单元在此次压测中使用到的一个配置。(0<=i<MList中的元素总数)。
用户分片和请求体序列配置是指“隔离单元-用户区间-请求序列配置”三元组(P,U,S)。U是下述“用户起始下标”至“用户终止下标”中包含的全部用户,S为下述请求序列配置,而P对应的就是“用户分片和请求序列配置”所在上述“用户分片和请求序列配置列表”中下标对应“本次使用的隔离单元下标列表”列表中相同下标对应的值对应的隔离单元。
请求序列配置(requestConf)中的全部用户都要执行符合该请求序列配置的请求序列,具体的参数因用户而异。例如:请求配置要求先执行1次登录请求,再执行2次查看房源请求,再执行1次抢房请求。下述所有用户都要执行相同的请求序列,但是A用户可以抢房源1,B用户可以抢房源2,这种请求的具体参数可以是不同的。请求序列配置中可以包含循环、分支结构,数据校验点,请求发送间隔等内容。服务器需要通过解析该配置生成真正要发送的请求序列。配置和解析的具体实现可以根据不同的业务需求进行特异化处理。
用户起始下标(userStartIdx):隔离单元中的全部用户根据用户id进行排序后得到一个列表,假设该隔离单元中用户总数为N。那么用户起始下标的范围为[0,N-1]。
用户终止下标(userEndIdx):其值需要大于等于用户起始下标,且不超过N-1。那么区间[用户起始下标,用户终止下标]中的所有用户就是该配置中所使用的用户。请求序列配置中的用户相关信息都从该区间中的用户数据中获取;请求发送起始时间(startTime):上述区间中的所有用户请求的起始发送时间的时间戳;房源起始下标(roomStartIdx):隔离单元中的全部房源根据房源id进行排序后得到一个列表,假设该隔离单元中房源总数为M。那么房源起始下标的范围为[0,M-1];房源终止下标(roomEndIdx):其值需要大于等于房源起始下标,且不超过M-1。那么区间[房源起始下标,房源终止下标]中的所有房源就是该配置中所使用的房源。请求序列配置中的房源相关信息都从该区间中的房源数据中获取。
需要说明的是,使用者填写自定义压测计划列表可直接使用满足上述格式的文件进行提交,也可以通过压测系统的可视化页面进行填写,此处不做限定。
S102、针对自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器。
其中,定义用户所提交的“自定义压测计划列表”为PlanList,该列表中一共包含N个“自定义压测计划”,第i个自定义压测计划使用PlanList[i]进行表示。
可选的,在本申请的另一实施例中,步骤S102的一种实施方式,如图2所示,包括:
S201、获取当前压测系统中等于自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合。
S202、针对自定义压测计划列表中的每一个自定义压测计划配置,在ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行自定义压测计划配置的目标服务器。
具体的,对于每一个PlanList[i],它的“服务器执行配置”中的“机器数量”用PlanList[i].execConf.serverCount表示。从ip地址集合中选择PlanList[i].execConf.serverCount个ip地址作为执行PlanList[i]的服务器。
可选的,在本申请的另一实施例中,压测计划的分配方法的一种实施方式,还包括:
针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定ip地址所分到的用户区间。
具体的,令PlanList[i].projectList表示PlanList[i]下的“本次使用的隔离单元列表”。如果其中共有M个元素,那么PlanList[i].projectList[j]就代表PlanList[i]下使用的第j个隔离单元。令PlanList[i].execConf.arrangeList[k].userRequestConfList[j]表示PlanList[i]下“服务器执行配置”中“分配配置列表”中第k项“分配配置”中的“用户分片和请求体序列配置列表”第j项的“用户分片和请求体序列配置”。根据上文所述,PlanList[i].execConf.arrangeList[k].userRequestConfList的元素总数等于PlanList[i].projectList的元素总数是一一对应的。所以PlanList[i].execConf.arrangeList[k].userRequestConfList[j]就对应于PlanList[i].projectList[j]所表示的隔离单元中应该进行的请求分配。用[lu,ru]表示PlanList[i].execConf.arrangeList[k].userRequestConfList[j]对应的用户区间,那么对于分配给PlanList[i]的若干ip。假设这些ip分别用ip_1,ip_2,...,ip_serverCount表示。那么每个ip所分到的用户区间大小为interval=(ru-lu+1)/PlanList[i].execConf.serverCount。那么ip_h(1<=h<=PlanList[i].execConf.serverCount)分到的区间范围为[lu+(h-1)*interval,lu+h*interval)。如果余数mod=(ru-lu+1)%PlanList[i].execConf.serverCount,不为0。那么,ip_1到ip_mod的所有服务器会额外被分配到1名用户。假设PlanList[i].execConf.arrangeList即分配配置列表中有G个,那么对于PlanList[i].execConf.arrangeList[k],1<=k<=G,都会执行上述分配操作,假设隔离单元总数为D个。那么每个ip要处理的用户区间总数为D*G个。多台机器意味着多个ip,这只会影响区间的大小,而不会影响区间的总数。
可选的,在本申请的另一实施例中,压测计划的分配方法的一种实施方式,还包括:
将用户数据按照预设格式保存至远程字典服务中。
其中,预设格式由表示用户数据的字符串命名、分隔符、ip地址、分隔符、本次使用的隔离单元下标列表中的一个下标、分隔符、系统类型、分隔符以及分配配置列表中的一个下标构成。远程字典服务(Remote Dictionary Server,Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
具体的,预设格式可以如下所示:
表示用户数据的字符串命名+分隔符+ip+分隔符+本次使用的隔离单元下标列表中的某个下标+分隔符+系统类型+分隔符+分配配置列表中的某个下标。房源信息也通过相似的方式进行redis存储,这里不再赘述。
需要说明的是,本申请在将各台机器所需的数据分发的过程中使用的是redis作为中介,也可直接通过网络把数据直接发送到各个服务器上去。此处不做限定。各个服务器之间的通知方式可以通过广播的方式,广播则可以通过kafka异步通知的方式或者发送同步请求的方式等。
S103、将执行自定义压测计划配置发送至目标服务器。
续接上述实施例,将PlanList[i].execConf.arrangeList分配配置列表以及PlanList[i].projectList发送到上述不同ip对应的服务器上去。
可选的,在本申请的另一实施例中,在步骤S201之前,还包括:
判断自定义压测计划列表中的执行本次压力测试的机器数量总数是否超过了当前压测系统集群中的当前空闲服务器总数;
具体的,若判断出自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则终止后续执行;若判断出自定义压测计划列表中的执行本次压力测试的机器数量总数未超过了当前压测系统集群中的当前空闲服务器总数,则执行获取当前压测系统中等于自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合步骤。
由以上方案可知,本申请提供一种压测计划的分配方法:获取用户编写的自定义压测计划列表;其中,自定义压测计划列表包括至少一个自定义压测计划配置;自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;分配配置列表包括至少一个分配配置;分配配置包括系统类型、用户分片和请求序列配置列表;用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;然后,针对自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;最终,将执行自定义压测计划配置发送至目标服务器。从而达到精准的对压测计划的分配的目的。
在本申请的另一实施例中,压测计划的分配装置的一种实施方式,如图3所示,包括:
第一获取单元301,获取用户编写的自定义压测计划列表。
其中,自定义压测计划列表包括至少一个自定义压测计划配置;自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;分配配置列表包括至少一个分配配置;分配配置包括系统类型、用户分片和请求序列配置列表;用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标。
确定单元302,用于针对自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器。
发送单元303,用于将执行自定义压测计划配置发送至目标服务器。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图1所示,此处不再赘述。
可选的,在本申请的另一实施例中,确定单元302的一种实施方式,如图4所示,包括:
第二获取单元401,用于获取当前压测系统中等于自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合。
第一确定子单元402,用于针对自定义压测计划列表中的每一个自定义压测计划配置,在ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行自定义压测计划配置的目标服务器。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,如图2所示,此处不再赘述。
可选的,在本申请的另一实施例中,压测计划的分配装置的一种实施方式,还包括:
第二确定子单元,用于针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定ip地址所分到的用户区间。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,压测计划的分配装置的一种实施方式,还包括:
保存单元,用于将用户数据按照预设格式保存至远程字典服务中。
其中,预设格式由表示用户数据的字符串命名、分隔符、ip地址、分隔符、本次使用的隔离单元下标列表中的一个下标、分隔符、系统类型、分隔符以及分配配置列表中的一个下标构成。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,压测计划的分配装置的一种实施方式,还包括:
判断单元,用于判断自定义压测计划列表中的执行本次压力测试的机器数量总数是否超过了当前压测系统集群中的当前空闲服务器总数。
终止单元,用于若判断单元判断出,自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则终止后续执行。
激活单元,用于若判断单元判断出,自定义压测计划列表中的执行本次压力测试的机器数量总数未超过当前压测系统集群中的当前空闲服务器总数,则激活第二获取单元执行获取当前压测系统中等于自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合步骤。
本申请上述实施例公开的单元的具体工作过程,可参见对应的方法实施例内容,此处不再赘述。
由以上方案可知,本申请提供一种压测计划的分配装置:第一获取单元301获取用户编写的自定义压测计划列表;其中,自定义压测计划列表包括至少一个自定义压测计划配置;自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;分配配置列表包括至少一个分配配置;分配配置包括系统类型、用户分片和请求序列配置列表;用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;然后,确定单元302针对自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;最终,发送单元303将执行自定义压测计划配置发送至目标服务器。从而达到精准的对压测计划的分配的目的。
本申请另一实施例提供了一种服务器,如图5所示,包括:
一个或多个处理器501。
存储装置502,其上存储有一个或多个程序。
当所述一个或多个程序被所述一个或多个处理器501执行时,使得所述一个或多个处理器501实现如上述实施例中任意一项所述的压测计划的分配方法。
本申请另一实施例提供了一种计算机存储介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项所述的压测计划的分配方法。
在本申请公开的上述实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种压测计划的分配方法,其特征在于,包括:
获取用户编写的自定义压测计划列表;其中,所述自定义压测计划列表包括至少一个自定义压测计划配置;所述自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;所述服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;所述分配配置列表包括至少一个分配配置;所述分配配置包括系统类型、用户分片和请求序列配置列表;所述用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;所述用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;
针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;
将所述执行自定义压测计划配置发送至所述目标服务器。
2.根据权利要求1所述的分配方法,其特征在于,所述针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器,包括:
获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合;
针对所述自定义压测计划列表中的每一个自定义压测计划配置,在所述ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行所述自定义压测计划配置的目标服务器。
3.根据权利要求2所述的分配方法,其特征在于,还包括:
针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定所述ip地址所分到的用户区间。
4.根据权利要求3所述的分配方法,其特征在于,还包括:
将用户数据按照预设格式保存至远程字典服务中;其中,所述预设格式由表示用户数据的字符串命名、分隔符、ip地址、分隔符、本次使用的隔离单元下标列表中的一个下标、分隔符、系统类型、分隔符以及分配配置列表中的一个下标构成。
5.根据权利要求2所述的分配方法,其特征在于,所述获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合之前,还包括:
判断所述自定义压测计划列表中的执行本次压力测试的机器数量总数是否超过了当前压测系统集群中的当前空闲服务器总数;
若判断出自定义压测计划列表中的执行本次压力测试的机器数量总数超过了当前压测系统集群中的当前空闲服务器总数,则终止后续执行;
若判断出自定义压测计划列表中的执行本次压力测试的机器数量总数未超过了当前压测系统集群中的当前空闲服务器总数,则执行获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合步骤。
6.一种压测计划的分配装置,其特征在于,包括:
第一获取单元,获取用户编写的自定义压测计划列表;其中,所述自定义压测计划列表包括至少一个自定义压测计划配置;所述自定义压测计划配置包括:系统类型、本次使用的隔离单元下标列表和服务器执行配置;所述服务器执行配置包括:执行本次压力测试的机器数量和分配配置列表;所述分配配置列表包括至少一个分配配置;所述分配配置包括系统类型、用户分片和请求序列配置列表;所述用户分片和请求序列配置列表包括至少一个用户分片和请求序列配置;所述用户分片和请求序列配置包括:请求序列配置、用户起始下标、用户终止下标、请求发送起始时间、房源起始下标和房源终止下标;
确定单元,用于针对所述自定义压测计划列表中的每一个自定义压测计划配置,确定执行自定义压测计划配置的目标服务器;
发送单元,用于将所述执行自定义压测计划配置发送至所述目标服务器。
7.根据权利要求6所述的分配装置,其特征在于,所述确定单元,包括:
第二获取单元,用于获取当前压测系统中等于所述自定义压测计划列表中的执行本次压力测试的机器数量总数的空闲服务器的ip地址,并生成ip地址集合;
第一确定子单元,用于针对所述自定义压测计划列表中的每一个自定义压测计划配置,在所述ip地址集合中,选择自定义压测计划配置中执行本次压力测试的机器数量个ip地址,作为执行所述自定义压测计划配置的目标服务器。
8.根据权利要求7所述的分配装置,其特征在于,还包括:
第二确定子单元,用于针对每一个ip地址,确定服务器执行配置中的分配配置列表中的分配配置中的用户分片和请求序列配置列表,确定所述ip地址所分到的用户区间。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至5中任一所述的压测计划的分配方法。
10.一种计算机存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5中任一所述的压测计划的分配方法。
CN202210407319.0A 2022-04-19 2022-04-19 压测计划的分配方法、装置、服务器及计算机存储介质 Active CN114510430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210407319.0A CN114510430B (zh) 2022-04-19 2022-04-19 压测计划的分配方法、装置、服务器及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210407319.0A CN114510430B (zh) 2022-04-19 2022-04-19 压测计划的分配方法、装置、服务器及计算机存储介质

Publications (2)

Publication Number Publication Date
CN114510430A true CN114510430A (zh) 2022-05-17
CN114510430B CN114510430B (zh) 2022-07-12

Family

ID=81554957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210407319.0A Active CN114510430B (zh) 2022-04-19 2022-04-19 压测计划的分配方法、装置、服务器及计算机存储介质

Country Status (1)

Country Link
CN (1) CN114510430B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110034972A (zh) * 2019-03-22 2019-07-19 深圳市腾讯信息技术有限公司 服务器压力测试方法和装置
CN111752789A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 压力测试方法、计算机设备及计算机可读存储介质
US20200409543A1 (en) * 2019-06-28 2020-12-31 Microsoft Technology Licensing, Llc Application custom property framework

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110034972A (zh) * 2019-03-22 2019-07-19 深圳市腾讯信息技术有限公司 服务器压力测试方法和装置
CN111752789A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 压力测试方法、计算机设备及计算机可读存储介质
US20200409543A1 (en) * 2019-06-28 2020-12-31 Microsoft Technology Licensing, Llc Application custom property framework

Also Published As

Publication number Publication date
CN114510430B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN107656874B (zh) 一种接口测试方法、装置、模拟挡板及系统
CA2988434C (en) Automatic recharging system, method and server
CN109063077B (zh) 一种基于弹性搜索的数据访问方法及装置
CN112367345A (zh) 数据处理方法、服务端设备及计算机可读存储介质
US10282120B2 (en) Method, apparatus and system for inserting disk
CN109981569B (zh) 网络系统访问方法、装置、计算机设备及可读存储介质
CN110958127B (zh) 一种异常处理方法、装置、设备和计算机存储介质
CN114996288A (zh) 数据比对方法及装置、计算机存储介质、电子设备
CN105072608B (zh) 一种管理认证令牌的方法及装置
CN108399046B (zh) 文件操作请求处理方法和装置
US20210357201A1 (en) Upgrades based on analytics from multiple sources
CN114510430B (zh) 压测计划的分配方法、装置、服务器及计算机存储介质
CN106656592B (zh) 基于角色配置的服务管理方法和装置
CN114461305B (zh) 一种数据源确定方法和装置
CN115329005A (zh) 多集群的协同方法、系统、装置及计算机可读存储介质
CN112181485A (zh) 脚本执行方法、装置、电子设备及存储介质
CN112308660A (zh) 数据处理方法、装置及系统
CN112214497A (zh) 一种标签的处理方法、装置及计算机系统
CN111625866A (zh) 一种权限管理方法、系统、设备及存储介质
CN115309612B (zh) 一种监控数据的方法和装置
CN114281849B (zh) 数据查询方法和装置
US11561979B2 (en) Dynamically detecting and correcting errors in queries
CN117176613B (zh) 一种数据采集方法和装置
CN114385622A (zh) 数据处理方法、装置、电子设备及存储介质
CN114741371A (zh) 一种基于SQL Server数据库的迁移方法、装置、电子设备及存储介质

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231116

Address after: 100190 901-1, Floor 9, Building 3, No. 2 Academy South Road, Haidian District, Beijing

Patentee after: Beijing Bodian Zhihe Technology Co.,Ltd.

Address before: 100190 1001-3, 10th floor, building 3, No.2 Academy of Sciences South Road, Haidian District, Beijing

Patentee before: BEIJING JIAODIAN XINGANXIAN INFORMATION TECHNOLOGY CO.,LTD.