CN108694116B - 一种vpc集群的网络稳定性测试方法、装置及系统 - Google Patents

一种vpc集群的网络稳定性测试方法、装置及系统 Download PDF

Info

Publication number
CN108694116B
CN108694116B CN201710228017.6A CN201710228017A CN108694116B CN 108694116 B CN108694116 B CN 108694116B CN 201710228017 A CN201710228017 A CN 201710228017A CN 108694116 B CN108694116 B CN 108694116B
Authority
CN
China
Prior art keywords
target virtual
virtual machine
vpc
access
virtual machines
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
CN201710228017.6A
Other languages
English (en)
Other versions
CN108694116A (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 Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201710228017.6A priority Critical patent/CN108694116B/zh
Publication of CN108694116A publication Critical patent/CN108694116A/zh
Application granted granted Critical
Publication of CN108694116B publication Critical patent/CN108694116B/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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种VPC集群的网络稳定性测试方法、装置及系统,该方法首先为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;并将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机;并按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。与现有技术相比,本方案中所配置的测试环境成功模拟了VPC集群在实际应用中的工作环境,进而使得本发明实施例所提供的方案能够很好地适用于VPC网络。

Description

一种VPC集群的网络稳定性测试方法、装置及系统
技术领域
本发明涉及计算机技术领域,特别是涉及一种VPC集群的网络稳定性测试方法、装置及系统。
背景技术
VPC(Virtual Private Cloud,虚拟私有云)网络产品作为云计算行业内主流的网络产品已得到广泛使用,云服务提供商通过云技术将宿主机的资源配置在云端,根据用户需要在宿主机中为用户创建虚拟机,在云服务商的VPC网络机房中,安装有大量的宿主机,所有的宿主机构成一个集群,即VPC集群,而每个宿主机中可以创建多个虚拟机。
现有技术中,在VPC网络机房上线前,云服务商需要对VPC集群的所有功能进行稳定性测试。现有的稳定性测试方法是从VPC集群中筛选某一台或几台宿主机,使用LoadRunner(一种负载测试工具)等测试工具让所筛选的某一台或某几台宿主机在持续高并发、大网络流量的状态下工作,然后收集所筛选的宿主机的性能测试数据,从而评测整个VPC集群的稳定性。
但是,现有技术中的网络稳定性测试方法,仅根据筛选的一台或几台宿主机的性能测试数据来评测VPC集群的稳定性,没有获得VPC集群中所有宿主机的性能测试数据,使得现有的网络稳定性测试方法并不能很好地适用于VPC网络,其无法模拟集群在上线后,VPC网络中用户真实使用虚拟机的场景。
发明内容
本发明实施例的目的在于提供一种VPC集群的网络稳定性测试方法、装置及系统,以实现在测试过程中模拟集群在上线后,VPC网络中用户真实使用虚拟机的场景,更好地适用于VPC网络。具体技术方案如下:
为达上述目的,第一方面,本发明实施例提供了一种VPC集群的网络稳定性测试方法,所述方法包括:
为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;
将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
优选的,所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述向所有目标虚拟机发送访问命令的步骤,包括:
根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
优选的,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述待下载文件的操作。
优选的,所述按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据的步骤,包括:
按照预设时间间隔,接收每个所述目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
或者,按照预设时间间隔,下载各个所述目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
优选的,所述为待测VPC集群的每台宿主机创建预设数量的目标虚拟机的步骤,包括:
在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;
在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;
以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
优选的,在所述基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据之后,所述方法还包括:
将所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
第二方面,本发明实施例提供了一种VPC集群的网络稳定性测试装置,其特征在于,所述装置包括:
创建模块,用于为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;
配置模块,用于将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
控制模块,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
获得模块,用于按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
生成模块,用于基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
优选的,所述控制模块,具体用于控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述控制模块,具体用于向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述控制模块,根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
优选的,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述控制模块,具体用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述待下载文件的操作。
优选的,所述获得模块,具体用于按照预设时间间隔,接收每个所述目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
或者,按照预设时间间隔,下载各个所述目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
优选的,所述创建模块,包括:
第一创建子模块,用于在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;
安装子模块,用于在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;
第二创建子模块,用于以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
优选的,所述装置还包括:
发送模块,用于将生成的所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
第三方面,本发明实施例还提供了一种VPC集群的网络稳定性测试系统,所述系统包括:待测VPC集群中的宿主机和管理服务器;
每台所述宿主机中被所创建有预设数量个目标虚拟机;
所有所述目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
所述管理服务器,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据;
每台所述宿主机中的各个目标虚拟机,用于在所述管理服务器的控制下,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述管理服务器,控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,在所述管理服务器的控制下,按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述管理服务器,向所有目标虚拟机发送访问命令,以控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,具体用于基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
优选的,所述管理服务器中存储有每个目标虚拟机的地址信息;
所述管理服务器,根据各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
优选的,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述管理服务器,控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作;
所述目标虚拟机,在所述管理服务器的控制下,按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作。
优选的,所述目标虚拟机,从本地日志中获得自身与其它目标虚拟机之间的访问数据;
所述管理服务器,按照预设时间间隔,接收每个所述目标虚拟机发送的所述访问数据;或者,按照预设时间间隔,下载各个所述目标虚拟机中的所述访问数据。
优选的,所述每台宿主机中创建的预设数量个目标虚拟机由所述管理服务器预先创建,所述管理服务器还用于预先在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
优选的,所述系统还包括显示设备;
所述管理服务器,还用于在生成用于评测网络稳定性的目标统计数据之后,将所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
优选的,所述管理服务器创建有测试用虚拟机;
所述测试用虚拟机被配置在任意一个所述目标虚拟机所在的子网中;或,所述测试用虚拟机被配置在与任意一个所述目标虚拟机所处子网可相互通信的不同子网中;
由所述测试用虚拟机,控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;获得每个目标虚拟机在第一预设时长内统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
由以上可见,本发明实施例提供的方案中,首先为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;并将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;在此基础上,控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机;并按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
与现有技术相比,本发明实施例所提供的方案中,每个宿主机中都创建有虚拟机,并且所有的虚拟机被配置在VPC网络下预设数目个、可相互通信的子网中,然后每一个虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它虚拟机,上述测试环境成功模拟了VPC集群在实际应用中的工作环境,进而使得本发明实施例所提供的方案能够很好地适用于VPC网络;另外,本发明实施例的方案中所部署的网络环境适用于所有VPC集群,通用性好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的VPC集群的网络稳定性测试方法的第一种流程示意图;
图2为本发明实施例提供的VPC集群的网络稳定性测试方法的第二种流程示意图;
图3为本发明实施例提供的VPC集群的网络稳定性测试方法的第三种流程示意图;
图4为本发明实施例提供的VPC集群的网络稳定性测试装置的第一种结构示意图;
图5为本发明实施例提供的VPC集群的网络稳定性测试装置的第二种结构示意图;
图6为本发明实施例提供的VPC集群的网络稳定性测试装置的第三种结构示意图;
图7为本发明实施例提供的VPC集群的网络稳定性测试系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本申请文件中涉及到的技术术语进行简单介绍。
在现有技术中,宿主机可以理解为担当一“宿主”身份的物理主机,在宿主机中可以创建虚拟机,虚拟机寄宿在宿主机内,其需要利用宿主机的内存、CPU(CentralProcessing Unit,中央处理器)、硬盘等资源才能运行。在云技术领域的VPC集群中,每个宿主机中都可以被创建有虚拟机,VPC集群中的所有虚拟机被配置在VPC网络下的若干个可相互通信的子网中,因此,在VPC集群中虚拟机之间的访问,既包含同子网内虚拟机之间的访问,还包括不同子网内的虚拟机之间的访问。
例如,VPC网络下包含有5个子网A~E,VPC集群中的所有虚拟机被分别配置在上述5个子网中,其中,虚拟机a和b处于子网A中,虚拟机c处于子网C中,则虚拟机a和b之间的访问属于同子网内虚拟机之间的访问,虚拟机a和c之间的访问属于不同子网内虚拟机之间的访问,虚拟机a和c之间的访问还需要借助于路由表。
下面通过具体实施例对本发明进行详细介绍。
首先应当说明的是,本发明实施例提供的一种VPC集群的网络稳定性测试方法,可以应用于一用于管理控制VPC集群中所有虚拟机的服务器,该服务器可以是一个真实的物理主机;也可以是创建在VPC集群中某一个宿主机中的虚拟机,即管理虚拟机。
另外,需要介绍的是,网络稳定性的测试主要是通过模拟网络的工作环境,让网络中的设备工作在模拟的环境中,然后记录下这些设备在模拟环境中运行时产生的性能测试数据即可;网络稳定性的测试结束后,测试人员根据所记录的性能测试数据评判网络是否满足稳定性要求。
图1为本发明实施例提供的VPC集群的网络稳定性测试方法的第一种流程示意图,如图1所示,该方法包括步骤S101~S105:
S101:为待测VPC集群的每台宿主机创建预设数量的目标虚拟机。
可以理解,此处所述的预设数量可以根据实际应用情况而设定,只要尽可能保证整个VPC集群中的访问流量能够达到预设的流量阈值即可。另外,每台宿主机中创建的目标虚拟机的数量可以是相同的,也可以是不同的。例如,VPC集群中一共有50台宿主机,则可以在每台宿主机中均创建30个虚拟机,也可以针对每台宿主机,随机创建25~35个虚拟机。
可以理解,在实际应用中,为了保证上述目标虚拟机之间的相互访问,在创建虚拟机时,可以进行如下实现虚拟机间访问的配置:
首先,每个目标虚拟机之中都配置有web(World Wide Web,万维网)服务,例如,每个目标虚拟机中均配置有开机自启动的httpd(超文本传输协议服务的主程序)或者nginx(一种高新能的超文本传输协议和反向代理服务)web服务;再者,每个目标虚拟机都会配置用以支持目标虚拟机进行相互访问的测试脚本。
现有技术中,在宿主机中安装LoadRunner等测试工具时,为了保障宿主机兼容测试工具,需要在宿主机中安装较多的保证兼容性的依赖文件,可以理解,如果在本发明实施例的目标虚拟机中安装LoadRunner等测试工具,为了使目标虚拟机兼容现有的测试工具,同样需要在目标虚拟机中安装较多的保证兼容性的依赖文件,所以本发明实施例优选在目标虚拟机中配置上述测试脚本,以达到减少目标虚拟机内的配置的目的。
应该说明,创建待测VPC集群中所有目标虚拟机的过程可以是,逐个创建虚拟机,并逐个在每个虚拟机中安装上述配置;但是整个待测VPC集群中目标虚拟机的数量是巨大的,所以为了保证创建目标虚拟机的速度,实现自动化创建所有目标虚拟机,在本发明实施例中,如图2所示,上述为待测VPC集群的每台宿主机创建预设数量的目标虚拟机(S101)的步骤,可以包括:
S1011:在待测VPC集群中任意一个宿主机中创建一个虚拟机,作为原始虚拟机。
可以理解,此时所创建的原始虚拟机,并未安装实现虚拟机间访问的配置。
S1012:在原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机。
可以理解,安装实现虚拟机间访问的配置后,原始虚拟机即变为本发明实施例所需要的目标虚拟机。
例如,在原始虚拟机中配置开机自启动的nginx web服务以及用以支持目标虚拟机进行相互流量访问的测试脚本。
S1013:以所获得的目标虚拟机为镜像基础,在待测VPC集群中的宿主机中创建其它目标虚拟机。
本领域技术人员公知的是,步骤S1013中,待测VPC集群中创建其它任意一个目标虚拟机时,都是可以以步骤S1012所获得的目标虚拟机镜像获得,而镜像获得的其它目标虚拟机中的配置与步骤S1012所获得的目标虚拟机的配置完全相同,即其它目标虚拟机同样具有实现虚拟机间访问的配置,显然的,通过镜像的方法创建待测VPC集群中的目标虚拟机,可以实现目标虚拟机的自动化快速创建。
针对步骤S1011~S1013所涉及的在待测VPC集群中创建目标虚拟机的方式,下面通过一个实例进行说明:
假设现有一将要上线的VPC网络机房,该VPC网络机房包括50台宿主机,此处的50台宿主机构成了上述待测VPC集群,此时,首先在上述50台宿主机中随机选择一台宿主机,并在该宿主机中创建一个虚拟机,然后,在上述所创建的虚拟机中配置上述开机自启动的httpd web服务以及用以支持目标虚拟机进行相互流量访问的测试脚本,以获得一个目标虚拟机a。
假设需要在每台宿主机中创建30个目标虚拟机,则创建其余的1499个目标虚拟机时,可以以该目标虚拟机a为镜像基础,创建其余的1499个目标虚拟机,完成所有目标虚拟机的创建。
如图1所示,S102:将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中。
步骤S102所做的网络环境的部署,是为了模拟VPC网络下,待测VPC集群中所有虚拟机的真实工作环境。另外,在实际应用中,在部署网络环境时,每个目标虚拟机都会被分配有各自的IP(Internet Protocol,网络之间互连的协议))地址,同时,每个目标虚拟机中都存储有待测VPC集群内所有目标虚拟机的IP地址,例如,每个目标虚拟机中都设置有IP列表(IP list),该IP列表中记录有待测VPC集群内所有目标虚拟机的IP地址。
应该说明的是,VPC网络中子网的通常是远小于上述目标虚拟机的总数量的,所以在配置每个虚拟机所处的子网后,针对任意两个目标虚拟机,其器各自所处的子网可能相同,也可能不相同;另外,在配置每个虚拟机所处的子网时,可以将所有的目标虚拟机均匀的分配在各个子网中,也可以针对每一个目标虚拟机,随机分配其所处的子网。
例如,现有1600个目标虚拟机需要分配在VPC网络下的4个子网中,则可以在每个子网中配置400个目标虚拟机,也可以针对每一个目标虚拟机,随机选择该目标虚拟机所处的子网。
S103:控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机。
首先应该说明的是,此处所述的并行是指针对每一个目标虚拟机,其在同一时刻可以访问多个其他目标虚拟机;当然,该并行访问数量可以预先根据实际需求设定,只要能保证高并发的要求即可,例如,该并行访问数量为10,目标虚拟机1在某一时刻同时访问目标虚拟机2~11。
可以理解的是,在本发明实施例中,由于任意一个目标虚拟机都是按照一定的并行访问数量访问待测VPC集群中的其它目标虚拟机,同时,也被其它的目标虚拟机访问,对于单个目标虚拟机而言,是一种高并发的访问模式;同时,对于整个VPC集群而言,所有目标虚拟机都是在做上述并发访问,也是一种高并发的访问模式。
在上述两种高并发的访问模式下,目标虚拟机之间、以及待测VPC集群的宿主机之间都存在较大的访问流量,综上可知,本发明实施例中实际上是模拟了一种高并发、大流量的网络环境,这不但能够符合VPC网络中用户使用虚拟机的真实场景,而且也符合了稳定性测试的压力要求。
其次应该说明的是,稳定性测试除了需要宿主机以及其内的目标虚拟机处于一定压力的工作环境下外,还需要宿主机以及其内的目标虚拟机能够从长时间工作。
可以理解,如果不进行上述循环访问,对于任意一个目标虚拟机,在访问完待测VPC集群中的所有其它目标虚拟机后,该目标虚拟机不会再去访问其它目标虚拟机,此时很可能还没有满足预设的测试时间;所以,为了测试VPC网络中各个目标虚拟机长时间工作的能力,需要每一个目标虚拟机循环访问待测VPC集群中的所有其它目标虚拟机,以使得待测VPC集群中的宿主机以及各个目标虚拟机处于长时间不间断的工作环境中。
例如,上述IP列表如表1所示,待测VPC集群中包含有目标虚拟机1~25,对于任意一个目标虚拟机,并发访问数量设置为6。对于目标虚拟机1,在一个循环周期内,其首先同时访问目标虚拟机2~7,然后同时访问目标虚拟机8~13,再同时访问目标虚拟机14~19,最后同时访问目标虚拟机20~25;在一个访问周期结束后,继续按照上述访问周期中的访问顺序继续访问其它目标虚拟机。
表1
序号 IP地址 序号 IP地址 序号 IP地址
目标虚拟机1 IP1 目标虚拟机10 IP10 目标虚拟机19 IP19
目标虚拟机2 IP2 目标虚拟机11 IP11 目标虚拟机20 IP20
目标虚拟机3 IP3 目标虚拟机12 IP12 目标虚拟机21 IP21
目标虚拟机4 IP4 目标虚拟机13 IP13 目标虚拟机22 IP22
目标虚拟机5 IP5 目标虚拟机14 IP14 目标虚拟机23 IP23
目标虚拟机6 IP6 目标虚拟机15 IP15 目标虚拟机24 IP24
目标虚拟机7 IP7 目标虚拟机16 IP16 目标虚拟机25 IP25
目标虚拟机8 IP8 目标虚拟机17 IP17
目标虚拟机9 IP9 目标虚拟机18 IP18
可以理解,如果网络稳定性的测试时间为24个小时,而此例中一个访问周期的时间为1个小时,则此时需要循环进行24此上述访问周期。当然,在实际应用中,可以使任意一个目标虚拟机一直循环访问待测VPC集群中的所有其它目标虚拟机,当需要停止循环时,直接向所有的虚拟机发送停止访问命令即可。
在实际的应用中,同一时刻应该尽可能保证每个目标虚拟机被相同数量的其它目标虚拟机所访问,避免同一时刻某些目标虚拟机没有被其它目标虚拟机访问,但还有的目标虚拟机却被大量的其它目标虚拟机所访问,所以在本发明实施例中,作为一种优选的保证所有目标虚拟机等概率处于大压力工作环境的实现方式,上述控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机(S103)的步骤,可以包括:
控制每一个目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机。
在按照随机的访问顺序访问其它目标虚拟机的情况下,同一时刻待测VPC集群中的每一个目标虚拟机都具有相同的概率被其它目标虚拟机所访问,所以在同一时刻,可以尽量保证所有目标虚拟机等概率处于大压力的工作环境。
实际应用中,实现所有目标虚拟机等概率处于大压力工作环境的方式并不限于上述可选方式,本发明实施例在此不做限定,例如,可以将所有目标虚拟机的IP地址列入到IP列表中,并在IP列表中按照从小到大的顺序标识序号,每一个目标虚拟机的按照预设并行访问数量以及序号的顺序,从序号位于该目标虚拟机的序号后的目标虚拟机开始访问,当然,由于是循环访问,所以访问排在最大序号的目标虚拟机后的目标虚拟机即为:IP列表中最小序号的目标虚拟机。
如上表1,假设预设并行访问数量数量为6,则对于目标虚拟机1,在一个循环周期内,其首先同时访问目标虚拟机2~7,然后同时访问目标虚拟机8~13,再同时访问目标虚拟机14~19,最后同时访问目标虚拟机20~25;对于目标虚拟机2,在一个循环周期内,其首先同时访问目标虚拟机3~8,然后同时访问目标虚拟机9~14,再同时访问目标虚拟机15~20,最后同时访问目标虚拟机21~25以及目标虚拟机1;
同理,对于目标虚拟机24,在一个循环周期内,其首先同时访问目标虚拟机25以及目标虚拟机1~5,然后同时访问目标虚拟机6~11,再同时访问目标虚拟机12~17,最后同时访问目标虚拟机18~23;对于目标虚拟机25,在一个循环周期内,其首先同时访问目标虚拟机1~6,然后同时访问目标虚拟机7~12,再同时访问目标虚拟机13~18,最后同时访问目标虚拟机19~24。
目标虚拟机之间的相互访问是受控制的,在实际应用中,一般是向所有的目标虚拟机发送一个命令,使得所有目标虚拟机开始相互访问,即,上述控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机(S103)的步骤,可以包括:
向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于访问命令,按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机。
可以理解的是,为了够快速实现向所有目标虚拟机发送访问命令的目的,上述向上述向所有目标虚拟机发送访问命令的步骤,可以包括:
根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
此处的地址信息可以是指目标虚拟机的IP地址和/或MAC(Media AccessControl,媒体访问控制)地址,例如,上述管理服务器本地存储有所有目标虚拟机的IP地址,即存储有上述IP列表,显然的,在发送上述访问命令时,只需要直接根据各个目标虚拟机的IP地址,即可向所有的目标盘虚拟机发送访问命令。
在本发明实施例中,上述目标虚拟机中预先配置有用于测试的待下载文件;
在此情况下,上述控制每一个目标虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它目标虚拟机的步骤,可以包括:
控制每一个目标虚拟机按照预设的并行访问数量,循环地执行下载待测VPC集群的所有其它目标虚拟机中的待下载文件的操作。
可以理解,目标虚拟机之间的相互访问可以是目标虚拟机从其它目标虚拟机中下载预先存储的待下载文件。应该说明,在此情况下,在步骤S101所涉及的创建目标虚拟机的过程中,还应该在目标虚拟机中配置上述待下载文件以及待下载文件所在网站目录。
例如,现有一将要上线的VPC网络机房,该VPC网络机房包括40台宿主机,每台宿主机中需要创建40台虚拟机,此时,首先在上述40台宿主机中随机选择一台宿主机,并在该宿主机中创建一个虚拟机,然后,在上述所创建的虚拟机中配置上述开机自启动的httpd web服务以及用以支持目标虚拟机进行相互流量访问的测试脚本,并且在所创建的虚拟机中配置上述待下载文件以及待下载文件所在网站目录,以获得一个目标虚拟机a,最后,以该目标虚拟机a为镜像基础,通过镜像的方法创建其余的1599个目标虚拟机。
如图1所示,S104:按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
在本发明实施例中,每间隔上述预设时间间隔后,就去获得一次上述访问数据,例如,每间隔两小时获得一次上述访问数据。
应该说明的是,此处的访问数据的种类应该根据网络稳定性测试所需设定,本发明实施例并不限定访问数据的具体类型,例如常见的成功访问其它目标虚拟机所需时间的最大值、最小值、平均值、访问总次数、成功访问次数和失败访问次数等;例如,对于目标虚拟机a而言,其成功访问其它目标虚拟机所需时间的最大值、最小值和平均值分别为100ms、5ms和20ms,其1小时内访问其它目标虚拟机的次数为2000次,成功访问次数为1956次,失败访问次数为44次。
本发明实施例中,上述访问数据可以是由每个目标虚拟机自身所统计的,一种情况下,上述访问数据可以是目标虚拟机主动记录的,例如,目标虚拟机a主动记录其每次访问其它虚拟机时所需的时间,以及每次访问是否成功等信息;如果不成功,还记录下被访问目标虚拟机的IP地址以及所属宿主机;然后,间隔上述预设时间间隔后,目标虚拟机a统计预设时间间隔内成功访问其它目标虚拟机所需时间的最大值、最小值、平均值;以及访问总次数、成功访问次数、失败访问次数和访问失败时被访问的目标虚拟机b的IP地址以及目标虚拟机b所属的宿主机。
另一种情况下,上述访问数据,也可以是目标虚拟机从本地日志中所获得的,间隔上述预设时间间隔后,目标虚拟机a截取上述预设时间间隔内本地生成的日志,然后从所截取的日志中统计成功访问其它目标宿主机所需时间最大值、最小值和平均值;以及访问总次数、成功访问次数、失败访问次数和访问失败时被访问的目标虚拟机b的IP地址以及目标虚拟机b所属的宿主机。
在本发明实施例中,上述按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据(S104)的步骤,可以包括:
按照预设时间间隔,接收每个目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
或者,按照预设时间间隔,下载各个目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
可以理解,在本发明实施例中,对于每个目标虚拟机统计的访问数据,目标虚拟机可以每间隔预设时间间隔,主动向前述管理服务器发送其在预设时间间隔内所统计的访问数据,以使得管理服务器获得上述访问数据。
例如,上述预设时间间隔为1小时,目标虚拟机每间隔一小时统计前一小时内的访问数据,并且为了方便发送,将所获得的访问数据打包成文件,然后主动将文件发送给上述管理服务器。
另外,对于每个目标虚拟机统计的访问数据,也可以是上述管理服务器主动从每个目标虚拟机中下载目标虚拟机所统计的访问数据,即每间隔预设时间间隔,管理服务器主动向从各个目标虚拟机中下载访问数据。
例如,目标虚拟机在每个整点时间,将所获得的访问数据打包成文件,而上述管理服务器则会在每个整点后第五分钟时从各个目标虚拟机中下载目标虚拟机所打包的文件;比如,在9点时,每个目标虚拟机分别将自身8点至9点间所获得的访问数据打包成文件,管理服务器则会于9点零五分从各个目标虚拟机中下载目标虚拟机所打包的文件。
如图1所示,S105:基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
应该说明的是,此处的目标统计数据可以是对所有的目标虚拟机所对应的访问数据的统计计算后所得到的数据,具体的,目标统计数据的种类可以根据实际需要而设定。
例如,每个目标虚拟机统计有某一预设时间间隔内成功访问其它目标虚拟机所需时间最大值、最小值和平均值,以及成功访问次数、失败访问次数和访问失败时被访问的目标虚拟机的IP地址。
管理服务器获得该预设时间间隔内的上述访问数据后,从各个目标虚拟机分别对应的上述最大值中,确定出极大值;从各个目标虚拟机分别对应的上述最小值中,确定出极小值;根据各个目标虚拟机分别对应的上述平均值,计算任意一个目标虚拟机访问其它目标虚拟机的目标平均值;计算所有目标虚拟机的成功访问总次数和失败访问总次数。
可以理解,上述极大值、极小值、目标平均值、成功访问总次数和失败访问总次数即可以为上述目标统计数据;并且,管理服务器可以每间隔上述预设时间间隔,获得一组目标统计数据。
对于步骤S101~S105,需要说明的是,步骤S101和S102完成的的VPC网络测试环境的部署,而步骤S103~S105则是实际网络稳定性的测试过程,在实际应用中步骤S101~S105可以由同一个执行主体来完成,例如上述管理服务器,当然,S101和S102同样可以由其它的执行主体来完成,例如,测试人员通过去其它工具部署S101和S102所对应的测试环境,然后由上述管理服务器来具体完成网络的稳定性测试。
在现有技术中,如果从VPC集群中筛选某几台宿主机,使用测试工具让所筛选的宿主机在持续高并发、大网络流量的状态下工作,由于测试工具的局限性,测试人员需要分别从每个宿主机中收集性能测试数据,导致测试人员操作繁琐,既耗时又耗人力。
而在本发明实施例中,上述目标统计数据就是对各个目标虚拟机所产生的访问数据的系统性总结,所以还可以减轻测试人员操作的繁琐性,避免耗时耗人力的问题;另外,为了更便于测试人员或其他人员的实时查看,对于所获得的目标统计数据,一种可选的实现方式中,可以将目标统计数据发送给日志文件服务器,以供测试人员或其他人员从日志文件服务器中实时查看目标统计数据。
作为本发明实施例的另一种可选的实现方式,在上述图1或图2所述方法实施例的基础上,如图3所示,在上述基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据(S105)的步骤之后,该方法还可以包括:
S106:将目标统计数据发送给显示设备,以使得显示设备显示目标统计数据。
例如,发送给显示设备后,显示设备将上述目标统计数据显示在一个UI(UserInterface,用户界面界面)上,供测试人员或其他人远查看。
需要说明是,此处所述的显示设备,可以是上述管理服务器所对应的显示设备;也可以是通过web与上述管理服务器相连接的、具有显示功能的主机,例如,管理服务器配置有公网服务,管理服务器获得上述目标统计数据后,将目标统计数据写入到web端,某一主机通过公网访问该管理服务器的web站点,即可获得目标统计数据,并将所获得的目标统计数据显示在自身显示屏上的UI中,供人员查看。
应该说明,在实际应用中,本发明各实施例所提供的方法可以具体应用于管理服务器中设置的测试用虚拟机,为了保证该测试用虚拟机与所有目标虚拟机之间的通信,测试用虚拟机可以被配置在任意一个目标虚拟机所在的子网中;或,测试用虚拟机被配置在与任意一个目标虚拟机所处子网可相互通信的不同子网中。
例如,所有的目标虚拟机配置于可相互通信的子网a~d中,则测试用虚拟机可以被配置在子网a~d中任意一个子网中,或者,测试用虚拟机可以被配置在子网e中,该子网e与子网a~d均可相互通信。
当然,为了实现测试用虚拟机的功能,测试用虚拟机还需要部署web服务、公网服务,并配置用以实现管理控制VPC集群中所有虚拟机的稳定性测试管理端工具。
另外,需要说明的是,VPC集群内所有宿主机的网络稳定性是建立在每一台宿主机上线后所创建出来的虚拟机流量决定的,也就是说在VPC集群中,网络稳定性测试最小单位就是虚拟机级别,而现有技术的方法都局限在宿主机内部,并且大批量地操作虚拟机是现有的测试工具无法满足的。
而在本发明的各个实施例中,在每个宿主机中创建了目标虚拟机,将网络稳定性测试的最小单位设置为虚拟机,并且控制所有的目标虚拟机同时工作,整个稳定性测试方法的单位则可以看作为整个待测VPC集群,而且最后基于所有的目标虚拟机的访问数据生成目标统计数据,整个网络稳定性的测试过程体现了大数据的特点,以保证最后得到的目标统计数据对于网络稳定性的判定具有较好地参考性。
而且,由于本发明实施例的目标虚拟机是配置在VPC网络下的子网中,目标虚拟机之间的相互通信需要依赖通过程序所搭建的VPC网络,例如,目标虚拟机向外发送数据包时,其所在的宿主机中的VPC程序就可以帮助该目标虚拟机转发数据包,所以在进行网络稳定性测试的同时,也对上述VPC程序进行了稳定性测试。
由以上可见,与现有技术相比,本实施例所提供的方案中,每个宿主机中都创建有虚拟机,并且所有的虚拟机被配置在VPC网络下预设数目个、可相互通信的子网中,然后每一个虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它虚拟机,上述测试环境成功模拟了VPC集群在实际应用中的工作环境,进而使得本实施例所提供的方案能够很好地适用于VPC网络;另外,本实施例的方案中所部署的网络环境适用于所有VPC集群,通用性好。
下面,通过一具体实例来对本发明进行简单介绍。
现有一预上线的VPC集群,VPC集群内共有40台宿主机,另布置一管理服务器,现需要对该预上线的VPC集群进行网络稳定性测试。
首先,需要进行测试环境的自动部署:在上述40台宿主机中的任意一台中创建一个虚拟机,作为原始虚拟机;然后,在该原始虚拟机内配置开机自启动的nginx web服务、用以支持目标虚拟机进行相互访问的测试脚本、待下载文件以及该待下载文件的网站目录;获得一个目标虚拟机。
以所获得的一个目标虚拟机为镜像基础,在该VPC集群中的宿主机中创建其它目标虚拟机,以保证每台宿主机中均包含有40个目标虚拟机,即,该VPC集群中最终创建有1600个目标虚拟机。
将上述1600个目标虚拟机平均分配在VPC网络下的4个子网中,即每个子网中分配有400个目标虚拟机,并且收集每个目标虚拟机的IP地址,将所获得的所有目标虚拟机的IP地址生成一个IP列表,并将该IP列表存储在管理服务器本地,同时将该IP列表发送给所有的目标虚拟机。
在上述管理服务器中,于VPC网络下的4个子网中的任意一个子网中创建一个测试用虚拟机,同时在该测试用虚拟机中部署web服务、公网服务,并配置用以实现管理控制VPC集群中所有虚拟机的稳定性测试管理端工具。
在上述网络环境部署好后,测试用虚拟机查询管理服务器本地的IP列表,根据该IP列表中记录的各个目标虚拟机的IP地址,向所有目标虚拟机发送访问命令,即向其它目标虚拟机发送获取待下载文件的命令。
对于任意一个目标虚拟机,在接收到上述访问命令后,开始基于测试用虚拟机所发送的IP列表,按照每次同时访问20个目标虚拟机的并行访问数量,随机循环访问其它1599个目标虚拟机。
目标虚拟机从访问其它目标虚拟机开始,每间隔一个小时,截取一次前一小时内自身所产生的日志文件,并从该日志文件中统计自身的访问数据,包括:前一小时内该目标虚拟机成功下载其它各个目标虚拟机中的待下载文件所需时间的最大值、最小值和平均值,以及下载上述待下载文件的成功次数、失败次数和下载失败时被访问的目标虚拟机的IP地址。
同时,该测试用虚拟机在目标虚拟机每次统计自身的访问数据后的第五分钟时,从各个目标虚拟机中下载各个目标虚拟机所统计的访问数据。
测试用虚拟机下载获得前一小时内的上述访问数据后,从各个目标虚拟机分别对应的上述最大值中,确定出极大值;从各个目标虚拟机分别对应的上述最小值中,确定出极小值;根据各个目标虚拟机分别对应的上述平均值,计算任意一个目标虚拟机下载其它目标虚拟机中待下载文件所需时间的目标平均值;针对所有目标虚拟机,计算下载上述待下载文件成功总次数、失败总次数,并统计下载失败时被访问的目标虚拟机的IP地址。
测试用虚拟机将上述极大值、极小值、目标平均值、成功总次数、失败总次数以及下载失败时被访问的目标虚拟机的IP地址作为上述目标统计数据;将目标统计数据写入到自身配置的公网服务所建立的web站点上,然后在其他主机访问该web站点时,将统计获得的目标统计数据发送给该主机,则该主机可以将目标统计数据显示在自身显示屏中的UI上,供人员实时查看。
相应于图1所示方法实施例,如图4所示,本发明实施例还提供了一种VPC集群的网络稳定性测试装置,所述装置包括:
创建模块110,用于为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;
配置模块120,用于将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
控制模块130,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
获得模块140,用于按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
生成模块150,用于基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
在实际应用中,所述控制模块130,可以具体用于控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
在实际应用中,所述控制模块130,可以具体用于向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
在实际应用中,具体的,所述控制模块130,可以根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
在实际应用中,具体的,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述控制模块130,可以具体用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述待下载文件的操作。
在实际应用中,所述获得模块140,可以具体用于:按照预设时间间隔,接收每个所述目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
或者,按照预设时间间隔,下载各个所述目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
在实际应用中,相应于图2所示方法实施例,如图5所示,具体的,所述创建模块110,可以包括:
第一创建子模块1101,用于在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;
安装子模块1102,用于在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;
第二创建子模块1103,用于以所获得的目标虚拟机为镜像基础,在待测VPC集群中的宿主机中创建其它目标虚拟机。
在实际应用中,相应于图3所示方法实施例,如图6所示,具体的,所述装置还可以包括:
发送模块160,用于将生成的所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
由以上可见,与现有技术相比,本实施例所提供的方案中,每个宿主机中都创建有虚拟机,并且所有的虚拟机被配置在VPC网络下预设数目个、可相互通信的子网中,然后每一个虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它虚拟机,上述测试环境成功模拟了VPC集群在实际应用中的工作环境,进而使得本实施例所提供的方案能够很好地适用于VPC网络;另外,本实施例的方案中所部署的网络环境适用于所有VPC集群,通用性好。
相应于图1所示方法实施例,如图7所示,本发明实施例还提供了一种VPC集群的网络稳定性测试系统,所述系统包括:待测VPC集群中的宿主机和管理服务器,图中的宿主机1~n构成了待测VPC集群;
每台所述宿主机中被所创建有预设数量个目标虚拟机;
所有所述目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
所述管理服务器,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据;
每台所述宿主机中的各个目标虚拟机,用于在所述管理服务器的控制下,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
具体的,所述管理服务器,可以控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,可以在所述管理服务器的控制下,按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
具体的,所述管理服务器,可以向所有目标虚拟机发送访问命令,以控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,可以具体用于基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
在实际应用中,具体的,所述管理服务器中存储有每个目标虚拟机的地址信息;
所述管理服务器,可以根据各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
在实际应用中,具体的,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述管理服务器,可以控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作;
所述目标虚拟机,可以在所述管理服务器的控制下,按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作。
在实际应用中,具体的,所述目标虚拟机,可以从本地日志中获得自身与其它目标虚拟机之间的访问数据;
所述管理服务器,可以按照预设时间间隔,接收每个所述目标虚拟机发送的所述访问数据;或者,按照预设时间间隔,下载各个所述目标虚拟机中的所述访问数据。
在实际应用中,具体的,所述每台宿主机中创建的预设数量个目标虚拟机由所述管理服务器预先创建,所述管理服务器还可以用于预先在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;以所获得的目标虚拟机为镜像基础,在待测VPC集群中的宿主机中创建其它目标虚拟机。
在实际应用中,具体的,所述系统还可以包括显示设备;
所述管理服务器,还可以用于在生成用于评测网络稳定性的目标统计数据之后,将所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
在实际应用中,具体的,所述管理服务器可以创建有测试用虚拟机;
所述测试用虚拟机被配置在任意一个所述目标虚拟机所在的子网中;或,所述测试用虚拟机被配置在与任意一个所述目标虚拟机所处子网可相互通信的不同子网中;
由所述测试用虚拟机,控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;获得每个目标虚拟机在第一预设时长内统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
由以上可见,与现有技术相比,本实施例所提供的方案中,每个宿主机中都创建有虚拟机,并且所有的虚拟机被配置在VPC网络下预设数目个、可相互通信的子网中,然后每一个虚拟机按照预设的并行访问数量,循环访问待测VPC集群中的所有其它虚拟机,上述测试环境成功模拟了VPC集群在实际应用中的工作环境,进而使得本实施例所提供的方案能够很好地适用于VPC网络;另外,本实施例的方案中所部署的网络环境适用于所有VPC集群,通用性好。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (25)

1.一种VPC集群的网络稳定性测试方法,其特征在于,所述方法包括:
为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;预设数量为根据待测VPC集群中的访问流量达到预设的流量阈值时,各宿主机中的虚拟机的数目确定的;
将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
2.根据权利要求1所述的方法,其特征在于,所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
3.根据权利要求1所述的方法,其特征在于,所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
4.根据权利要求3所述的方法,其特征在于,所述向所有目标虚拟机发送访问命令的步骤,包括:
根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
5.根据权利要求1所述的方法,其特征在于,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机的步骤,包括:
控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述待下载文件的操作。
6.根据权利要求1所述的方法,其特征在于,所述按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据的步骤,包括:
按照预设时间间隔,接收每个所述目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
或者,按照预设时间间隔,下载各个所述目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述为待测VPC集群的每台宿主机创建预设数量的目标虚拟机的步骤,包括:
在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;
在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;
以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
8.根据权利要求7所述的方法,其特征在于,在所述基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据之后,所述方法还包括:
将所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
9.一种VPC集群的网络稳定性测试装置,其特征在于,所述装置包括:
创建模块,用于为待测VPC集群的每台宿主机创建预设数量的目标虚拟机;预设数量为根据待测VPC集群中的访问流量达到预设的流量阈值时,各宿主机中的虚拟机的数目确定的;
配置模块,用于将所有目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
控制模块,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
获得模块,用于按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
生成模块,用于基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
10.根据权利要求9所述的装置,其特征在于,所述控制模块,具体用于控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
11.根据权利要求9所述的装置,其特征在于,所述控制模块,具体用于向所有目标虚拟机发送访问命令,以使得每一个目标虚拟机基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
12.根据权利要求11所述的装置,其特征在于,所述控制模块,根据预先存储的各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
13.根据权利要求9所述的装置,其特征在于,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述控制模块,具体用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述待下载文件的操作。
14.根据权利要求9所述的装置,其特征在于,所述获得模块,具体用于按照预设时间间隔,接收每个所述目标虚拟机发送的、从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;
或者,按照预设时间间隔,下载各个所述目标虚拟机从本地日志中统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据。
15.根据权利要求9~14任一项所述的装置,其特征在于,所述创建模块,包括:
第一创建子模块,用于在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;
安装子模块,用于在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;
第二创建子模块,用于以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
发送模块,用于将生成的所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
17.一种VPC集群的网络稳定性测试系统,其特征在于,所述系统包括:待测VPC集群中的宿主机和管理服务器;
每台所述宿主机中被所创建有预设数量个目标虚拟机;预设数量为根据待测VPC集群中的访问流量达到预设的流量阈值时,各宿主机中的虚拟机的数目确定的;
所有所述目标虚拟机配置在VPC网络下预设数目个、可相互通信的子网中;
所述管理服务器,用于控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;按照预设时间间隔,获得每个目标虚拟机统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据;
每台所述宿主机中的各个目标虚拟机,用于在所述管理服务器的控制下,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
18.根据权利要求17所述的系统,其特征在于,
所述管理服务器,控制每一个所述目标虚拟机按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,在所述管理服务器的控制下,按照随机的访问顺序以及预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
19.根据权利要求17所述的系统,其特征在于,
所述管理服务器,向所有目标虚拟机发送访问命令,以控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;
所述目标虚拟机,具体用于基于所述访问命令,按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机。
20.根据权利要求19所述的系统,其特征在于,所述管理服务器中存储有每个目标虚拟机的地址信息;
所述管理服务器,根据各个目标虚拟机的地址信息,向各个目标虚拟机发送访问命令。
21.根据权利要求17所述的系统,其特征在于,所述目标虚拟机中预先配置有用于测试的待下载文件;
所述管理服务器,控制每一个所述目标虚拟机按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作;
所述目标虚拟机,在所述管理服务器的控制下,按照预设的并行访问数量,循环地执行下载所述待测VPC集群的所有其它目标虚拟机中的所述被下载文件的操作。
22.根据权利要求17所述的系统,其特征在于,
所述目标虚拟机,从本地日志中获得自身与其它目标虚拟机之间的访问数据;
所述管理服务器,按照预设时间间隔,接收每个所述目标虚拟机发送的所述访问数据;或者,按照预设时间间隔,下载各个所述目标虚拟机中的所述访问数据。
23.根据权利要求17~22任一项所述的系统,其特征在于,
所述每台宿主机中创建的预设数量个目标虚拟机由所述管理服务器预先创建,所述管理服务器还用于预先在待测VPC集群的任意一个宿主机中创建一个虚拟机,作为原始虚拟机;在所述原始虚拟机中安装用以虚拟机间流量访问的配置,获得目标虚拟机;以所获得的目标虚拟机为镜像基础,在所述待测VPC集群中的宿主机中创建其它目标虚拟机。
24.根据权利要求23所述的系统,其特征在于,所述系统还包括显示设备;
所述管理服务器,还用于在生成用于评测网络稳定性的目标统计数据之后,将所述目标统计数据发送给显示设备,以使得所述显示设备显示所述目标统计数据。
25.根据权利要求17所述的系统,其特征在于,所述管理服务器创建有测试用虚拟机;
所述测试用虚拟机被配置在任意一个所述目标虚拟机所在的子网中;或,所述测试用虚拟机被配置在与任意一个所述目标虚拟机所处子网可相互通信的不同子网中;
由所述测试用虚拟机,控制每一个所述目标虚拟机按照预设的并行访问数量,循环访问所述待测VPC集群中的所有其它目标虚拟机;获得每个目标虚拟机在第一预设时长内统计的该目标虚拟机自身与其它目标虚拟机之间的访问数据;基于所获得的访问数据,生成用于评测网络稳定性的目标统计数据。
CN201710228017.6A 2017-04-10 2017-04-10 一种vpc集群的网络稳定性测试方法、装置及系统 Active CN108694116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710228017.6A CN108694116B (zh) 2017-04-10 2017-04-10 一种vpc集群的网络稳定性测试方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710228017.6A CN108694116B (zh) 2017-04-10 2017-04-10 一种vpc集群的网络稳定性测试方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108694116A CN108694116A (zh) 2018-10-23
CN108694116B true CN108694116B (zh) 2021-07-20

Family

ID=63843282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710228017.6A Active CN108694116B (zh) 2017-04-10 2017-04-10 一种vpc集群的网络稳定性测试方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108694116B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150298B (zh) * 2021-03-31 2023-11-03 北京金山云网络技术有限公司 虚拟网关的测试方法及装置、存储介质、电子设备
CN115914055A (zh) * 2021-08-06 2023-04-04 贵州白山云科技股份有限公司 分布式网络测试方法、装置、介质及设备
CN115378853B (zh) * 2022-08-23 2023-06-16 支付宝(杭州)信息技术有限公司 一种网络监控方法、装置和设备
CN116132328A (zh) * 2023-02-10 2023-05-16 北京安锐卓越信息技术股份有限公司 网络压力测试方法、装置、存储介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9521053B1 (en) * 2014-10-28 2016-12-13 Amazon Technologies, Inc. Providing diagnostic metrics for virtual connections over physical connections into a provider network
CN105847088A (zh) * 2016-05-18 2016-08-10 浪潮电子信息产业股份有限公司 一种基于云服务的虚拟机性能测试系统

Also Published As

Publication number Publication date
CN108694116A (zh) 2018-10-23

Similar Documents

Publication Publication Date Title
CN108694116B (zh) 一种vpc集群的网络稳定性测试方法、装置及系统
Sundaresan et al. {BISmark}: A testbed for deploying measurements and applications in broadband access networks
US8949399B2 (en) Dynamic configuration of virtual machines
US7440415B2 (en) Virtual network addresses
CN104780115B (zh) 云计算环境中负载均衡方法及系统
US9100353B2 (en) Cloud server for managing hostnames and IP addresses, and management method for the cloud server
CN110879712B (zh) 一种云数据中心物理主机装机方法及相关装置
US20030163341A1 (en) Apparatus and method of dynamically updating dynamic host configuration protocol (DHCP) options
CN104717107B (zh) 网络设备探测的方法、装置及系统
CN104579887A (zh) 云网关、云网关创建配置系统及方法
CN107273186A (zh) 访问虚拟机服务器的方法、物理主机以及虚拟机
CN105635342A (zh) 建立连接的方法、域名服务器以及存储节点
CN113645314B (zh) 一种私有云的部署方法和服务器
US9866466B2 (en) Simulating real user issues in support environments
CN107547674A (zh) 地址分配方法和装置
CN106452860B (zh) 一种设备部署方法及装置
CN113268254A (zh) 一种集群系统安装方法、装置、电子设备及存储介质
CN110247778B (zh) 操作系统安装方法、装置、电子设备及存储介质
CN109474484A (zh) Cdn的检查方法及装置、系统
CN113766041A (zh) 获取第一服务器媒体访问控制mac地址的方法及装置
CN111756870A (zh) 一种IPv6地址配置方法、装置、设备及可读存储介质
CN109151859B (zh) 一种网口无固定ip的ap产品的多机测试方法
CN116318879A (zh) 基于阿里云对象存储的内容分发网络回源方法及系统
US20220321457A1 (en) Route discovery for failure detection in computer networks
CN112040027B (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