CN109348499B - 压力测试系统及方法 - Google Patents

压力测试系统及方法 Download PDF

Info

Publication number
CN109348499B
CN109348499B CN201811462123.1A CN201811462123A CN109348499B CN 109348499 B CN109348499 B CN 109348499B CN 201811462123 A CN201811462123 A CN 201811462123A CN 109348499 B CN109348499 B CN 109348499B
Authority
CN
China
Prior art keywords
server
virtual machine
configuration file
database
pressure
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
CN201811462123.1A
Other languages
English (en)
Other versions
CN109348499A (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.)
Qianxin Technology Group Co Ltd
Original Assignee
Qianxin Technology Group 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 Qianxin Technology Group Co Ltd filed Critical Qianxin Technology Group Co Ltd
Priority to CN201811462123.1A priority Critical patent/CN109348499B/zh
Publication of CN109348499A publication Critical patent/CN109348499A/zh
Application granted granted Critical
Publication of CN109348499B publication Critical patent/CN109348499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/10Scheduling measurement reports ; Arrangements for measurement reports

Abstract

本发明公开了一种压力测试系统,应用于通信技术领域,该系统中,应用程序服务器基于用户输入的数据,生成压力测试请求,并发送请求给控制服务器,该请求包括配置文件,控制服务器转发配置文件给文件库,并根据配置文件,生成并下发控制指令至触发服务器,触发服务器每间隔预置时长,采用轮询的方式在所述文件库中查找目标配置文件,并根据控制指令,控制虚拟机集群中的虚拟机进行压力测试,虚拟机集群根据所述控制指令和所述目标配置文件进行压力测试,生成并发送测试数据给控制服务器,控制服务器转发该测试数据给数据库进行存储。本发明还公开了一种压力测试方法,可提高自动化效率,无需人工部署,降低人力成本。

Description

压力测试系统及方法
技术领域
本发明涉及通信技术领域,尤其涉及一种压力测试系统及方法。
背景技术
随着无线互联网的逐渐普及,移动终端应用的用户在短时间内成几何倍数的增长。面对庞大的用户规模,应用服务器端的承载与并发等能力,显得愈发重要。为了服务的可靠性和稳定性,服务器压力测试成为软件上线前的必要环节。
目前,市场上的压力测试软件基本都是基于图形化界面方式的,整个压力测试过程都需要人工参与,自动化程度低。
发明内容
本发明的主要目的在于提供一种压力测试系统及方法,旨在解决现有技术中压力测试自动化程度低的技术问题。
为实现上述目的,本发明实施例第一方面提供一种压力测试系统,包括:
应用程序服务器、控制服务器、触发服务器、文件库、虚拟机集群和数据库;
所述应用程序服务器,用于基于用户输入的数据,生成压力测试请求,并发送所述压力测试请求给所述控制服务器,所述请求包括配置文件;
所述控制服务器,用于转发所述配置文件给所述文件库,并根据所述配置文件,生成控制指令,下发所述控制指令至触发服务器,以及,发送测试数据给所述数据库;
所述触发服务器,用于每间隔预置时长,采用轮询的方式在所述文件库中查找目标配置文件,并根据所述控制指令,控制所述虚拟机集群中的虚拟机进行压力测试,所述目标配置文件为用于进行所述压力测试的文件;
所述文件库,用于存储所述配置文件,所述文件库中包括目标配置文件;
所述虚拟机集群,用于根据所述控制指令和所述目标配置文件进行压力测试,生成所述测试数据,并发送所述测试数据给所述控制服务器;
所述数据库,用于存储由所述控制服务器发送的测试数据。
进一步地,所述控制服务器,还用于根据所述配置文件,确定虚拟机并发数。
进一步地,所述触发服务器,还用于根据所述虚拟机并发数,控制所述虚拟机集群中的虚拟机进行压力测试。
进一步地,所述测试数据包括监控数据和业务数据。
进一步地,所述数据库包括:监控数据库和业务数据库;
所述监控数据库用于存储压力测试过程中所述虚拟机集群产生的监控数据;
所述业务数据库用于存储压力测试过程中所述虚拟机集群产生的业务数据。
进一步地,所述应用程序服务器,还可用于根据用户输入的数据从数据库提取相应的测试数据,并展示所述测试数据。
本发明实施例第二方面提供一种压力测试方法,包括:
应用程序服务器基于用户输入的数据,生成压力测试请求,并发送所述压力测试请求给控制服务器,所述请求包括配置文件;
所述控制服务器转发所述配置文件给文件库,并根据所述配置文件,生成控制指令,下发所述控制指令至触发服务器;
所述触发服务器每间隔预置时长,采用轮询的方式在所述文件库中查找目标配置文件,并根据所述控制指令,控制虚拟机集群中的虚拟机进行压力测试,所述目标配置文件为用于进行所述压力测试的文件;
所述虚拟机集群根据所述控制指令和所述目标配置文件进行压力测试,生成测试数据。
进一步地,所述生成所述测试数据之后,包括:
所述虚拟机集群发送所述测试数据给所述控制服务器;
所述控制服务器将所述测试数据转发给所述数据库;
所述数据库存储由所述控制服务器发送的测试数据。
进一步地,所述测试数据包括监控数据和业务数据;
所述数据库包括监控数据库和业务数据库;
所述监控数据库用于存储压力测试过程中所述虚拟机集群产生的监控数据;
所述业务数据库用于存储压力测试过程中所述虚拟机集群产生的业务数据。
进一步地,所述控制服务器根据所述配置文件,生成控制指令包括:
所述控制服务器根据所述配置文件,确定虚拟机并发数;
所述触发服务器根据所述控制指令,控制所述虚拟机集群中的虚拟机进行压力测试包括:
所述触发服务器根据所述虚拟机并发数,控制所述虚拟机集群中的虚拟机进行压力测试。
从上述本发明实施例可知,本发明提供的压力测试系统及方法,通过设置触发服务器,每间隔预置时长,采用轮询的方式在文件库中查找用于进行压力测试的文件,并根据由控制服务器发送的控制指令,控制虚拟机集群中的虚拟机进行压力测试,可提高自动化效率,无需人工部署,降低人力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例提供的压力测试系统的结构示意图;
图2为本发明第二实施例提供的压力测试方法的流程示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明第一实施例提供的压力测试系统的结构示意图,该压力测试系统包括:
应用程序服务器100、控制服务器200、触发服务器300、文件库400、虚拟机集群500和数据库600。
应用程序服务器100,用于基于用户输入的数据,生成压力测试请求,并发送压力测试请求给控制服务器200,该请求包括配置文件。
进一步地,应用程序服务器100可以由Nginx网络服务器实现。当接收到压力测试请求时,将该请求发送给控制服务器200。
进一步地,应用程序服务器100还可以根据用户输入的数据从数据库600提取相应的测试数据,并展示测试数据。
其中,Nginx是一款轻量级的网页服务器,可提供反向代理服务,并发能力好。
控制服务器200,用于转发该配置文件给文件库400,并根据该配置文件,生成控制指令,以及,将虚拟机集群500发送的测试数据转发给数据库600。
具体的,控制服务器200可以由Flask+uWSGI网络服务器实现。当收到压力测试请求后,uWSGI首先根据该压力测试请求中的配置文件,确定虚拟机并发数,然后Flask将携带虚拟机并发数的控制指令下发给触发服务器300。当接收到由虚拟机集群500返回的测试数据后,转发给数据库600。
其中,Flask是一个Python实现的Web开发微服务框架,uWSGI是一个web服务器,它实现了WSGI协议、uwsgi、http协议等。
触发服务器300,用于每间隔预置时长,采用轮询的方式在文件库400中查找目标配置文件,并根据控制指令,控制虚拟机集群500中的虚拟机进行压力测试,该目标配置文件为用于进行该压力测试的文件。
进一步地,触发服务器300按照控制指令中的虚拟机并发数,选取符合数量的虚拟机数量。
文件库400,用于存储配置文件,文件库400中包括目标配置文件。
虚拟机集群500,用于根据该控制指令和目标配置文件进行压力测试,生成测试数据,并发送该测试数据给控制服务器200。本发明实施例重,虚拟机集群500中虚拟机的数量以5个为例。实际应用中,可采用locust分布式虚拟机集群,支持百万虚拟机并发。
进一步地,该测试数据包括监控数据和业务数据。
数据库600,用于存储由控制服务器200发送的测试数据。
进一步地,数据库600包括监控数据库和业务数据库,监控数据库用于存储压力测试过程中虚拟机集群500产生的监控数据,业务数据库用于存储压力测试过程中虚拟机集群500产生的业务数据。
在本发明实施例中,通过设置触发服务器,每间隔预置时长,采用轮询的方式在文件库中查找用于进行压力测试的文件,并根据由控制服务器发送的控制指令,控制虚拟机集群中的虚拟机进行压力测试,可提高自动化效率,无需人工部署,降低人力成本。
请参阅图2,图2为本发明第二实施例提供的压力测试方法的流程示意图,该压力测试系方法包括:
S101、应用程序服务器基于用户输入的数据,生成压力测试请求,并发送该压力测试请求给控制服务器,该请求包括配置文件;
该应用程序服务器可以由Nginx网络服务器实现。当接收到压力测试请求时,将该请求发送给控制服务器。
进一步地,该应用程序服务器还可以根据用户输入的数据从数据库提取相应的测试数据,并展示所述测试数据。
其中,Nginx是一款轻量级的网页服务器,可提供反向代理服务,并发能力好。
S102、控制服务器转发该配置文件给文件库,并根据该配置文件,生成控制指令,下发该控制指令至触发服务器;
具体的,控制服务器可以由Flask+uWSGI网络服务器实现。当收到压力测试请求后,uWSGI首先根据该压力测试请求中的配置文件,确定虚拟机并发数,然后Flask将携带虚拟机并发数的控制指令下发给触发服务器。
其中,Flask是一个Python实现的Web开发微服务框架,uWSGI是一个web服务器,它实现了WSGI协议、uwsgi、http协议等。
S103、触发服务器每间隔预置时长,采用轮询的方式在文件库中查找目标配置文件,并根据该控制指令,控制虚拟机集群中的虚拟机进行压力测试,该目标配置文件为用于进行该压力测试的文件;
触发服务器按照控制指令中的虚拟机并发数,选取符合数量的虚拟机数量。控制所述虚拟机集群中的虚拟机进行压力测试。
S104、虚拟机集群根据该控制指令和该目标配置文件进行压力测试,生成测试数据。
该测试数据包括监控数据和业务数据。测试数据和监控数据由压力测试过程中虚拟机集群所产生。
更多的,虚拟机完成压力测试,生成测试数据之后,将测试数据发送给控制服务器,然后,控制服务器将测试数据转发给数据库,由数据库存储该测试数据。该数据库包括监控数据库和业务数据库,监控数据库用于存储监控数据,业务数据库用于业务数据。
在本发明实施例中,通过设置触发服务器,每间隔预置时长,采用轮询的方式在文件库中查找用于进行压力测试的文件,并根据由控制服务器发送的控制指令,控制虚拟机集群中的虚拟机进行压力测试,可提高自动化效率,无需人工部署,降低人力成本。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种压力测试系统及方法的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种压力测试系统,其特征在于,包括:
应用程序服务器、控制服务器、触发服务器、文件库、虚拟机集群和数据库;
所述应用程序服务器,用于基于用户输入的数据,生成压力测试请求,并发送所述压力测试请求给所述控制服务器,所述请求包括配置文件;
所述控制服务器,用于转发所述配置文件给所述文件库,并根据所述配置文件,生成控制指令,下发所述控制指令至触发服务器,以及,发送测试数据给所述数据库;
所述触发服务器,用于每间隔预置时长,采用轮询的方式在所述文件库中查找目标配置文件,并根据所述控制指令,控制所述虚拟机集群中的虚拟机进行压力测试,所述目标配置文件为用于进行所述压力测试的文件;
所述文件库,用于存储所述配置文件,所述文件库中包括目标配置文件;
所述虚拟机集群,用于根据所述控制指令和所述目标配置文件进行压力测试,生成所述测试数据,并发送所述测试数据给所述控制服务器;
所述数据库,用于存储由所述控制服务器发送的测试数据。
2.根据权利要求1所述的压力测试系统,其特征在于,所述控制服务器,还用于根据所述配置文件,确定虚拟机并发数。
3.根据权利要求2所述的压力测试系统,其特征在于,所述触发服务器,还用于根据所述虚拟机并发数,控制所述虚拟机集群中的虚拟机进行压力测试。
4.根据权利要求1所述的压力测试系统,其特征在于,所述测试数据包括监控数据和业务数据。
5.根据权利要求4所述的压力测试系统,其特征在于,所述数据库包括:监控数据库和业务数据库;
所述监控数据库用于存储压力测试过程中所述虚拟机集群产生的监控数据;
所述业务数据库用于存储压力测试过程中所述虚拟机集群产生的业务数据。
6.根据权利要求1至5任意一项所述的压力测试系统,其特征在于,所述应用程序服务器,还可用于根据用户输入的数据从数据库提取相应的测试数据,并展示所述测试数据。
7.一种压力测试方法,其特征在于,包括:
应用程序服务器基于用户输入的数据,生成压力测试请求,并发送所述压力测试请求给控制服务器,所述请求包括配置文件;
所述控制服务器转发所述配置文件给文件库,并根据所述配置文件,生成控制指令,下发所述控制指令至触发服务器;
所述触发服务器每间隔预置时长,采用轮询的方式在所述文件库中查找目标配置文件,并根据所述控制指令,控制虚拟机集群中的虚拟机进行压力测试,所述目标配置文件为用于进行所述压力测试的文件;
所述虚拟机集群根据所述控制指令和所述目标配置文件进行压力测试,生成测试数据;
所述虚拟机集群发送所述测试数据给所述控制服务器;
所述控制服务器将所述测试数据转发给数据库;
所述数据库存储由所述控制服务器发送的测试数据。
8.根据权利要求7所述的压力测试方法,其特征在于,所述测试数据包括监控数据和业务数据;
所述数据库包括监控数据库和业务数据库;
所述监控数据库用于存储压力测试过程中所述虚拟机集群产生的监控数据;
所述业务数据库用于存储压力测试过程中所述虚拟机集群产生的业务数据。
9.根据权利要求7至8任意一项所述的压力测试方法,其特征在于,所述控制服务器根据所述配置文件,生成控制指令包括:
所述控制服务器根据所述配置文件,确定虚拟机并发数;
所述触发服务器根据所述控制指令,控制所述虚拟机集群中的虚拟机进行压力测试包括:
所述触发服务器根据所述虚拟机并发数,控制所述虚拟机集群中的虚拟机进行压力测试。
CN201811462123.1A 2018-11-30 2018-11-30 压力测试系统及方法 Active CN109348499B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811462123.1A CN109348499B (zh) 2018-11-30 2018-11-30 压力测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811462123.1A CN109348499B (zh) 2018-11-30 2018-11-30 压力测试系统及方法

Publications (2)

Publication Number Publication Date
CN109348499A CN109348499A (zh) 2019-02-15
CN109348499B true CN109348499B (zh) 2022-02-25

Family

ID=65319971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811462123.1A Active CN109348499B (zh) 2018-11-30 2018-11-30 压力测试系统及方法

Country Status (1)

Country Link
CN (1) CN109348499B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704312B (zh) * 2019-09-25 2023-09-12 浙江大搜车软件技术有限公司 压力测试的方法、装置、计算机设备和存储介质
CN112583653A (zh) * 2019-09-30 2021-03-30 北京国双科技有限公司 压力测试方法、装置及计算机存储介质
CN111294257B (zh) * 2020-03-09 2022-05-27 北京九州云动科技有限公司 应用服务器自动压力测试的方法、装置和系统
CN111444111A (zh) * 2020-04-15 2020-07-24 深圳市万睿智能科技有限公司 基于python的性能测试方法、装置、计算机设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087214A (zh) * 2006-06-09 2007-12-12 中兴通讯股份有限公司 对通讯系统的抗压能力进行自动测试的装置及方法
CN101789002A (zh) * 2010-01-22 2010-07-28 浪潮(北京)电子信息产业有限公司 一种服务器上数据库兼容性的测试的装置及方法
CN102098702A (zh) * 2011-01-30 2011-06-15 大唐移动通信设备有限公司 性能测试系统、方法和设备
CN103973515A (zh) * 2014-05-12 2014-08-06 浪潮电子信息产业股份有限公司 一种网卡稳定性测试方法
CN104536890A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 测试系统、方法和装置
CN106375140A (zh) * 2016-08-22 2017-02-01 腾讯科技(深圳)有限公司 压力测试方法及装置
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 系统压力测试方法及装置
CN107179986A (zh) * 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 业务系统的压力测试方法和装置
CN107493587A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种媒体网关测试方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI507985B (zh) * 2009-11-02 2015-11-11 Wistron Corp 可自動化連續安裝作業系統的電子裝置及其相關方法與系統

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087214A (zh) * 2006-06-09 2007-12-12 中兴通讯股份有限公司 对通讯系统的抗压能力进行自动测试的装置及方法
CN101789002A (zh) * 2010-01-22 2010-07-28 浪潮(北京)电子信息产业有限公司 一种服务器上数据库兼容性的测试的装置及方法
CN102098702A (zh) * 2011-01-30 2011-06-15 大唐移动通信设备有限公司 性能测试系统、方法和设备
CN103973515A (zh) * 2014-05-12 2014-08-06 浪潮电子信息产业股份有限公司 一种网卡稳定性测试方法
CN104536890A (zh) * 2014-12-26 2015-04-22 小米科技有限责任公司 测试系统、方法和装置
CN106470133A (zh) * 2015-08-20 2017-03-01 阿里巴巴集团控股有限公司 系统压力测试方法及装置
CN107179986A (zh) * 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 业务系统的压力测试方法和装置
CN107493587A (zh) * 2016-06-13 2017-12-19 中兴通讯股份有限公司 一种媒体网关测试方法、装置及系统
CN106375140A (zh) * 2016-08-22 2017-02-01 腾讯科技(深圳)有限公司 压力测试方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web应用在虚拟机环境下的负载压力测试;张杰;《应用研究》;20171231;全文 *

Also Published As

Publication number Publication date
CN109348499A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
CN109348499B (zh) 压力测试系统及方法
CN108074177B (zh) 数据对账方法、系统和计算机可读存储介质
CN106843828B (zh) 界面显示、加载方法及装置
CN1988535B (zh) 文件存储同步方法、系统及客户端
CN112866310B (zh) Cdn回源的校验方法和校验服务器、cdn集群
US20130318536A1 (en) Dynamic scheduling of tasks for collecting and processing data from external sources
CN100499938C (zh) 短消息拆分提示方法及装置
CN104283723B (zh) 网络访问日志处理方法及装置
CN108259533B (zh) 一种数据传输方法和装置
CN109474456B (zh) 配置数据处理方法、装置、计算机设备和存储介质
CN104981768A (zh) 基于云的串流数据接收机和保存程序
CN104317914A (zh) 数据获取方法和装置
CN102999628A (zh) 搜索方法和信息搜索终端
CN103024052A (zh) 实现浏览器数据同步的系统和方法
CN110851468A (zh) 对客户端的测试请求做出模拟响应的方法和装置
CN104468852A (zh) 客户端选择ip链接地址的方法、装置及系统
CN103905495A (zh) 一种应用的同步方法及后台服务器
CN103312489A (zh) 一种终端与服务器进行同步的方法和装置
CN109325056A (zh) 一种大数据处理方法及装置、通信设备
CN111611168A (zh) 联调测试方法、装置及系统
CN109753424B (zh) Ab测试的方法和装置
CN110661851A (zh) 数据交换方法和装置
CN112131014B (zh) 决策引擎系统及其业务处理方法
CN101146130A (zh) 一种在客户端间传输数据的方法及系统
CN105610596B (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
CB02 Change of applicant information

Address after: 100088 Building 3 332, 102, 28 Xinjiekouwai Street, Xicheng District, Beijing

Applicant after: Qianxin Technology Group Co., Ltd.

Address before: Beijing Chaoyang District Jiuxianqiao Road 10, building 15, floor 17, layer 1701-26, 3

Applicant before: BEIJING QI'ANXIN SCIENCE & TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant