CN111522668A - 用于资源配置的方法和装置及计算机可读存储介质 - Google Patents
用于资源配置的方法和装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111522668A CN111522668A CN202010355917.9A CN202010355917A CN111522668A CN 111522668 A CN111522668 A CN 111522668A CN 202010355917 A CN202010355917 A CN 202010355917A CN 111522668 A CN111522668 A CN 111522668A
- Authority
- CN
- China
- Prior art keywords
- test
- server
- resource configuration
- resource
- peak value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 title claims abstract description 23
- 238000012360 testing method Methods 0.000 claims abstract description 156
- 238000004519 manufacturing process Methods 0.000 claims abstract description 56
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 9
- 238000013468 resource allocation Methods 0.000 abstract description 9
- 238000013522 software testing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000009662 stress testing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及软件测试技术领域,公开一种用于资源配置的方法。该方法包括:获取测试服务器上的应用程序的并发用户数峰值;根据并发用户数峰值生成测试线程组;根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;以及根据资源使用数据对生产服务器进行资源配置。本申请通过对测试服务器的测试过程进行监控,能够准确地确定测试服务器上的应用程序的资源使用数据,并根据资源使用数据得到生产服务器的资源配置的最优方案。本申请还公开一种用于资源配置的装置及计算机可读存储介质。
Description
技术领域
本申请涉及软件测试技术领域,例如涉及一种用于资源配置的方法和装置及计算机可读存储介质。
背景技术
在工业化软件生产过程中,需要将开发完成的应用程序部署在由服务器构成的应用环境上。由于不同的应用程序所占用的服务器的资源不同,例如,需要进行大量数据处理的应用程序需要足够的中央处理器(Central Processing Unit,CPU)资源、需要进行大量存储的应用程序需要足够的内存资源、既需要进行大量数据处理又需要进行大量存储的应用程序需要足够的CPU资源和内存资源,因此,存在难以选择服务器及进行具体的应用环境的资源配置或资源调度的问题。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:应用程序对服务器的资源配置的需求无法准确地确定,导致在进行应用环境的资源配置时的整体误差大,并进一步导致用户体验差。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种用于资源配置的方法和装置及计算机可读存储介质,以解决应用程序对资源配置的需求无法准确地确定,导致在进行应用环境的资源配置时的整体误差大,并进一步导致用户体验差的技术问题。
在一些实施例中,用于资源配置的方法,包括:获取测试服务器上的应用程序的并发用户数峰值;根据并发用户数峰值生成测试线程组;根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;以及根据资源使用数据对生产服务器进行资源配置。
在一些实施例中,用于资源配置的装置,包括:获取模块,被配置为获取测试服务器上的应用程序的并发用户数峰值;生成模块,被配置为根据并发用户数峰值生成测试线程组;监控模块,被配置为根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;以及配置模块,被配置为根据资源使用数据对生产服务器进行资源配置。
在一些实施例中,用于资源配置的装置,包括处理器和存储有程序指令的存储器,其中,处理器被配置为在执行程序指令时,执行如上所述的用于资源配置的方法。
在一些实施例中,计算机可读存储介质存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时实现如上所述的用于资源配置的方法。
本公开实施例提供的用于资源配置的方法和装置及计算机可读存储介质,可以实现以下技术效果:
通过获取测试服务器上的应用程序的并发用户数峰值,根据并发用户数峰值生成测试线程组,根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据,并根据资源使用数据对生产服务器进行资源配置,能够准确地确定应用程序对服务器的资源配置的需求,因此,减小了在进行应用环境的资源配置时的整体误差,并进一步提升了用户体验。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:
图1是本公开实施例提供的用于资源配置的方法的流程示意图;
图2是本公开实施例提供的用于资源配置的方法的流程示意图;
图3是本公开实施例提供的用于资源配置的装置的结构示意图;
图4是本公开实施例提供的用于资源配置的装置的结构示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个或两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
图1是本公开实施例提供的用于资源配置的方法的流程示意图。如图1所示,该用于资源配置的方法,包括:
S110,获取测试服务器上的应用程序的并发用户数峰值;
S120,根据并发用户数峰值生成测试线程组;
S130,根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;以及
S140,根据资源使用数据对生产服务器进行资源配置。
具体地,获取在测试服务器上运行的应用程序的并发用户数峰值,并根据获取到的并发用户数峰值生成测试线程组,以对测试服务器进行压力测试;进一步地,对测试服务器的测试过程进行监控,以获取测试服务器的资源使用数据,并根据获取到的资源使用数据对生产服务器进行资源配置。
这里,并发用户是指同时执行一个操作或同时执行脚本的用户。并发用户数是指在同一时刻与服务器进行交互的在线用户数量,这种交互既可以是单向的传输数据,也可以是双向的传送数据。并发用户数峰值是指并发用户数达到最高时的值,即并发用户数的极限值。应理解,如果大量用户在同一时刻访问同一应用程序,则表明该应用程序所在的服务器在此刻承受的压力(即用户访问量)最大,因此,只要该服务器的资源配置能够应对并发用户数峰值时的工作压力,就可以认为该资源配置是可靠的;也就是说,并发用户数峰值可以为后续的资源配置过程提供有力的数据支撑。
线程组(ThreadGroup)是由线程组成的管理线程的类,其可以批量管理线程或线程组对象。在本公开实施例中,线程组也称用户组,是进行性能测试时的用户资源池;测试线程组也称压力测试线程组,用于对软件能够承受的用户访问量进行测试。
测试服务器是用于完成测试过程的服务器,其不参与实际的生产过程,而是用于通过测试结果表征并发用户数峰值时对于应用环境的资源配置的工作压力。生产服务器是实际的应用环境中的服务器,在进行资源配置之前,生产服务器可以被理解为需要选择的服务器或需要完成的资源配置。
资源使用数据用于表征测试服务器在完成测试线程组的工作任务时各软件和/或硬件资源的工作状态。在本公开实施例中,资源使用数据可以包括测试服务器的CPU的核数、测试服务器的CPU的平均使用率、测试服务器的内存和测试服务器的内存的使用率。应理解,资源使用数据中的软件和/或硬件资源的具体种类、组合和数量可以根据应用环境的实际需求进行调整,本公开实施例对此不作限制。
根据本公开实施例提供的技术方案,通过获取测试服务器上的应用程序的并发用户数峰值,根据并发用户数峰值生成测试线程组,根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据,并根据资源使用数据对生产服务器进行资源配置,能够准确地确定应用程序对服务器的资源配置的需求,因此,减小了在进行应用环境的资源配置时的整体误差,并进一步提升了用户体验。
在一些实施例中,根据并发用户数峰值生成测试线程组,包括:构建与并发用户数峰值对应的线程组,并将该线程组作为测试线程组。
具体地,在获取到并发用户数峰值之后,通过将该并发用户数峰值输入测试工具可以生成与并发用户数峰值对应的线程组,该线程组可以作为用于对测试服务器进行压力测试的测试线程组。这里,测试工具可以包括JMeter。
JMeter是基于Java的压力测试工具,用于对软件做压力测试。JMeter可以用于测试静态和动态资源,例如静态文件、Java小服务程序、CGI脚本、Java对象、数据库、FTP服务器等。JMeter可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。
举例来说,假设获取到的一应用程序的并发用户数峰值为1500,则表明该应用程序的并发量为1500,那么可以通过JMeter构建一个线程数为1500的测试线程组来获取应用程序的访问量,从而对测试服务器进行压力测试。
应理解,测试工具不限于如上所述的JMeter,例如,还可以包括Loadrunner、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator等,本公开实施例对此不作限制。
根据本公开实施例提供的技术方案,通过使用测试工具对应用程序所在的测试服务器进行压力测试,能够准确地得到测试服务器的资源使用数据。
在一些实施例中,根据资源使用数据对生产服务器进行资源配置,包括:根据资源使用数据确定生产服务器的资源配置数据;以及根据资源配置数据对生产服务器进行资源配置。
具体地,在通过对测试服务器的测试过程进行监控得到测试服务器的资源使用数据之后,可以根据该资源使用数据确定生产服务器的资源配置数据;进一步地,根据生产服务器的资源配置数据对生产服务器的进行资源配置。
这里,资源配置数据用于表征实际生产过程中采用的生产服务器的各软件和/或硬件资源能够达到最佳工作状态的性能配置。在本公开实施例中,资源配置数据可以包括生产服务器的CPU的核数。应理解,资源配置数据中的软件和/或硬件资源的具体种类、组合和数量可以根据应用环境的实际需求进行调整,本公开实施例对此不作限制。
进一步地,资源配置数据中的软件和/或硬件资源的性能对应的配置数据为资源使用数据中的对应的软件和/或硬件资源的性能对应的配置数据的二倍。举例来说,假设通常情况下一个应用程序所需的资源为其峰值的200%,那么当该应用程序的访问量达到并发用户数峰值时,服务器的CPU受到的影响最大。通过对服务器进行多次压力测试,可以获得CPU的平均使用率,该平均使用率为该应用程序所需的CPU资源。由于生产环境下各个服务器的CPU的单线处理能力的差距并不明显,因此,主要的性能差距在于CPU的核数。对于常见的双核CPU和四核CPU而言,在双核CPU和四核CPU均未达到满载的情况下,双核CPU和四核CPU在性能上的差距并不明显;而在双核CPU和四核CPU均达到满载的情况下,四核CPU的理论性能要比双核CPU好一倍。
在一些实施例中,根据资源配置数据对生产服务器进行资源配置,包括:根据资源配置数据选择至少还有(n/h)×M×2使用率空余的服务器作为生产服务器;其中,n为测试服务器的CPU的核数,M为测试服务器的CPU的平均使用率,h为生产服务器的CPU的核数。
具体地,对于服务器的CPU的选择,在CPU性能相近或相同的情况下,假设测试服务器的CPU核数为n,CPU的平均使用率为M,生产服务器的CPU的核数为h,则应当选择至少还有(n/h)×M×2使用率空余的服务器作为生产服务器。
可选地,在一些实施例中,根据资源配置数据对生产服务器进行资源配置,包括:根据资源配置数据选择至少留有m×q×2内存的服务器作为生产服务器;其中,m为测试服务器的内存,q为测试服务器的内存的使用率。
具体地,对于服务器的内存的选择,假设测试服务器的内存为m,测试服务器的内存的使用率为q,则应当选择至少留有m×q×2内存的服务器作为生产服务器。
应理解,资源配置数据的生成策略可根据应用环境的实际需求进行调整,本公开实施例对此不作限制。
根据本公开实施例提供的技术方案,能够根据资源使用数据和/或资源配置数据更好地选择适合的服务器作为生产服务器。
在一些实施例中,获取测试服务器上的应用程序的并发用户数峰值,包括:根据用户对测试服务器上的应用程序的操作记录计算平均并发用户数;以及根据平均并发用户数和泊松分布的概率函数计算概率函数的峰值,并将概率函数的峰值作为并发用户数峰值。
具体地,平均并发用户数可以通过如下公式计算:
C=nL/T,
其中,C为平均并发用户数,n为平均每天访问用户数,L为一天内用户从登录到退出的平均时间(即操作平均时间),T为考察的时间长度。
进一步地,并发用户数峰值可以通过如下公式计算:
其中,C^为并发用户数峰值,C为平均并发用户数。
应理解,并发用户数峰值的计算公式遵循泊松分布(Poisson distribution)原理。泊松分布是一种统计与概率学里常见到的离散概率分布,泊松分布的概率函数为:
其中,λ在此处为样本均值C。
举例来说,假设一应用程序有3000个注册用户,并且平均每天有约400个用户访问该应用程序(具体的访问量数据可以通过系统日志获得),那么对于一个典型用户来说,一天之内该用户从登录到退出的平均时间为4小时,而一天之内该用户只有在8小时之内会使用该应用程序,因此,通过上述公式计算得到平均并发用户数为:C=400×4/8=200,并发用户数峰值为:
应理解,计算并发用户数峰值的方法不限于如上所述的计算公式,例如,对于绝大多数应用环境,可以使用公式(用户总量/统计时间)×影响因子来估算并发用户数峰值;也可以根据PV公式计算并发用户数峰值;还可以根据TPS公式C=(Think time+1)×TPS来估计并发用户数峰值,本公开实施例对此不作限制。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图2是本公开实施例提供的用于资源配置的方法的流程示意图。如图2所示,该用于资源配置的方法,包括:
S210,根据用户对测试服务器上的应用程序的操作记录计算平均并发用户数;
S220,根据平均并发用户数和泊松分布的概率函数计算概率函数的峰值,并将概率函数的峰值作为并发用户数峰值;
S230,构建与并发用户数峰值对应的线程组,并将该线程组作为测试线程组;
S240,根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;
S250,根据资源使用数据确定生产服务器的资源配置数据;
S260,根据资源配置数据对生产服务器进行资源配置。
具体地,当用户对测试服务器上的应用程序进行访问时,测试服务器会记录用户对该应用程序的所有操作,通过调用测试服务器的系统日志可以获得用户的操作记录,例如,用户从登录到退出的平均时间、用户使用该应用程序的时间长度等;接着,根据用户的操作记录,通过公式C=nL/T和计算平均并发用户数和并发用户数峰值,并将计算得到的并发用户数峰值输入诸如JMeter工具,以生成测试线程组;进一步地,根据生成的测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据,并根据资源使用数据确定生产服务器的资源配置数据,以根据资源配置数据对生产服务器进行资源配置。
根据本公开实施例提供的技术方案,通过将根据用户的操作记录计算得到的并发用户数峰值输入测试工具得到测试线程组,根据测试线程组对测试服务器的测试过程进行监控得到测试服务器的资源使用数据,根据资源使用数据确定生产服务器的资源配置数据,并根据资源配置数据对生产服务器进行资源配置,能够准确地确定应用程序对服务器的资源配置的需求,因此,减小了在进行应用环境的资源配置时的整体误差,并进一步提升了用户体验。
下面,以1500的并发用户数峰值为例,对用于资源配置的方法进行详细说明。
具体地,假设测试服务器的CPU配置为Inter(R)Core(TM)i5-8265U CPU@1.60GHz1.80GHz,内存配置为8192M。在获取到并发用户数峰值为1500之后,通过诸如JMeter的测试工具构建一个1500并发的测试线程组,并对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据,如表1所示。
CPU使用率 | 内存使用率 | 网络使用率 | 缓存使用率 | |
请求执行前 | 5.8% | 81.8% | 0% | 0% |
请求执行过程中 | 95% | 83.3% | 100% | 1% |
表1
从表1中可以看出,在请求执行前,CPU的使用率为5.8%,内存的使用率为81.8%,网络(I/O)的使用率为0%,缓存的使用率为0%;在请求执行过程中,CPU的使用率峰值为95%,内存的使用率为83.3%,网络的使用率为100%,缓存的使用率为1%。
通过对以上资源使用数据进行分析可知,当测试服务器的访问量达到并发用户峰值时,CPU的使用率的前后差距为89.2%,内存的使用率的前后差距为1.5%,网络的使用率的前后差距为100%,缓存的使用率的前后差距为1%,由此可见,主要占用的资源为CPU、内存和网络,而缓存的变化不大。
因此,对于CPU的选择,在CPU性能相近或相同的情况下,假设测试服务器CPU的核数为2,CPU的平均使用率为80%,生产服务器的CPU的核数为4,则根据公式(n/h)×M×2,应当选择至少还有80%使用率空余的服务器作为生产服务器;对于内存的选择,假设测试服务器的内存为8192,测试服务器的内存的使用率为85%,则根据公式m×q×2,应当选择至少留有13,926.4内存的服务器作为生产服务器。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是本公开实施例提供的用于资源配置的装置的结构示意图。如图3所示,该用于资源配置的装置,包括:
获取模块310,被配置为获取测试服务器上的应用程序的并发用户数峰值;
生成模块320,被配置为根据并发用户数峰值生成测试线程组;
监控模块330,被配置为根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据;以及
配置模块340,被配置为根据资源使用数据对生产服务器进行资源配置。
根据本公开实施例提供的技术方案,通过获取测试服务器上的应用程序的并发用户数峰值,根据并发用户数峰值生成测试线程组,根据测试线程组对测试服务器的测试过程进行监控,得到测试服务器的资源使用数据,并根据资源使用数据对生产服务器进行资源配置,能够准确地确定应用程序对服务器的资源配置的需求,因此,减小了在进行应用环境的资源配置时的整体误差,并进一步提升了用户体验。
在一些实施例中,图3的生成模块320构建与并发用户数峰值对应的线程组,并将该线程组作为测试线程组。
在一些实施例中,图3的生成模块320通过JMeter工具生成与并发用户数峰值对应的线程组。
在一些实施例中,图3的配置模块340根据资源使用数据确定生产服务器的资源配置数据,并根据资源配置数据对生产服务器进行资源配置。
在一些实施例中,图3的配置模块340根据资源配置数据选择至少还有(n/h)×M×2使用率空余的服务器作为生产服务器;其中,n为测试服务器的中央处理器的核数,M为测试服务器的中央处理器的平均使用率,h为生产服务器的中央处理器的核数。
在一些实施例中,图3的配置模块340根据资源配置数据选择至少留有m×q×2内存的服务器作为生产服务器;其中,m为测试服务器的内存,q为测试服务器的内存的使用率。
在一些实施例中,图3的获取模块310根据用户对测试服务器上的应用程序的操作记录计算平均并发用户数,以及根据平均并发用户数和泊松分布的概率函数计算概率函数的峰值,并将概率函数的峰值作为并发用户数峰值。
图4是本公开实施例提供的用于资源配置的装置的结构示意图。如图4所示,该用于资源配置的装置包括:处理器(processor)400和存储器(memory)410,还可以包括通信接口(Communication Interface)420和总线430。其中,处理器400、通信接口420、存储器410可以通过总线430完成相互间的通信。通信接口420可以用于信息传输。处理器400可以调用存储器410中的逻辑指令,以执行上述实施例的用于资源配置的方法。
此外,上述的存储器410中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器400通过运行存储在存储器410中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的用于资源配置的方法。
存储器410可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令配置为执行上述用于资源配置的方法。
本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于资源配置的方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。本公开实施例的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。当用于本申请中时,虽然术语“第一”、“第二”等可能会在本申请中使用以描述各元件,但这些元件不应受到这些术语的限制。这些术语仅用于将一个元件与另一个元件区别开。比如,在不改变描述的含义的情况下,第一元件可以叫做第二元件,并且同样第,第二元件可以叫做第一元件,只要所有出现的“第一元件”一致重命名并且所有出现的“第二元件”一致重命名即可。第一元件和第二元件都是元件,但可以不是相同的元件。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的根据硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种用于资源配置的方法,其特征在于,包括:
获取测试服务器上的应用程序的并发用户数峰值;
根据所述并发用户数峰值生成测试线程组;
根据所述测试线程组对所述测试服务器的测试过程进行监控,得到所述测试服务器的资源使用数据;以及
根据所述资源使用数据对生产服务器进行资源配置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述并发用户数峰值生成测试线程组,包括:
构建与所述并发用户数峰值对应的线程组,并将所述线程组作为所述测试线程组。
3.根据权利要求2所述的方法,其特征在于,所述构建与所述并发用户数峰值对应的线程组,包括:
通过JMeter工具生成与所述并发用户数峰值对应的所述线程组。
4.根据权利要求1所述的方法,其特征在于,所述根据所述资源使用数据对生产服务器进行资源配置,包括:
根据所述资源使用数据确定所述生产服务器的资源配置数据;以及
根据所述资源配置数据对所述生产服务器进行资源配置。
5.根据权利要求4所述的方法,其特征在于,所述根据所述资源配置数据对所述生产服务器进行资源配置,包括:
根据所述资源配置数据选择至少还有(n/h)×M×2使用率空余的服务器作为所述生产服务器;
其中,n为所述测试服务器的中央处理器的核数,M为所述测试服务器的所述中央处理器的平均使用率,h为所述生产服务器的中央处理器的核数。
6.根据权利要求4所述的方法,其特征在于,所述根据所述资源配置数据对所述生产服务器进行资源配置,包括:
根据所述资源配置数据选择至少留有m×q×2内存的服务器作为所述生产服务器;
其中,m为所述测试服务器的内存,q为所述测试服务器的所述内存的使用率。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取测试服务器上的应用程序的并发用户数峰值,包括:
根据用户对所述测试服务器上的所述应用程序的操作记录计算平均并发用户数;以及
根据所述平均并发用户数和泊松分布的概率函数计算所述概率函数的峰值,并将所述概率函数的峰值作为所述并发用户数峰值。
8.一种用于资源配置的装置,其特征在于,包括:
获取模块,被配置为获取测试服务器上的应用程序的并发用户数峰值;
生成模块,被配置为根据所述并发用户数峰值生成测试线程组;
监控模块,被配置为根据所述测试线程组对所述测试服务器的测试过程进行监控,得到所述测试服务器的资源使用数据;以及
配置模块,被配置为根据所述资源使用数据对生产服务器进行资源配置。
9.一种用于资源配置的装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现如权利要求1至7中任一项所述的用于资源配置的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355917.9A CN111522668A (zh) | 2020-04-29 | 2020-04-29 | 用于资源配置的方法和装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010355917.9A CN111522668A (zh) | 2020-04-29 | 2020-04-29 | 用于资源配置的方法和装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111522668A true CN111522668A (zh) | 2020-08-11 |
Family
ID=71904761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010355917.9A Pending CN111522668A (zh) | 2020-04-29 | 2020-04-29 | 用于资源配置的方法和装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522668A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363914A (zh) * | 2020-10-22 | 2021-02-12 | 北京电子工程总体研究所 | 一种并行测试资源配置寻优的方法、计算设备及存储介质 |
CN114265637A (zh) * | 2021-12-24 | 2022-04-01 | 中电信数智科技有限公司 | 档案管理系统配置方法、系统、电子设备以及存储介质 |
CN115037655A (zh) * | 2022-05-19 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 压测方法和系统 |
CN115460101A (zh) * | 2022-08-02 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 网络服务的管理方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6086618A (en) * | 1998-01-26 | 2000-07-11 | Microsoft Corporation | Method and computer program product for estimating total resource usage requirements of a server application in a hypothetical user configuration |
CN105490853A (zh) * | 2015-12-11 | 2016-04-13 | 国云科技股份有限公司 | 一种根据业务变量计算所需虚拟机带宽的方法 |
CN105549907A (zh) * | 2015-12-11 | 2016-05-04 | 国云科技股份有限公司 | 一种根据业务变量计算所需虚拟机磁盘iops的方法 |
CN106293931A (zh) * | 2015-06-23 | 2017-01-04 | 北京神州泰岳软件股份有限公司 | 一种分配服务器资源的方法和装置 |
CN108415847A (zh) * | 2018-05-08 | 2018-08-17 | 平安普惠企业管理有限公司 | 性能测试方法、装置、计算机设备及存储介质 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN110399213A (zh) * | 2019-05-21 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 确定应用程序的资源需求的方法、装置、电子设备及介质 |
CN111045879A (zh) * | 2019-12-13 | 2020-04-21 | 广州品唯软件有限公司 | 压力测试报告的生成方法、装置及存储介质 |
-
2020
- 2020-04-29 CN CN202010355917.9A patent/CN111522668A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6086618A (en) * | 1998-01-26 | 2000-07-11 | Microsoft Corporation | Method and computer program product for estimating total resource usage requirements of a server application in a hypothetical user configuration |
CN106293931A (zh) * | 2015-06-23 | 2017-01-04 | 北京神州泰岳软件股份有限公司 | 一种分配服务器资源的方法和装置 |
CN105490853A (zh) * | 2015-12-11 | 2016-04-13 | 国云科技股份有限公司 | 一种根据业务变量计算所需虚拟机带宽的方法 |
CN105549907A (zh) * | 2015-12-11 | 2016-05-04 | 国云科技股份有限公司 | 一种根据业务变量计算所需虚拟机磁盘iops的方法 |
CN108415847A (zh) * | 2018-05-08 | 2018-08-17 | 平安普惠企业管理有限公司 | 性能测试方法、装置、计算机设备及存储介质 |
CN109597761A (zh) * | 2018-12-03 | 2019-04-09 | 四川长虹电器股份有限公司 | 一种基于Jmeter的接口自动化测试方法 |
CN110399213A (zh) * | 2019-05-21 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 确定应用程序的资源需求的方法、装置、电子设备及介质 |
CN111045879A (zh) * | 2019-12-13 | 2020-04-21 | 广州品唯软件有限公司 | 压力测试报告的生成方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
张萌: "基于并发用户数的估算方法在视频点播应用支持系统压力测试中的应用", 《有线电视技术》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363914A (zh) * | 2020-10-22 | 2021-02-12 | 北京电子工程总体研究所 | 一种并行测试资源配置寻优的方法、计算设备及存储介质 |
CN112363914B (zh) * | 2020-10-22 | 2024-03-19 | 北京电子工程总体研究所 | 一种并行测试资源配置寻优的方法、计算设备及存储介质 |
CN114265637A (zh) * | 2021-12-24 | 2022-04-01 | 中电信数智科技有限公司 | 档案管理系统配置方法、系统、电子设备以及存储介质 |
CN115037655A (zh) * | 2022-05-19 | 2022-09-09 | 支付宝(杭州)信息技术有限公司 | 压测方法和系统 |
CN115037655B (zh) * | 2022-05-19 | 2024-03-12 | 支付宝(杭州)信息技术有限公司 | 压测方法和系统 |
CN115460101A (zh) * | 2022-08-02 | 2022-12-09 | 北京达佳互联信息技术有限公司 | 网络服务的管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522668A (zh) | 用于资源配置的方法和装置及计算机可读存储介质 | |
Zhou et al. | Delta debugging microservice systems | |
CN110618924B (zh) | 一种web应用系统的链路压力测试方法 | |
US7672923B1 (en) | Grid network management via automatic trend analysis of a service level agreement | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
Qian et al. | Benchmarking modern distributed streaming platforms | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
EP2629205A1 (en) | Multi-entity test case execution workflow | |
CN104850394B (zh) | 分布式应用程序的管理方法和分布式系统 | |
CN103593224A (zh) | 虚拟机资源配置系统及方法 | |
CN109284229B (zh) | 一种基于qps的动态调整方法以及相关设备 | |
Ghosh et al. | System resiliency quantification using non-state-space and state-space analytic models | |
CN110891000A (zh) | 一种gpu带宽性能的检测方法、系统及相关装置 | |
Tsai et al. | Concurrent test algebra execution with combinatorial testing | |
CN104735063B (zh) | 一种用于云基础设施的安全评测方法 | |
CN112051771B (zh) | 多云数据采集方法、装置、计算机设备和存储介质 | |
CN105827744A (zh) | 云存储平台的数据处理方法 | |
US9081605B2 (en) | Conflicting sub-process identification method, apparatus and computer program | |
Tsai et al. | Taas (testing-as-a-service) design for combinatorial testing | |
CN106815318B (zh) | 一种时序数据库的集群化方法及系统 | |
Wu et al. | Towards big data analytics across multiple clusters | |
CN104778088A (zh) | 一种基于减少进程间通信开销的并行i/o优化方法与系统 | |
Rosales et al. | Remora: a resource monitoring tool for everyone | |
CN109257256A (zh) | 设备监控方法、装置、计算机设备及存储介质 | |
CN109684094B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200811 |
|
RJ01 | Rejection of invention patent application after publication |