CN112559129A - Device and method for testing load balancing function and performance of virtualization platform - Google Patents

Device and method for testing load balancing function and performance of virtualization platform Download PDF

Info

Publication number
CN112559129A
CN112559129A CN202011489323.3A CN202011489323A CN112559129A CN 112559129 A CN112559129 A CN 112559129A CN 202011489323 A CN202011489323 A CN 202011489323A CN 112559129 A CN112559129 A CN 112559129A
Authority
CN
China
Prior art keywords
test
performance
cluster
virtualization platform
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.)
Granted
Application number
CN202011489323.3A
Other languages
Chinese (zh)
Other versions
CN112559129B (en
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202011489323.3A priority Critical patent/CN112559129B/en
Publication of CN112559129A publication Critical patent/CN112559129A/en
Application granted granted Critical
Publication of CN112559129B publication Critical patent/CN112559129B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a device and a method for testing the load balancing function and performance of a virtualization platform. The method comprises the following steps: the environment configuration module reads the test configuration file and initializes the test environment; the data acquisition module acquires and stores basic performance data of the test cluster; the load sending module sends a task request to the load balancer; and the analysis evaluation module calculates the load balancing performance and generates a test report. The method utilizes the basic performance data of the virtualization platform test cluster when receiving the load, extracts the performance test indexes from multiple angles, determines the weight of each performance test index by an entropy method, and finally obtains the virtualization platform load balancing performance score to realize the comprehensive evaluation of the virtualization platform load balancing function.

Description

Device and method for testing load balancing function and performance of virtualization platform
Technical Field
The invention belongs to the technical field of automatic testing, and further relates to a virtualization technology-based device and a virtualization technology-based method for testing the load balancing function and performance of a virtualization platform. The invention can be used for testing the load balancing function and performance of the virtualization platform.
Background
In recent years, cloud platforms are becoming the first choice for each software vendor to deploy services. The bottom layer of the cloud platform is realized based on a virtualization technology, so that the cloud platform is a specific example of a virtualization platform, and the virtualization platform is generalization of the cloud platform. The virtualization platform is a platform with resource sharing, consumption on demand, dynamic expansion and load balancing. For the platform, the load balancing function is one of the main functions provided by the platform, wherein two roles are involved, namely a virtualization platform service provider and a virtualization platform service buyer. For a virtualization platform service provider, a load balancing function is an important direction for research, and in order to enable the load balancing function to achieve better performance, the virtualization platform service provider can continuously optimize an algorithm of the load balancing function; for a virtualization platform service purchaser, the quality of different virtualization platform load balancing functions needs to be compared according to business requirements, so that the most suitable virtualization platform load balancing service is selected.
In conclusion, a reasonable load balancing test method is of great importance. However, the existing testing methods for the virtualization service platform at home and abroad mostly pay attention to the evaluation of the overall performance of the virtualization service platform; the evaluation of the load balancing function of the virtualization platform is only in a simpler test stage. Therefore, an objective and fair load balancing test method is required to evaluate the quality of the load balancing function.
Suzhou Langchao Intelligent science and technology limited discloses a method and a device for automatically testing load balancing characteristics of a virtualization platform in the patent document 'method, device, system and equipment for testing load balancing characteristics' (patent application No. 201910290965.1 application publication No.: CN 109981419A). The device disclosed in the patent document comprises a request receiving module, a script uploading module and a test result analyzing module. The request receiving module is used for receiving a test request for the load balancing characteristic test and establishing a test cluster; the script uploading module is used for uploading the test script to the test cluster and running the script in the cluster to obtain a test log of each node of the cluster; the test result analysis module comprises a load value determination unit and a result judgment unit, and judges whether the load balancing characteristic test is successful according to the determined load value after receiving the test log. The device has the following disadvantages: because the test result analysis module directly obtains the test result of each node through the script uploading module, the obtained test data can not be stored persistently, and the comparison and evaluation of different load balancing functions according to historical test data are not facilitated when testers test other platform load balancing functions. The automatic testing method comprises the steps that firstly, a management node determines a configuration file according to a test request of a user, wherein the configuration file comprises a test preset threshold, a test cluster size, a load type and a load size, and a test cluster is constructed according to the configuration file; then uploading a test script for testing load balancing characteristics to the test cluster, enabling the test cluster to run the test script, and according to the node load condition, balancing and distributing load requests to obtain a load log of each node; and finally, receiving a test log of the test cluster, and judging whether each node is in load balance or not by using the final load state of each node recorded in the test log. The automated testing method has the following defects: the method comprises the following steps that a tester is required to manually configure a predetermined threshold value of load balancing, and the predetermined threshold value is a key parameter for determining whether a load balancing characteristic test is successful, so that the test can be greatly interfered by human factors; whether the load balancing characteristic meets the requirement or not is judged by detecting whether the difference value of the maximum load value and the minimum load value is larger than a preset threshold value or not, only testers can judge whether the load balancing service of the virtualization platform is available or not, but under the condition that various load balancing services of the virtualization platform are available, the quality of the load balancing service of different virtualization service platforms is difficult to further compare, and the most suitable load balancing service cannot be selected.
MR Mesbahi et al, in its published paper "Performance Evaluation and Analysis of Load Balancing algorithms in Cloud Computing Environments" (International Conference on Web Research, pp145-pp151,2016), mentioned a method for testing the Performance of Cloud platform Load Balancing algorithms. The testing method comprises the steps that firstly, flow routing strategies for processing the flow between a user base and a data center are configured on a cloud platform simulator, wherein the strategies comprise three strategies of a nearest data center, response time optimization and load dynamic reconfiguration; then selecting different load balancing strategies on a component VMLoadBalancer for simulating load scheduling of the data center, wherein the strategies comprise three strategies of polling, throttling and evenly distributing the current execution load; after the two steps are configured according to actual test requirements, at most nine common cloud platform load balancing strategy combinations can be obtained, loads of the same type and the same size are sent to a cloud platform simulator according to user test requirements in each test, and response time of each node is obtained; and finally, respectively calculating the average response time and the cost overhead of each algorithm, and comparing and evaluating each load balancing algorithm. The testing method has the following defects: the selected performance test indexes are too simple, the load balancing function is evaluated only by average response time and cost overhead, and when the factors are not main factors to be considered by a tester, the tester is difficult to compare the quality of the load balancing service according to the test result; and comparing each performance test index independently, and not aggregating the test indexes to form an integral load balancing performance evaluation model and an evaluation system, so that the load balancing function of the virtualization service platform cannot be comprehensively evaluated.
Disclosure of Invention
The invention aims to provide a testing device and a testing method for load balancing function and performance of a virtualization platform, aiming at the problems in the prior art, and the testing device and the testing method are used for solving the problems that the prior method mainly focuses on evaluating basic performance data of the load balancing function of the virtualization platform, an evaluation system suitable for different load balancing functions of the virtualization platform is not formed, and technical support for objective testing of the load balancing function of the virtualization platform is difficult to provide in the actual production and use process of a virtualization platform service provider and a virtualization platform service buyer.
The idea of achieving the purpose of the invention is to provide four performance test indexes capable of indirectly reflecting the load balancing capability of the virtualization platform from the perspective of paying attention to the load balancing function of the virtualization platform in an actual production environment by a virtualization platform service provider and a virtualization platform service purchaser by combining the characteristics of the virtualization platform and the advantages of the existing load balancing performance test technology, wherein the performance test indexes can be obtained by calculating basic performance data of a test cluster when receiving a load, and the weight of each index in the performance test indexes is determined by an entropy method.
In order to achieve the purpose, the device comprises an environment configuration module, a data acquisition module, a data storage module, a load sending module and an analysis and evaluation module.
The environment configuration module is used for reading a test configuration file; acquiring a management authority of the virtualization platform through authentication service interaction with the virtualization platform, and then interacting with the virtualization platform through the authority to create a load balancer; calling an interface provided by a virtualization platform according to the scale of the test cluster virtual machines, the number of the test cluster virtual machines and the mirror images of the test cluster virtual machines in the configuration file, creating a plurality of virtual machines as a test cluster, and adding an IP address of the test cluster into a load balancing pool of a load balancer;
the data acquisition module is used for carrying out a benchmark performance data test on the test cluster, and acquiring basic performance data of the test cluster as benchmark performance data of a load balancing function through the virtualization platform monitoring system when a task request is not sent; when a load balancer receives a task request, basic performance data of a test cluster is collected through a virtualization platform monitoring system;
the data storage module is used for storing the measured reference performance data into a database for persistent storage; storing the measured basic performance data into a database for persistent storage;
the load sending module is used for generating a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifying the url addresses in the HTTP GET request according to a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructing the task requests of different types, and sending the constructed task requests to the load balancer; counting the quantity of each type of constructed task request respectively, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the requirement that the quantity of the type of task requests in the configuration file in the total quantity of the task requests; judging whether the number of load sending rounds is equal to the preset maximum number of testing rounds in the configuration file, if so, entering the next step to calculate the load balancing performance, otherwise, adding 1 to the value of the number of load sending rounds and then repeatedly executing the load sending step;
the analysis and evaluation module is used for calculating the performance loss of each test round test cluster when receiving the task request; calculating the responsiveness of each test round test cluster when receiving the task request; calculating the resource balance degree of each test round test cluster when receiving the task request; calculating the invalid request rate of the total time block when each test round test cluster receives the task request; selecting a performance test index corresponding to the residual test round number according to the weight test round number in the configuration file, and determining the weight of each index in the performance test indexes by an entropy method; subtracting the weight number of testing rounds from the maximum number of testing rounds to serve as the number of remaining testing rounds, and carrying out arithmetic mean weighted summation on performance testing indexes corresponding to the number of remaining testing rounds to obtain a load balancing performance score of the virtualization platform; and generating a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.
The method of the invention comprises the following steps:
(1) the environment configuration module reads the test configuration file;
(2) initializing a test environment:
(2a) the environment configuration module acquires the management authority of the virtualization platform through the authentication service interaction with the virtualization platform, and then interacts with the virtualization platform through the authority to create a load balancer;
(2b) the environment configuration module calls an interface provided by a virtualization platform according to the scale of the test cluster virtual machines, the number of the test cluster virtual machines and the test cluster virtual machine images in the configuration file, creates a plurality of virtual machines as a test cluster, and adds the IP address of the test cluster into a load balancing pool of a load balancer;
(3) collecting and storing benchmark performance data of the test cluster:
the data acquisition module performs a benchmark performance data test on the test cluster, when a task request is not sent, basic performance data of the test cluster are acquired through the virtualization platform monitoring system and serve as benchmark performance data of a load balancing function, and the data storage module stores the measured benchmark performance data into a database for persistent storage;
(4) sending a task request to a load balancer:
the load sending module generates a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifies url addresses in the HTTP GET requests through a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructs the task requests of different types, and sends the constructed task requests to a load balancer; counting the quantity of each type of constructed task request respectively, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the requirement that the quantity of the type of task requests in the configuration file in the total quantity of the task requests;
(5) collecting and storing basic performance data when a testing cluster receives a task request:
the data acquisition module acquires basic performance data of the test cluster through the virtualization platform monitoring system when the load balancer receives the task request; the data storage module stores the measured basic performance data into a database for persistent storage;
(6) the load sending module judges whether the load sending round number is equal to the maximum testing round number preset in the configuration file, if so, the step (7) is executed, otherwise, the step (4) is executed after the value of the load sending round number is added with 1;
(7) calculating load balancing performance:
(7a) according to the following formula, the analysis and evaluation module calculates the performance loss of each test turn test cluster when receiving the task request:
Figure BDA0002840280230000051
wherein lpRepresenting the performance loss of the p test round test cluster at the time of receiving the task request, npRepresenting the duration of the p test round test cluster receiving the task request, i representing the serial number in the time sequence of the p test round test cluster receiving the task request duration, b representing the reference performance of the test cluster, wherein the reference performance takes the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate in the reference performance data, and qpiThe practical performance of the test cluster at the ith test turn in the ith second is represented, and the value of the practical performance is the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate at the ith test turn in the basic test data, lpThe smaller the value of (A), the better the load balancing performance of the virtualization platform;
(7b) according to the following formula, the analysis and evaluation module calculates the responsiveness of each test turn test cluster when receiving the task request:
Figure BDA0002840280230000052
wherein r ispRepresenting the responsiveness of the test cluster of the p test round when receiving the task request, e representing a natural constant, DpRepresenting the number of task requests lost when the p test round test cluster receives the task requests, Q representing the total number of the task requests constructed by the load sending module, rpThe smaller the value of (A), the better the load balancing performance of the virtualization platform;
(7c) according to the following formula, the analysis and evaluation module calculates the resource balance degree of each test round test cluster when receiving the task request:
Figure BDA0002840280230000053
wherein d ispRepresenting the resource distribution balance of the p test round test cluster when receiving the task request, cpRepresents the standard deviation of CPU utilization rate, m, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the memory utilization rate, w, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, opRepresenting the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, dpThe smaller the cluster load balancing performance is, the better the cluster load balancing performance is tested;
(7d) the analysis and evaluation module calculates the invalid request rate of the total time block of each test round test cluster when receiving the task request, and the ratio of the overtime task request number per second to the total request number per second in the basic performance data of the test cluster when receiving the task request is used as the invalid request rate per second of the test round; calculating an arithmetic mean value of all invalid request rates within the duration of each test round, wherein the arithmetic mean value is used as the invalid request rate of the total time block of the test cluster of the test round, and the smaller the invalid request rate of the total time block is, the better the load balancing performance of the test cluster is;
(7e) the analysis evaluation module selects a performance test index corresponding to the residual test round number according to the weight test round number in the configuration file, and determines the weight of each index in the performance test indexes by an entropy method; subtracting the weight number of testing rounds from the maximum number of testing rounds to serve as the number of remaining testing rounds, and carrying out arithmetic mean weighted summation on performance testing indexes corresponding to the number of remaining testing rounds to obtain a load balancing performance score of the virtualization platform;
(8) and (3) generating a test report:
and the analysis and evaluation module generates a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.
Compared with the prior art, the invention has the following advantages:
firstly, the data storage module in the device can persistently store basic test data and support viewing of historical test data, the device is friendly to testers in operation, and the problem that the testers need to repeatedly test the tested virtualization platform each time in the prior art is solved, so that the device has the advantages of reducing the complex and redundant repeated test work of the testers and improving the efficiency of testing the load balancing function of the virtualization platform.
Secondly, in the method, from the perspective of a virtualization platform service provider and a virtualization service purchaser, performance loss, availability, resource balance degree and total time block invalid request rate are selected as performance test indexes, a load balance performance formula is definitely provided, quantitative comprehensive evaluation is performed on the load balance function of the virtualization service platform, the problems that evaluation indexes in the prior art are too simple and difficult to quantify are solved, and the method has the advantage of quantitatively comparing the practicability of different virtualization platform load balance functions.
Drawings
FIG. 1 is a block diagram of the apparatus of the present invention;
FIG. 2 is a flow chart of the method of the present invention.
Detailed Description
The present invention is described in further detail below with reference to the attached drawing figures.
The apparatus of the present invention is clearly and completely described with reference to fig. 1.
The device comprises an environment configuration module, a data acquisition module, a data storage module, a load sending module and an analysis and evaluation module.
The environment configuration module is used for reading a test configuration file; acquiring a management authority of the virtualization platform through authentication service interaction with the virtualization platform, and then interacting with the virtualization platform through the authority to create a load balancer; and calling an interface provided by a virtualization platform according to the test cluster virtual machine scale, the test cluster virtual machine number and the test cluster virtual machine mirror image in the configuration file, creating a plurality of virtual machines as a test cluster, and adding the test cluster IP address into a load balancing pool of a load balancer.
The data acquisition module is used for carrying out a benchmark performance data test on the test cluster, and acquiring basic performance data of the test cluster as benchmark performance data of a load balancing function through the virtualization platform monitoring system when a task request is not sent; and when the load balancer receives the task request, acquiring basic performance data of the test cluster through the virtualization platform monitoring system.
The data storage module is used for storing the measured reference performance data into a database for persistent storage; and storing the measured basic performance data into a database for persistent storage.
The load sending module is used for generating a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifying the url addresses in the HTTP GET request according to a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructing the task requests of different types, and sending the constructed task requests to the load balancer; counting the quantity of each type of constructed task request respectively, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the requirement that the quantity of the type of task requests in the configuration file in the total quantity of the task requests; and judging whether the number of load sending rounds is equal to the preset maximum number of testing rounds in the configuration file, if so, entering the next step to calculate the load balancing performance, otherwise, adding 1 to the value of the number of load sending rounds and then repeatedly executing the load sending step.
The analysis and evaluation module is used for calculating the performance loss of each test round test cluster when receiving the task request; calculating the responsiveness of each test round test cluster when receiving the task request; calculating the resource balance degree of each test round test cluster when receiving the task request; calculating the invalid request rate of the total time block when each test round test cluster receives the task request; selecting a performance test index corresponding to the residual test round number according to the weight test round number in the configuration file, and determining the weight of each index in the performance test indexes by an entropy method; subtracting the weight number of testing rounds from the maximum number of testing rounds to serve as the number of remaining testing rounds, and carrying out arithmetic mean weighted summation on performance testing indexes corresponding to the number of remaining testing rounds to obtain a load balancing performance score of the virtualization platform; and generating a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.
The method of the present invention is described in further detail with reference to fig. 2.
Step 1, an environment configuration module reads a test configuration file.
And 2, initializing a test environment.
The environment configuration module acquires the management authority of the virtualization platform through the authentication service interaction with the virtualization platform, and then interacts with the virtualization platform through the authority to create a load balancer.
The environment configuration module calls an interface provided by the virtualization platform according to the test cluster virtual machine scale, the test cluster virtual machine number and the test cluster virtual machine mirror image in the configuration file, creates a plurality of virtual machines as a test cluster, and adds the test cluster IP address into a load balancing pool of the load balancer.
And 3, collecting and storing the benchmark performance data of the test cluster.
The data acquisition module is used for carrying out benchmark performance data test on the test cluster, when a task request is not sent, the basic performance data of the test cluster are acquired through the virtualization platform monitoring system and serve as benchmark performance data of a load balancing function, the data storage module is used for storing the measured benchmark performance data into the database for persistent storage, and the basic performance data comprise CPU utilization rate, memory utilization rate, network inflow bandwidth utilization rate, network outflow bandwidth utilization rate, packet loss task request number, task request total number and overtime task request number.
Because the task request is not sent, the performance of the virtualization platform is necessarily higher at the moment and is close to the performance level of the virtualization platform under the ideal condition, and the performance of the virtualization platform acquired in the way can be regarded as the reference performance of the virtualization platform.
And 4, sending a task request to the load balancer.
The load sending module generates a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifies the url addresses in the HTTP GET requests through a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructs different types of task requests, wherein the types of the task requests comprise calculation intensive task requests, IO intensive task requests and memory intensive task requests, and sends the constructed task requests to a load balancer; and respectively counting the quantity of each type of constructed task request, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file.
And 5, collecting and storing basic performance data of the test cluster.
The data acquisition module acquires basic performance data of the test cluster through the virtualization platform monitoring system when the load balancer receives the task request; and the data storage module stores the measured basic performance data into a database for persistent storage.
And 6, judging whether the load sending wheel number is equal to the maximum testing wheel number preset in the configuration file or not by the load sending module, if so, executing a step 7, and if not, adding 1 to the value of the load sending wheel number and then executing a step 4.
And 7, calculating the load balancing performance.
Due to the existence of the virtualization platform, server resources of the virtualization platform can be more efficiently distributed and managed, the virtualization platform has the rapid expansion and contraction capacity, a virtualization platform service purchaser can apply for server resources of any size at any time, and the load balancing function is used for keeping the stability of the application performance of the virtualization platform service purchaser in the rapid expansion and contraction process of the server resources. The virtualization platform load balancing function has two roles which are respectively a virtualization platform service provider and a virtualization platform service purchaser, and from the perspective of the virtualization platform service provider, the virtualization platform service provider can pay more attention to the performance loss and the resource balance degree of the externally provided service; from the perspective of the virtualization platform service buyer, the virtualization platform service buyer can pay more attention to the responsiveness and the total time block invalid request rate of the purchase service. In summary, the present invention provides four performance test indicators for indirectly reflecting the load balancing function of the virtualization platform, including performance loss, responsiveness, resource balancing degree, and total time block invalid request rate.
According to the following formula, the analysis and evaluation module calculates the performance loss of each test turn test cluster when receiving the task request:
Figure BDA0002840280230000091
wherein lpRepresenting the performance loss of the p test round test cluster at the time of receiving the task request, npRepresenting the duration of the p test round test cluster receiving the task request, i representing the serial number in the time sequence of the p test round test cluster receiving the task request duration, b representing the reference performance of the test cluster, wherein the reference performance takes the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate in the reference performance data, and qpiThe practical performance of the test cluster at the ith test turn in the ith second is represented, and the value of the practical performance is the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate at the ith test turn in the basic test data, lpThe smaller the value of (c), the better the virtualization platform load balancing performance.
According to the following formula, the analysis and evaluation module calculates the responsiveness of each test turn test cluster when receiving the task request:
Figure BDA0002840280230000101
wherein r ispRepresenting the responsiveness of the test cluster of the p test round when receiving the task request, e representing a natural constant, DpRepresenting the number of task requests lost when the p test round test cluster receives the task requests, Q representing the total number of the task requests constructed by the load sending module, rpThe smaller the value of (c), the better the virtualization platform load balancing performance.
According to the following formula, the analysis and evaluation module calculates the resource balance degree of each test round test cluster when receiving the task request:
Figure BDA0002840280230000102
wherein d ispRepresenting the resource distribution balance of the p test round test cluster when receiving the task request, cpRepresents the standard deviation of CPU utilization rate, m, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the memory utilization rate, w, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, opRepresenting the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, dpThe smaller the test cluster load balancing performance is.
The analysis and evaluation module calculates the invalid request rate of the total time block of each test round test cluster when receiving the task request, and the ratio of the overtime task request number per second to the total request number per second in the basic performance data of the test cluster when receiving the task request is used as the invalid request rate per second of the test round; and calculating an arithmetic mean value of all invalid request rates within the duration of each test round, wherein the arithmetic mean value is used as the invalid request rate of the total time block of the test cluster of the test round, and the smaller the invalid request rate of the total time block is, the better the load balancing performance of the test cluster is.
The analysis evaluation module selects performance test indexes corresponding to the residual test rounds according to the weight test rounds in the configuration file, the performance test indexes comprise performance loss, responsiveness, resource distribution balance and total time block invalid request rate, the weight of each index in the performance test indexes is determined through an entropy method, the entropy method is an objective weighting method widely applied in the field of comprehensive evaluation, the index weight is determined according to the size of information provided by each index observation value, and the interference of human factors on evaluation results is reduced; and subtracting the weight number of the test rounds from the maximum number of the test rounds to be used as the number of the remaining test rounds, and carrying out arithmetic mean weighted summation on the performance test indexes corresponding to the number of the remaining test rounds to obtain the load balancing performance score of the virtualization platform.
And 8, generating a test report.
And the analysis and evaluation module generates a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.

Claims (6)

1. The utility model provides a testing arrangement of virtualization platform load balancing function and performance, includes environment configuration module, data acquisition module, data storage module, load sending module, its characterized in that still includes the analysis and evaluation module, wherein:
the environment configuration module is used for reading a test configuration file; acquiring a management authority of the virtualization platform through authentication service interaction with the virtualization platform, and then interacting with the virtualization platform through the authority to create a load balancer; calling an interface provided by a virtualization platform according to the scale of the test cluster virtual machines, the number of the test cluster virtual machines and the mirror images of the test cluster virtual machines in the configuration file, creating a plurality of virtual machines as a test cluster, and adding an IP address of the test cluster into a load balancing pool of a load balancer;
the data acquisition module is used for carrying out a benchmark performance data test on the test cluster, and acquiring basic performance data of the test cluster as benchmark performance data of a load balancing function through the virtualization platform monitoring system when a task request is not sent; when a load balancer receives a task request, basic performance data of a test cluster is collected through a virtualization platform monitoring system;
the data storage module is used for storing the measured reference performance data into a database for persistent storage; storing the measured basic performance data into a database for persistent storage;
the load sending module is used for generating a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifying the url addresses in the HTTP GET request according to a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructing the task requests of different types, and sending the constructed task requests to the load balancer; counting the quantity of each type of constructed task request respectively, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the requirement that the quantity of the type of task requests in the configuration file in the total quantity of the task requests; judging whether the number of load sending rounds is equal to the maximum number of testing rounds in the configuration file, if so, entering the next step to calculate the load balancing performance, otherwise, adding 1 to the value of the number of load sending rounds and then repeatedly executing the load sending step;
the analysis and evaluation module is used for calculating the performance loss of each test round test cluster when receiving the task request; calculating the responsiveness of each test round test cluster when receiving the task request; calculating the resource balance degree of each test round test cluster when receiving the task request; calculating the invalid request rate of the total time block when each test round test cluster receives the task request; selecting a performance test index corresponding to the residual test round number according to a weight test round number preset in a configuration file, and determining the weight of each index in the performance test indexes by an entropy method; subtracting the weight number of testing rounds from the maximum number of testing rounds to serve as the number of remaining testing rounds, and carrying out arithmetic mean weighted summation on performance testing indexes corresponding to the number of remaining testing rounds to obtain a load balancing performance score of the virtualization platform; and generating a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.
2. The method for testing the load balancing function and performance of the virtualization platform according to the claim 1 is characterized in that the performance test index which can indirectly reflect the load balancing function is calculated by collecting the basic performance data of the test cluster connected with the load balancer, and the weight of the performance test index is determined according to an entropy method; the method comprises the following specific steps:
(1) the environment configuration module reads the test configuration file;
(2) initializing a test environment:
(2a) the environment configuration module acquires the management authority of the virtualization platform through the authentication service interaction with the virtualization platform, and then interacts with the virtualization platform through the authority to create a load balancer;
(2b) the environment configuration module calls an interface provided by a virtualization platform according to the scale of the test cluster virtual machines, the number of the test cluster virtual machines and the test cluster virtual machine images in the configuration file, creates a plurality of virtual machines as a test cluster, and adds the IP address of the test cluster into a load balancing pool of a load balancer;
(3) collecting and storing benchmark performance data of the test cluster:
the data acquisition module performs a benchmark performance data test on the test cluster, when a task request is not sent, basic performance data of the test cluster are acquired through the virtualization platform monitoring system and serve as benchmark performance data of a load balancing function, and the data storage module stores the measured benchmark performance data into a database for persistent storage;
(4) sending a task request to a load balancer:
the load sending module generates a request of an HTTP GET type according to the total number of task requests, the types of the task requests and the percentage of different types of task requests in the total number of the task requests in the configuration file, modifies url addresses in the HTTP GET requests through a preset one-to-one mapping relation between the types of the task requests and the url addresses, continuously constructs the task requests of different types, and sends the constructed task requests to a load balancer; counting the quantity of each type of constructed task request respectively, and stopping constructing the type of request if the percentage of the quantity of the type of task requests in the total quantity of the task requests in the configuration file meets the requirement that the quantity of the type of task requests in the configuration file in the total quantity of the task requests;
(5) collecting and storing basic performance data of the test cluster:
the data acquisition module acquires basic performance data of the test cluster through the virtualization platform monitoring system when the load balancer receives the task request; the data storage module stores the measured basic performance data into a database for persistent storage;
(6) the load sending module judges whether the load sending round number is equal to the maximum testing round number preset in the configuration file, if so, the step (7) is executed, otherwise, the step (4) is executed after the value of the load sending round number is added with 1;
(7) calculating load balancing performance:
(7a) according to the following formula, the analysis and evaluation module calculates the performance loss of each test turn test cluster when receiving the task request:
Figure FDA0002840280220000031
wherein lpRepresenting the performance loss of the p test round test cluster at the time of receiving the task request, npRepresenting the duration of the p test round test cluster receiving the task request, i representing the serial number in the time sequence of the p test round test cluster receiving the task request duration, b representing the reference performance of the test cluster, wherein the reference performance takes the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate in the reference performance data, and qpiThe practical performance of the test cluster at the ith test turn in the ith second is represented, and the value of the practical performance is the average value of the CPU utilization rate, the memory utilization rate, the network inflow bandwidth utilization rate and the network outflow bandwidth utilization rate at the ith test turn in the basic test data, lpThe smaller the value of (A), the better the load balancing performance of the virtualization platform;
(7b) according to the following formula, the analysis and evaluation module calculates the responsiveness of each test turn test cluster when receiving the task request:
Figure FDA0002840280220000032
wherein r ispRepresenting the responsiveness of the test cluster of the p test round when receiving the task request, e representing a natural constant, DpRepresenting the number of task requests lost when the p test round test cluster receives the task requests, Q representing the total number of the task requests constructed by the load sending module, rpThe smaller the value of (A), the better the load balancing performance of the virtualization platform;
(7c) according to the following formula, the analysis and evaluation module calculates the resource balance degree of each test round test cluster when receiving the task request:
Figure FDA0002840280220000033
wherein d ispRepresenting the resource distribution balance of the p test round test cluster when receiving the task request, cpRepresents the standard deviation of CPU utilization rate, m, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the memory utilization rate, w, of the p test round test cluster when receiving the task requestpRepresents the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, opRepresenting the standard deviation of the network inflow bandwidth utilization rate of the p test round test cluster when receiving the task request, dpThe smaller the cluster load balancing performance is, the better the cluster load balancing performance is tested;
(7d) the analysis and evaluation module calculates the invalid request rate of the total time block of each test round test cluster when receiving the task request, and the ratio of the overtime task request number per second to the total request number per second in the basic performance data of the test cluster when receiving the task request is used as the invalid request rate per second of the test round; calculating an arithmetic mean value of all invalid request rates within the duration of each test round, wherein the arithmetic mean value is used as the invalid request rate of the total time block of the test cluster of the test round, and the smaller the invalid request rate of the total time block is, the better the load balancing performance of the test cluster is;
(7e) the analysis evaluation module selects a performance test index corresponding to the residual test round number according to the weight test round number in the configuration file, and determines the weight of each index in the performance test indexes by an entropy method; subtracting the weight number of testing rounds from the maximum number of testing rounds to serve as the number of remaining testing rounds, and carrying out arithmetic mean weighted summation on performance testing indexes corresponding to the number of remaining testing rounds to obtain a load balancing performance score of the virtualization platform;
(8) and (3) generating a test report:
and the analysis and evaluation module generates a test report of the load balancing function test of the virtualization platform on the front-end virtualization platform monitoring page.
3. The method according to claim 2, wherein the basic performance data in step (3) includes a CPU utilization rate, a memory utilization rate, a network inflow bandwidth utilization rate, a network outflow bandwidth utilization rate, a packet loss task request count, a task request total count, and an timeout task request count.
4. The method for testing the load balancing function and performance of the virtualization platform as claimed in claim 2, wherein the task request types in step (4) include a compute intensive task request, an IO intensive task request, and a memory intensive task request.
5. The method for testing the load balancing function and performance of the virtualization platform as claimed in claim 2, wherein the performance test indicators in step (7e) include performance loss, responsiveness, resource distribution balance, and total time block invalid request rate.
6. The method for testing the load balancing function and performance of the virtualization platform as claimed in claim 2, wherein the entropy method in step (7e) is an objective weighting method widely used in the field of comprehensive evaluation, and determines the index weight according to the size of the information provided by each index observation value, so as to reduce the interference of human factors on the evaluation result.
CN202011489323.3A 2020-12-16 2020-12-16 Device and method for testing load balancing function and performance of virtualization platform Active CN112559129B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011489323.3A CN112559129B (en) 2020-12-16 2020-12-16 Device and method for testing load balancing function and performance of virtualization platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011489323.3A CN112559129B (en) 2020-12-16 2020-12-16 Device and method for testing load balancing function and performance of virtualization platform

Publications (2)

Publication Number Publication Date
CN112559129A true CN112559129A (en) 2021-03-26
CN112559129B CN112559129B (en) 2023-03-10

Family

ID=75064854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011489323.3A Active CN112559129B (en) 2020-12-16 2020-12-16 Device and method for testing load balancing function and performance of virtualization platform

Country Status (1)

Country Link
CN (1) CN112559129B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392029A (en) * 2021-07-27 2021-09-14 西安电子科技大学 Comprehensive performance testing device and method for different levels of container cloud platform
CN114218060A (en) * 2022-02-22 2022-03-22 龙旗电子(惠州)有限公司 Performance test method and device of terminal equipment
CN115277506A (en) * 2022-07-23 2022-11-01 杭州迪普科技股份有限公司 Load balancing equipment testing method and system
CN115277708A (en) * 2022-07-18 2022-11-01 齐鲁工业大学 Dynamic load distribution method for streaming media server

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160019074A1 (en) * 2014-07-15 2016-01-21 Technion Research & Development Foundation Limited Distributed cloud computing elasticity
US20160205179A1 (en) * 2014-05-13 2016-07-14 Nutanix, Inc. Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
CN106557353A (en) * 2016-11-04 2017-04-05 天津轻工职业技术学院 A kind of container carries the server performance index Evaluation Method of service application
CN109582461A (en) * 2018-11-14 2019-04-05 中国科学院计算技术研究所 A kind of calculation resource disposition method and system for linux container
CN109981419A (en) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 Test method, device, system, equipment and the storage medium of load balancing characteristic
US10673952B1 (en) * 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160205179A1 (en) * 2014-05-13 2016-07-14 Nutanix, Inc. Mechanism for providing load balancing to an external node utilizing a clustered environment for storage management
US20160019074A1 (en) * 2014-07-15 2016-01-21 Technion Research & Development Foundation Limited Distributed cloud computing elasticity
US10673952B1 (en) * 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
CN106557353A (en) * 2016-11-04 2017-04-05 天津轻工职业技术学院 A kind of container carries the server performance index Evaluation Method of service application
CN109582461A (en) * 2018-11-14 2019-04-05 中国科学院计算技术研究所 A kind of calculation resource disposition method and system for linux container
CN109981419A (en) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 Test method, device, system, equipment and the storage medium of load balancing characteristic

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ASHWIN KUMAR KULKARNI等: "Load balancing strategy for optimal peak hour performance in cloud datacenters", 《2015 IEEE INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING, INFORMATICS, COMMUNICATION AND ENERGY SYSTEMS (SPICES)》 *
宋超建: "云平台负载均衡能力研究与测评", 《中国优秀硕士学位论文全文数据库》 *
朱志祥等: "基于云计算的弹性负载均衡方案", 《西安邮电大学学报》 *
李耿: "面向IaaS云平台基础性能测评框架的设计与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392029A (en) * 2021-07-27 2021-09-14 西安电子科技大学 Comprehensive performance testing device and method for different levels of container cloud platform
CN113392029B (en) * 2021-07-27 2022-12-02 西安电子科技大学 Comprehensive performance testing device and method for different levels of container cloud platform
CN114218060A (en) * 2022-02-22 2022-03-22 龙旗电子(惠州)有限公司 Performance test method and device of terminal equipment
CN115277708A (en) * 2022-07-18 2022-11-01 齐鲁工业大学 Dynamic load distribution method for streaming media server
CN115277708B (en) * 2022-07-18 2023-10-24 齐鲁工业大学 Dynamic load distribution method for streaming media server
CN115277506A (en) * 2022-07-23 2022-11-01 杭州迪普科技股份有限公司 Load balancing equipment testing method and system
CN115277506B (en) * 2022-07-23 2023-05-23 杭州迪普科技股份有限公司 Load balancing equipment testing method and system

Also Published As

Publication number Publication date
CN112559129B (en) 2023-03-10

Similar Documents

Publication Publication Date Title
CN112559129B (en) Device and method for testing load balancing function and performance of virtualization platform
CN102144220B (en) Distributed data processing system
CN103916396B (en) A kind of cloud platform application example automatic telescopic method based on loaded self-adaptive
CN105550323B (en) Load balance prediction method and prediction analyzer for distributed database
CN109976917A (en) A kind of load dispatching method, device, load dispatcher, storage medium and system
US20020161553A1 (en) Adaptive load generation
CN107426332B (en) A kind of load-balancing method and system of web server cluster
US20050038833A1 (en) Managing workload by service
CN113392029B (en) Comprehensive performance testing device and method for different levels of container cloud platform
CN107015892A (en) A kind of method for testing pressure, device and system
CN109981805A (en) A kind of method and device of domain name mapping
CN102857560B (en) A kind of cloud towards multi-service application stores data distribution method
CN109547517A (en) A kind of bandwidth scheduling method and apparatus
CN109981419A (en) Test method, device, system, equipment and the storage medium of load balancing characteristic
CN102420867A (en) Cluster storage entry resolution method based on real-time load balancing mechanism
CN103065050A (en) Health level judging method of information system during operation maintenance period
CN109510775A (en) Orient dispatching method, authentication device, the network equipment and the storage medium of flow
CN110661719A (en) Flow load balancing method and device
CN105677492B (en) A kind of reliability application execution method of terminaloriented
CN105872082A (en) Fine-grained resource response system based on load balancing algorithm of container cluster
CN102929693B (en) Performance evaluation method and device for servers of whole equipment cabinet
CN116546028A (en) Service request processing method and device, storage medium and electronic equipment
CN117453398A (en) Intelligent optimization method and system for power calculation scheduling for improving power supply reliability
CN114666336B (en) Method for dynamic weight service routing based on API gateway
CN110109810A (en) Cluster pressure surveys the method and device that capacity determines

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