Network performance testing method and device, computer storage medium and electronic device
Patent Information
- Application Number
- CN202310583006.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-22
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-05-22
AI Technical Summary
[0006]本公开的目的在于提供一种网络性能测试方法、网络性能测试装置、计算机存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的测试效率低下的技术问题
[0018]由上述技术方案可知,本公开示例性实施例中的网络性能测试方法、网络性能测试装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
Smart Images

Figure CN116527550B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to a network performance testing method, a network performance testing device, a computer storage medium, and an electronic device. Background Technology
[0002] In the context of network cloud layering and decoupling, the network element layer and virtualization layer adopt a layered acceptance method. After the virtualization layer is deployed, the virtual machines and other related resources used to deploy network elements need to be accepted by the IaaS (Infrastructure as a Service) layer to ensure availability before they can be provided to the network element layer for service deployment.
[0003] In related technologies, the performance of virtual machines is generally tested through manual acceptance. However, cloud services require a large number of virtual machines, so the above solution is time-consuming, labor-intensive, and inefficient. When there are a large number of virtual machines, it is impossible to test the performance of each virtual machine to see if it meets the business requirements.
[0004] Therefore, there is an urgent need in this field to develop a new method and apparatus for network performance testing.
[0005] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure. Summary of the Invention
[0006] The purpose of this disclosure is to provide a network performance testing method, a network performance testing device, a computer storage medium, and an electronic device, thereby overcoming, to at least a certain extent, the technical problem of low testing efficiency caused by the limitations of related technologies.
[0007] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0008] According to a first aspect of this disclosure, a network performance testing method is provided, comprising: acquiring basic information of multiple virtual machines deployed in a cloud environment, and acquiring the topological connection relationship between the multiple virtual machines; generating a performance test configuration for the multiple virtual machines based on the basic information and the topological connection relationship; and distributing the performance test configuration to the multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other to obtain test results.
[0009] In an exemplary embodiment of this disclosure, obtaining the topological connection relationship between the multiple virtual machines includes: determining, based on the interactive information input through a preset interactive interface, whether to connect the multiple virtual machines according to a pre-configured topological connection relationship to form a topological connection relationship between the multiple virtual machines; if yes, then connecting the multiple virtual machines based on the pre-configured topological connection relationship to form a topological connection relationship between the multiple virtual machines; if no, then connecting the multiple virtual machines based on a custom topological connection relationship to form a topological connection relationship between the multiple virtual machines.
[0010] In an exemplary embodiment of this disclosure, the basic information includes the number of at least one network plane associated with the plurality of virtual machines; generating a performance test configuration for the plurality of virtual machines based on the basic information and the topology connection relationship includes: for each of the at least one network plane, obtaining a target virtual machine associated with that network plane; generating a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topology connection relationship between the target virtual machines; and determining the performance test configuration of the target virtual machine associated with each of the at least one network plane as the performance test configuration for the plurality of virtual machines.
[0011] In an exemplary embodiment of this disclosure, the basic information further includes the network element roles carried by the virtual machine; the step of generating a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topological connection relationship between the target virtual machines includes: configuring mutual test relationships between the target virtual machines based on the topological connection relationship between the target virtual machines; configuring test parameters for testing different performance indicators between the target virtual machines based on the network element roles carried by the target virtual machines; generating a test matrix for recording the test parameters based on the number of target virtual machines; and determining the mutual test relationships, the test parameters, and the test matrix as the performance test configuration for the target virtual machine associated with each network plane.
[0012] In an exemplary embodiment of this disclosure, the test result includes an index value for at least one performance indicator; after obtaining the test result, the method further includes: obtaining an index reference value pre-set for each of the performance indicators; determining whether the index value of each of the performance indicators meets a preset qualification condition based on the comparison result between the index value of each of the performance indicators and its index reference value; if the index values of each of the performance indicators all meet the preset qualification condition, determining that the test result meets the business requirements.
[0013] In an exemplary embodiment of this disclosure, after determining that the test results meet business requirements, the method further includes: calculating a network performance evaluation value for the cloud environment based on the index value of the at least one performance indicator, so as to evaluate the network quality of the cloud environment based on the network performance evaluation value.
[0014] In an exemplary embodiment of this disclosure, calculating the network performance evaluation value of the cloud environment based on the index value of the at least one performance index includes: obtaining a weight coefficient pre-assigned to each performance index; obtaining the ratio between each index value included under each performance index and its reference index value, and obtaining the average value of multiple ratios; determining a product value based on the product of the average value and the weight coefficient; and determining the network performance evaluation value based on the product value corresponding to the at least one performance index.
[0015] According to a second aspect of this disclosure, a network performance testing apparatus is provided, comprising: an acquisition module, configured to acquire basic information of multiple virtual machines deployed in a cloud environment, and to acquire the topological connection relationship between the multiple virtual machines; a test configuration generation module, configured to generate a performance test configuration for the multiple virtual machines based on the basic information and the topological connection relationship; and a test result determination module, configured to distribute the performance test configuration to the multiple virtual machines, so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
[0016] According to a third aspect of this disclosure, a computer storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the network performance testing method described in the first aspect above.
[0017] According to a fourth aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the network performance testing method described in the first aspect by executing the executable instructions.
[0018] As can be seen from the above technical solutions, the network performance testing method, network performance testing apparatus, computer storage medium, and electronic device in the exemplary embodiments of this disclosure have at least the following advantages and positive effects:
[0019] In some embodiments of this disclosure, the technical solutions provide a novel approach: on the one hand, acquiring basic information about multiple virtual machines deployed in a cloud environment and obtaining the topological connection relationships between these virtual machines; and on the other hand, generating performance test configurations for these virtual machines based on the basic information and topological connection relationships. This allows multiple virtual machines to perform network performance tests on each other without relying on external human resources, enabling them to conduct network performance tests based on their topological connection relationships. Furthermore, by distributing performance test configurations to multiple virtual machines, enabling them to perform network performance tests on each other and obtain test results, an automated network performance testing process can be achieved. This solves the problem of low efficiency caused by manual testing in related technologies and improves testing efficiency.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0022] Figure 1 A schematic diagram illustrating how network performance testing is performed in related technologies;
[0023] Figure 2 A flowchart illustrating the network performance testing method in an embodiment of this disclosure is shown.
[0024] Figure 3 This diagram illustrates a process for obtaining the topological connection relationship between multiple virtual machines in an embodiment of this disclosure.
[0025] Figure 4 This illustration shows a flowchart of how to generate performance test configurations for multiple virtual machines based on basic information and topology connections in an embodiment of this disclosure.
[0026] Figure 5 This illustration shows a flowchart of how to generate performance test configurations for the target virtual machine associated with each network plane in an embodiment of this disclosure;
[0027] Figure 6 This diagram illustrates a process for determining whether a test result meets preset qualification conditions in an embodiment of this disclosure.
[0028] Figure 7This is a flowchart illustrating how to calculate network performance evaluation values in a cloud environment according to an embodiment of the present disclosure;
[0029] Figure 8 This diagram illustrates the overall architecture of the network performance testing method in this embodiment.
[0030] Figure 9 This diagram illustrates the overall flow of the network performance testing method in this embodiment of the present disclosure.
[0031] Figure 10 This diagram illustrates the structure of a network performance testing apparatus in an exemplary embodiment of this disclosure.
[0032] Figure 11 A schematic diagram of the structure of an electronic device in an exemplary embodiment of this disclosure is shown. Detailed Implementation
[0033] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this disclosure more comprehensive and complete, and to fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a full understanding of embodiments of this disclosure. However, those skilled in the art will recognize that the technical solutions of this disclosure can be practiced with one or more of the specific details omitted, or other methods, components, apparatus, steps, etc., can be employed. In other instances, well-known technical solutions are not shown or described in detail to avoid obscuring various aspects of this disclosure.
[0034] The terms “a,” “an,” “the,” and “the” are used in this specification to indicate the presence of one or more elements / components / etc.; the terms “including” and “having” are used to indicate an open-ended inclusion and to mean that there may be other elements / components / etc. in addition to the listed elements / components / etc.; the terms “first” and “second” are used only as markings and are not a limitation on the number of objects.
[0035] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities.
[0036] In a layered and decoupled network cloud scenario, the network element layer and virtualization layer adopt a layered acceptance approach. After the virtualization layer is deployed, the virtual machines and related resources used to deploy network elements need to pass IaaS layer acceptance to ensure availability before they can be provided to the network element layer for service deployment. Network interoperability and performance testing (throughput, transmission latency, packet loss rate, etc.) are the key points of IaaS layer acceptance and are indicators related to whether business requirements can be met.
[0037] A virtual machine (VM) is a complete computer system that is simulated by software and has full hardware system functionality, running in a completely isolated environment.
[0038] refer to Figure 1 , Figure 1 This illustrates how network performance testing is performed in related technologies, such as... Figure 1 As shown:
[0039] When deploying multiple virtual machines, the test tasks are typically assigned to multiple testers. For example, testers A are assigned to test tasks for VM1 and VM2, and testers B are assigned to test tasks for VM3 and VM4. The testers use instruments / testing tools to test interoperability and individual performance. After all testers have completed their test tasks, the test results are compared to see if they meet the requirements. If they do, the multiple virtual machines are considered to have passed acceptance testing; otherwise, the multiple virtual machines are considered to have failed acceptance testing.
[0040] However, cloud computing services require a large number of virtual machines, and each virtual machine has multiple network planes (management, services, storage). Therefore, the above-mentioned method of manual acceptance and performance testing has at least the following drawbacks:
[0041] First, it requires manual testing, which is inefficient and very time-consuming;
[0042] Second, it can only test one virtual machine at a time, lacking data on testing all virtual machines simultaneously. Furthermore, it cannot fully test the performance of each virtual machine when there are a large number of virtual machines.
[0043] Third, performing the same tests on all virtual machines is labor-intensive and cannot reflect the different network service requirements for network metrics (e.g., high throughput for data forwarding, low latency for heartbeat networks).
[0044] In the embodiments of this disclosure, a network performance testing method is first provided, which at least to some extent overcomes the shortcomings of low testing efficiency in related technologies.
[0045] Figure 2The diagram shows a flowchart of a network performance testing method in an embodiment of this disclosure. The execution subject of this network performance testing method can be a server that tests network performance.
[0046] refer to Figure 2 A network performance testing method according to an embodiment of the present disclosure includes the following steps:
[0047] Step S210: Obtain basic information about multiple virtual machines deployed in the cloud environment, and obtain the topological connection relationship between the multiple virtual machines;
[0048] Step S220: Generate performance test configurations for multiple virtual machines based on basic information and topology connections;
[0049] Step S230: Distribute the performance test configuration to multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
[0050] exist Figure 2 The technical solution provided in the illustrated embodiment, on the one hand, acquires basic information about multiple virtual machines deployed in a cloud environment and the topological connection relationship between the multiple virtual machines. Based on the basic information and the topological connection relationship, a performance test configuration for the multiple virtual machines is generated. This provides a new approach to enabling network performance testing between virtual machines without relying on external human resources, allowing multiple virtual machines to perform network performance tests on each other based on their topological connection relationships. On the other hand, by distributing the performance test configuration to multiple virtual machines, enabling them to perform network performance tests on each other and obtain test results, an automated network performance testing process can be achieved. This solves the technical problem of low efficiency caused by manual testing in related technologies and improves testing efficiency.
[0051] The following are Figure 2 The specific implementation process of each step in the process will be explained in detail:
[0052] In step S210, basic information of multiple virtual machines deployed in the cloud environment is obtained, as well as the topological connection relationship between the multiple virtual machines is obtained.
[0053] In this step, it should be noted that the present disclosure can pre-develop a visual preset interactive interface. The purpose of this preset interactive interface is to facilitate testers to input relevant information required for testing, reduce configuration complexity, and improve testing efficiency.
[0054] Therefore, the basic information of the virtual machine can be the information entered by the tester on the aforementioned preset interactive interface. For example, the basic information may include the identifiers and quantities of the aforementioned multiple virtual machines, and may also include the number of at least one network plane associated with the aforementioned multiple virtual machines. The network plane may include the management network plane, the service control plane, the service data plane, the service storage plane, etc.
[0055] The number of network planes is related to the network interface card (NIC) attributes of each virtual machine. For example, suppose a virtual machine (VM) has a total of 5 NICs, of which 2 NICs are associated with the control plane and the other 2 NICs are associated with the storage plane. In this case, the virtual machine VM involves a total of 2 network planes.
[0056] For example, suppose the number of virtual machines in this disclosure is 4 (e.g., VM1, VM2, VM3 and VM4), where VM1 is associated with network plane x, VM2 is associated with network plane x, VM3 is associated with network planes x and y, and VM4 is associated with two network planes x and y. Then the number of at least one network plane associated with the above virtual machines is 2 (i.e. x and y).
[0057] refer to Figure 3 , Figure 3 This diagram illustrates a process for obtaining the topological connection relationship between multiple virtual machines in an embodiment of this disclosure, including steps S301-S303:
[0058] In step S301, based on the interactive information input through the preset interactive interface, it is determined whether to connect multiple virtual machines according to the pre-configured topology connection relationship to form a topology connection relationship between multiple virtual machines.
[0059] In this step, the topology connection relationship refers to the geometric order of communication lines and nodes in the network, which is used to represent the structural characteristics of the entire network and reflect the connection relationship between each node.
[0060] The pre-configured topology connections can be bus network topologies, star network topologies, ring network topologies, tree network topologies, mesh network topologies, etc., and can be set according to actual needs. This disclosure does not impose any special limitations on this. By pre-configuring topology connections to form a template library, testers can save themselves the step of manually configuring topology connections and quickly form the topology connections between the above-mentioned multiple virtual machines, reducing configuration complexity.
[0061] For example, a selection control can be displayed on the aforementioned preset interactive interface to indicate whether to connect the multiple virtual machines according to the pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines. Then, the tester can perform touch operations or other input on the selection control to input relevant interactive information. Based on the interactive information, it can be determined whether to connect the multiple virtual machines according to the aforementioned pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines.
[0062] In step S302, if so, multiple virtual machines are connected based on the pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines.
[0063] In this step, if the above interactive information indicates that the multiple virtual machines can be connected based on the pre-configured topology connection relationship, then the multiple virtual machines can be connected according to the pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines.
[0064] In step S303, if not, multiple virtual machines are connected based on a custom topology connection relationship to form a topology connection relationship between the multiple virtual machines.
[0065] In this step, if the above interactive information indicates that the connection of the multiple virtual machines is not based on the pre-configured topology connection relationship, the topology connection configuration interface can be displayed to the tester so that the tester can create a custom topology connection relationship through the topology connection configuration interface. Thus, the multiple virtual machines can be connected according to the custom topology connection relationship to form a topology connection relationship between the multiple virtual machines.
[0066] After obtaining the topological connection relationship between the multiple virtual machines, you can proceed to step S220 to generate a performance test configuration for the multiple virtual machines based on the basic information and topological connection relationship.
[0067] In this step, performance test configurations for the aforementioned multiple virtual machines can be generated based on the above basic information and topological connection relationships.
[0068] refer to Figure 4 , Figure 4 This embodiment of the present disclosure illustrates a flowchart of how to generate performance test configurations for the aforementioned multiple virtual machines based on basic information and topology connections, including steps S401-S403:
[0069] In step S401, for each network plane in at least one network plane, the target virtual machine associated with that network plane is obtained.
[0070] In this step, referring to the relevant explanation of step S210 above, taking multiple virtual machines including VM1, VM2, VM3 and VM4 as an example, it can be determined that the target virtual machines associated with network plane x are VM1, VM2, VM3 and VM4, while the target virtual machines associated with network plane y are VM3 and VM4.
[0071] In step S402, based on the basic information of the target virtual machine and the topological connection relationship between the target virtual machines, a performance test configuration for the target virtual machine associated with each network plane is generated.
[0072] In this step, refer to Figure 5 , Figure 5 This illustration shows a flowchart of how to generate performance test configurations for target virtual machines associated with each network plane in this embodiment of the present disclosure, including steps S501-S504:
[0073] In step S501, the mutual testing relationship between the target virtual machines is configured according to the topological connection relationship between the target virtual machines.
[0074] In this step, we take the generation of the performance test configuration of the target virtual machine associated with the target plane x as an example. Assuming that the topological connection relationship between the target virtual machines indicates that VM1 and VM2 are bidirectionally connected, VM1 and VM3 are bidirectionally connected, and VM1 is unidirectionally connected to VM4, we can determine that the mutual testing relationship between the target virtual machines is as follows: VM1 and VM2 test each other bidirectionally, VM1 and VM3 test each other bidirectionally, and VM1 tests VM4 unidirectionally.
[0075] In step S502, test parameters for testing different performance indicators are configured between the target virtual machines according to the network element roles carried by the target virtual machine.
[0076] In this step, given that the basic information mentioned above also includes the network element roles carried by each virtual machine, and that the metrics we focus on when testing network performance differ for different network element roles, for example, if the network element role is a control plane network element, the performance metrics we focus on are transmission latency and packet loss rate, while if the network element role is a forwarding plane network element, the performance metrics we focus on are throughput. Therefore, when conducting network performance tests for different network planes, this disclosure can further test different performance metrics for different network element roles.
[0077] It should be noted that the correspondence between network element roles and the performance indicators to be tested can be set according to the actual situation, and this disclosure does not impose any special restrictions on this.
[0078] For example, we will still use multiple virtual machines including VM1, VM2, VM3 and VM4 as an example. Assuming that the network element role carried by VM1 and VM2 is a control plane network element, and the network element role carried by VM3 and VM4 is a forwarding plane network element, we can test the transmission latency index for VM1 and VM2. At the same time, we can test the packet loss rate index for VM1. We can set it ourselves according to the actual situation. This disclosure does not make any special restrictions on this.
[0079] The test parameters mentioned above can include the traffic values that need to be sent for each test link. For example, to comprehensively test the transmission latency metrics of VM1 and VM2, VM2 can be configured to send test parameters R for transmission latency metrics to VM1. l2-1 VM3 sends test parameters R, which are related to the transmission latency metric, to VM1. l3-1 VM1 sends test parameters R, which are related to the transmission latency metric, to VM2. l1-2 VM1 sends test parameters R, which are related to the transmission latency metric, to VM3. l1-3 VM1 sends test parameters R for the packet loss rate metric to VM4. d1-2 .
[0080] For example, the above test parameters may also include sending time, sending duration, etc., which can be set according to the actual situation. This disclosure does not impose any special limitations on this.
[0081] In step S503, a test matrix for recording test parameters is generated based on the number of target virtual machines.
[0082] In this step, the number of target virtual machines is 4. For example, for the network plane x, we can generate a 4*4 test matrix. The specific data in this test matrix is explained below with reference to Table 1:
[0083] Table 1
[0084] VM1 - <![CDATA[R l1-2 ]]> <![CDATA[R l1-3 ]]> <![CDATA[R d1-2 ]]> VM2 <![CDATA[R l2-1 ]]> - - - VM3 <![CDATA[R l3-1 ]]> - - - VM4 - - - -
[0085] Refer to Table 1, R l2-1 This indicates that VM2 sends test parameters for transmission latency metrics to VM1, R l3-1 This indicates that VM3 sends test parameters for transmission latency metrics to VM1, R l1-2 This indicates that VM1 sends test parameters for transmission latency metrics to VM2, R l1-3 This indicates that VM1 sends test parameters for transmission latency metrics to VM3, R d1-2 This indicates that VM1 sends test parameters for packet loss rate metrics to VM4; "-" indicates that no test parameters are sent.
[0086] In step S504, the mutual test relationships and test matrices are determined as the performance test configuration for the target virtual machine associated with each network plane.
[0087] In this step, after generating the aforementioned mutual test relationships and the test matrix containing test parameters, the aforementioned mutual test relationships and the test matrix can be determined as the performance test configuration for the target virtual machine associated with the aforementioned network plane x.
[0088] Similarly, a corresponding performance test configuration can be generated for each of the at least one network plane mentioned above.
[0089] For example, regarding the network plane y described above, given that the target virtual machines associated with network plane y are VM3 and VM4, assuming the topological connection between VM3 and VM4 is a bidirectional connection, the mutual testing relationship between the target virtual machines can be determined as a bidirectional mutual testing between VM3 and VM4. Therefore, for example, VM3 can be configured to send test parameters R for throughput metrics to VM4. t3-4 VM4 sends test parameters R for throughput metrics to VM3. t4-3 Therefore, for example, the test matrix generated for the network plane y can be referred to Table 2:
[0090] Table 2
[0091] VM3 - <![CDATA[R t3-4 ]]> VM4 <![CDATA[R t4-3 ]]> -
[0092] Furthermore, based on the aforementioned mutual testing relationships and the aforementioned test matrix containing test parameters, the performance test configuration for the target virtual machine contained in the network plane y can be obtained.
[0093] Next, refer to Figure 4 In step S403, the performance test configuration of the target virtual machine associated with each network plane in at least one network plane is determined as a performance test configuration for multiple virtual machines.
[0094] In this step, the performance test configuration of the target virtual machine associated with each network plane in the above-mentioned at least one network plane can be determined as the performance test configuration for the above-mentioned multiple virtual machines. Therefore, this disclosure can not only quickly perform performance testing on multiple virtual machines, but also quickly perform targeted testing on virtual machines involved in each network plane when virtual machines involve multiple network planes, avoiding the technical problem of low efficiency of manual testing in related technologies.
[0095] After obtaining the performance test configuration for multiple virtual machines, you can then refer to... Figure 2In step S230, the performance test configuration is distributed to multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
[0096] In this step, the performance test configuration described above can be distributed to the agents of all virtual machines via the agent management module, enabling these multiple virtual machines to perform network performance tests on each other and obtain the test results. Executing tests through centralized control and distributed deployment of virtual machine agents reduces the requirements on the virtual machines themselves, facilitating unified management and improving test management efficiency.
[0097] For example, the test results for network plane x can be found in Table 3, and the test results for network plane y can be found in Table 4.
[0098] Table 3
[0099] VM1 - 2ms 3ms 0.05% VM2 2.1ms - - - VM3 2.8ms - - - VM4 - - - -
[0100] Table 4
[0101] VM3 - 6.9Gbps VM4 6.8Gbps -
[0102] Given that the above test results include values for three performance metrics (transmission latency, packet loss rate, and throughput), it is possible to base them on... Figure 6 The implementation method described above is used to determine whether the test results meet the preset qualification conditions.
[0103] refer to Figure 6 , Figure 6 This diagram illustrates a process for determining whether a test result meets preset qualification conditions in an embodiment of this disclosure, including steps S601-S603:
[0104] In step S601, the reference values of the indicators that have been set in advance for each performance indicator are obtained.
[0105] In this step, reference values for the above-mentioned indicators can be obtained in advance. For example, for the transmission latency indicator, a reference value of 10ms can be set in advance; for the packet loss rate indicator, a reference value of 0.1% can be set in advance; and for the throughput indicator, a reference value of 5Gbps can be set in advance. The specific reference values can be set according to the actual situation, and this disclosure does not impose any special limitations on them.
[0106] In step S602, based on the comparison results between the index values of each performance index and their reference values, it is determined whether the index values of each performance index meet the preset qualification conditions.
[0107] In this step, after obtaining the reference values of the above indicators, the values of each performance indicator can be compared with their reference values to determine whether the values of each performance indicator meet the preset qualification conditions.
[0108] For example, for the transmission delay indicator, the indicator value can be less than or equal to the indicator reference value, which is considered to meet the preset qualification conditions; for the packet loss rate indicator, the indicator value can be less than or equal to the indicator reference value, which is considered to meet the preset qualification conditions; for the throughput indicator, the indicator value can be greater than or equal to the indicator reference value, which is considered to meet the preset qualification conditions.
[0109] Therefore, it can be determined that all the indicator values in Tables 3 and 4 meet the preset qualification conditions.
[0110] It should be noted that if it is determined that there are index values that do not meet the preset qualification conditions, then it can be determined that the above test results do not meet the preset qualification conditions. Therefore, the above test results can be displayed to the testers so that the testers can analyze the relevant performance issues based on the above test results. Since the above test results are presented in matrix form, the test results can be presented clearly and intuitively, which is conducive to the testers quickly analyzing performance bottlenecks.
[0111] In step S603, if the values of all performance indicators meet the preset qualification conditions, the test results are determined to meet the business requirements.
[0112] In this step, after confirming that the values of all performance indicators meet the preset qualification conditions, it can be determined that the above test results meet the business requirements.
[0113] After determining the test results, a network performance evaluation value for the cloud environment can be calculated based on the value of at least one performance indicator, in order to assess the network quality of the cloud environment.
[0114] For details, please refer to Figure 7 , Figure 7 This invention illustrates a flowchart of how to calculate network performance evaluation values in a cloud environment according to an embodiment of the present disclosure, including steps S701-S704:
[0115] In step S701, the weight coefficients pre-assigned to each performance indicator are obtained.
[0116] In this step, for example, a weighting coefficient W can be pre-assigned to the transmission delay index. l =0.3, where W is the weighting coefficient for the packet loss rate indicator. d =0.2, assigning a weighting coefficient W to the above throughput metric. t =0.5, and the specific weighting coefficient can be set according to the actual situation. This disclosure does not impose any special restrictions on it.
[0117] In step S702, the ratio between each index value included under each performance index and its reference index value is obtained, and the average value of multiple ratios is obtained.
[0118] In this step, the transmission delay metrics mentioned above can be calculated. The corresponding average value is obtained; for the above packet loss rate index, it can be calculated. The corresponding average value is obtained; for the above throughput indicators, calculations can be performed. Obtain the corresponding average value.
[0119] In step S703, the product value is determined based on the product of the average value and the weighting coefficient.
[0120] In this step, the transmission delay metrics mentioned above can be calculated. The product value is obtained; for the above packet loss rate index, it can be calculated. The product value is obtained; for the above throughput indicators, it can be calculated. The product value is obtained.
[0121] In step S704, the network performance evaluation value is determined based on the product value corresponding to at least one performance indicator.
[0122] In this step, if there is only one product value corresponding to the above-mentioned at least one performance indicator, then the product value can be determined as the above-mentioned network performance evaluation value. If there are multiple product values corresponding to the above-mentioned at least one performance indicator, then the sum of the multiple product values can be determined as the above-mentioned network performance evaluation value.
[0123] Thus, for example, the network performance evaluation value can be calculated as follows:
[0124] After calculating the above network performance evaluation values, these values can be presented to the testers so that they can understand the network quality of the cloud environment composed of the multiple virtual machines.
[0125] refer to Figure 8 , Figure 8 This diagram illustrates the overall architecture of the network performance testing method in this embodiment of the present disclosure, such as... Figure 8 As shown:
[0126] The virtualization layer deploys multiple virtual machines, and each virtual machine has an agent deployed on it;
[0127] The agent management module can perform the following steps:
[0128] First, generate the topology connection relationships of multiple virtual machines based on the pre-configured topology connection relationships / custom topology connection relationships;
[0129] Second, based on the collected basic information and topology connections, a performance test configuration is generated and distributed to the agent so that multiple virtual machines can perform network performance tests on each other.
[0130] Third, collect the test results and analyze them.
[0131] refer to Figure 9 , Figure 9 This diagram illustrates the overall flow of the network performance testing method in this embodiment, including steps S901-S911:
[0132] In step S901, begin;
[0133] In step S902, basic information of multiple virtual machines is obtained;
[0134] In step S903, it is determined whether to use the pre-configured topology connection relationship;
[0135] If not, proceed to step S904 to obtain the custom topology connection relationship created by the tester;
[0136] If so, proceed to step S905, where a performance test configuration is generated by combining the basic information and topology connection relationship, and then sent to the virtual machine agent.
[0137] In step S906, all virtual machine agents perform synchronous testing according to the performance test configuration;
[0138] In step S907, the test results are collected centrally and a result matrix is formed;
[0139] In step S908, it is determined whether the test result meets the preset qualification conditions;
[0140] If so, proceed to step S909 to calculate the network performance evaluation value of the cloud environment;
[0141] If not, proceed to step S910 to present the result matrix to the testers so that they can analyze the performance bottleneck based on the test results.
[0142] In step S911, the process ends.
[0143] Based on the above technical solutions, this disclosure has at least the following technical effects:
[0144] First, by building a logical topology based on multiple virtual machines, the network performance between virtual machines can be verified as a whole, which is more conducive to overall performance evaluation and layered acceptance in the context of network cloud layering and decoupling.
[0145] Second, using agents to perform mutual testing between multiple virtual machines is closer to the actual business scenario of multiple virtual machines. At the same time, automated test execution and unified management can adapt to large-scale scenarios, while reducing the workload of manual testing and improving testing efficiency.
[0146] Third, by presenting the test results in the form of a test matrix, users can better understand the network performance between multiple virtual machines and quickly analyze bottlenecks.
[0147] Therefore, by way of example, this disclosure can be applied to the following scenarios:
[0148] First, network cloud layered acceptance scenarios, focusing on rapid network performance testing and acceptance at Layer I;
[0149] Second, cloud application scenarios using public cloud-based networks, conduct network performance tests on virtual machines provided by the public cloud to evaluate whether the network performance of the virtual machines meets business requirements.
[0150] Third, performance troubleshooting involves testing and evaluating the network performance between virtual machines and identifying potential performance bottlenecks. Performance tests can be performed on existing virtual machines as needed or periodically, and performance analysis can be conducted based on the test results.
[0151] This disclosure also provides a network performance testing device. Figure 10 This diagram illustrates the structure of a network performance testing apparatus in an exemplary embodiment of this disclosure; as shown below. Figure 10 As shown, the network performance testing device 1000 may include an acquisition module 1010, a test configuration generation module 1020, and a test result determination module 1030. Wherein:
[0152] The acquisition module 1010 is used to acquire basic information of multiple virtual machines deployed in a cloud environment, and to acquire the topological connection relationship between the multiple virtual machines;
[0153] The test configuration generation module 1020 is used to generate performance test configurations for the multiple virtual machines based on the basic information and the topology connection relationship.
[0154] The test result determination module 1030 is used to distribute the performance test configuration to the multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
[0155] In an exemplary embodiment of this disclosure, the acquisition module 1010 acquires the topological connection relationship between the multiple virtual machines, including: determining whether to connect the multiple virtual machines according to a pre-configured topological connection relationship based on the interactive information input through a preset interactive interface to form a topological connection relationship between the multiple virtual machines; if yes, then connect the multiple virtual machines based on the pre-configured topological connection relationship to form a topological connection relationship between the multiple virtual machines; if no, then connect the multiple virtual machines based on a custom topological connection relationship to form a topological connection relationship between the multiple virtual machines.
[0156] In an exemplary embodiment of this disclosure, the basic information includes the number of at least one network plane associated with the plurality of virtual machines; the test configuration generation module 1020 generates a performance test configuration for the plurality of virtual machines based on the basic information and the topology connection relationship, including: for each of the at least one network plane, obtaining the target virtual machine associated with that network plane; generating a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topology connection relationship between the target virtual machines; and determining the performance test configuration of the target virtual machine associated with each of the at least one network plane as the performance test configuration for the plurality of virtual machines.
[0157] In an exemplary embodiment of this disclosure, the basic information further includes the network element roles carried by the virtual machine; the test configuration generation module 1020 generates a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topological connection relationship between the target virtual machines, including: configuring mutual test relationships between the target virtual machines based on the topological connection relationship between the target virtual machines; configuring test parameters for testing different performance indicators between the target virtual machines based on the network element roles carried by the target virtual machines; generating a test matrix for recording the test parameters based on the number of target virtual machines; and determining the mutual test relationships, the test parameters, and the test matrix as the performance test configuration for the target virtual machine associated with each network plane.
[0158] In an exemplary embodiment of this disclosure, the test result includes a value for at least one performance metric; after obtaining the test result, the test result determination module 1030 is configured to:
[0159] Obtain the reference values for each performance indicator that have been pre-set; determine whether the value of each performance indicator meets the preset qualification conditions based on the comparison between the value of each performance indicator and its reference value; if the value of each performance indicator meets the preset qualification conditions, determine that the test result meets the business requirements.
[0160] In an exemplary embodiment of this disclosure, after determining that the test result meets the business requirements, the test result determination module 1030 is configured to:
[0161] Calculate the network performance evaluation value of the cloud environment based on the value of the at least one performance indicator, and evaluate the network quality of the cloud environment based on the network performance evaluation value.
[0162] In an exemplary embodiment of this disclosure, the test result determination module 1030 calculates the network performance evaluation value of the cloud environment based on the index value of the at least one performance index, including: obtaining a weight coefficient pre-assigned to each performance index; obtaining the ratio between each index value included under each performance index and its reference index value, and obtaining the average value of multiple ratios; determining a product value based on the product of the average value and the weight coefficient; and determining the network performance evaluation value based on the product value corresponding to the at least one performance index.
[0163] The specific details of each module in the aforementioned network performance testing device have been described in detail in the corresponding network performance testing methods, so they will not be repeated here.
[0164] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0165] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0166] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0167] This application also provides a computer-readable storage medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device.
[0168] Computer-readable storage media can be, for example—but not limited to—electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0169] A computer-readable storage medium can be sent, propagated, or transmitted for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wireline, optical fiber, RF, etc., or any suitable combination thereof.
[0170] A computer-readable storage medium carries one or more programs that, when executed by an electronic device, cause the electronic device to perform the methods described in the above embodiments.
[0171] Furthermore, this disclosure also provides an electronic device capable of implementing the above-described method.
[0172] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."
[0173] The following reference Figure 8 To describe an electronic device 800 according to such an embodiment of the present disclosure. Figure 8 The electronic device 800 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments disclosed herein.
[0174] like Figure 11 As shown, the electronic device 1100 is manifested in the form of a general-purpose computing device. The components of the electronic device 1100 may include, but are not limited to: at least one processing unit 1110, at least one storage unit 1120, a bus 1130 connecting different system components (including storage unit 1120 and processing unit 1110), and a display unit 1140.
[0175] The storage unit stores program code that can be executed by the processing unit 1110, causing the processing unit 1110 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processing unit 1110 can perform actions such as... Figure 2 As shown: Step S210, obtain basic information of multiple virtual machines deployed in the cloud environment, and obtain the topological connection relationship between the multiple virtual machines; Step S220, generate a performance test configuration for the multiple virtual machines based on the basic information and the topological connection relationship; Step S230, distribute the performance test configuration to the multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
[0176] Storage unit 1120 may include a readable medium in the form of a volatile storage unit, such as random access memory (RAM) 11201 and / or cache memory 11202, and may further include a read-only memory (ROM) 11203.
[0177] Storage unit 1120 may also include a program / utility 11204 having a set (at least one) of program modules 11205, such program modules 11205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0178] Bus 1130 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0179] Electronic device 1100 can also communicate with one or more external devices 1200 (e.g., keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1100, and / or any device that enables electronic device 1100 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1150. Furthermore, electronic device 1100 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 1160. As shown, network adapter 1160 communicates with other modules of electronic device 1100 via bus 1130. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 1100, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0180] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the claims.
Claims
1. A network performance testing method, characterized in that, include: Obtain basic information about multiple virtual machines deployed in a cloud environment, and obtain the topological connection relationship between the multiple virtual machines; Based on the basic information and the topology connection relationship, generate a performance test configuration for the multiple virtual machines; The basic information includes the number of at least one network plane associated with the plurality of virtual machines; The step of generating a performance test configuration for the multiple virtual machines based on the basic information and the topology connection relationship includes: for each of the at least one network plane, obtaining the target virtual machine associated with that network plane; generating a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topology connection relationship between the target virtual machines; and determining the performance test configuration of the target virtual machine associated with each of the at least one network plane as the performance test configuration for the multiple virtual machines. The basic information also includes the network element roles carried by the virtual machine; the step of generating a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topological connection relationship between the target virtual machines includes: configuring mutual test relationships between the target virtual machines based on the topological connection relationship between the target virtual machines; configuring test parameters for testing different performance indicators between the target virtual machines based on the network element roles carried by the target virtual machines; generating a test matrix for recording the test parameters based on the number of target virtual machines; and determining the mutual test relationships, the test parameters, and the test matrix as the performance test configuration for the target virtual machine associated with each network plane. The performance test configuration is distributed to the multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
2. The method according to claim 1, characterized in that, The step of obtaining the topological connection relationship between the multiple virtual machines includes: Based on the interactive information input through the preset interactive interface, determine whether to connect the multiple virtual machines according to the pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines; If so, the multiple virtual machines are connected based on the pre-configured topology connection relationship to form a topology connection relationship between the multiple virtual machines; If not, the multiple virtual machines are connected based on a custom topology connection relationship to form a topology connection relationship between the multiple virtual machines.
3. The method according to claim 1 or 2, characterized in that, The test results include values for at least one performance metric; After obtaining the test results, the method further includes: Obtain the reference values for each of the aforementioned performance indicators that have been pre-set; Based on the comparison between the index values of each performance indicator and their reference values, determine whether the index values of each performance indicator meet the preset qualification conditions. If the values of all the performance indicators meet the preset qualification conditions, the test results are determined to meet the business requirements.
4. The method according to claim 3, characterized in that, After determining that the test results meet business requirements, the method further includes: Calculate the network performance evaluation value of the cloud environment based on the value of the at least one performance indicator, and evaluate the network quality of the cloud environment based on the network performance evaluation value.
5. The method according to claim 4, characterized in that, The step of calculating the network performance evaluation value of the cloud environment based on the value of the at least one performance indicator includes: Obtain the weighting coefficients pre-assigned to each performance metric; Obtain the ratio between each indicator value included under each performance indicator and its reference indicator value, and obtain the average value of multiple ratios; The product value is determined by multiplying the average value by the weighting coefficient; The network performance evaluation value is determined based on the product value corresponding to the at least one performance indicator.
6. A network performance testing device, characterized in that, include: The acquisition module is used to acquire basic information about multiple virtual machines deployed in a cloud environment, and to acquire the topological connection relationship between the multiple virtual machines; The test configuration generation module is used to generate performance test configurations for the multiple virtual machines based on the basic information and the topology connection relationship; The basic information includes the number of at least one network plane associated with the multiple virtual machines; the test configuration generation module is further configured to: for each of the at least one network plane, obtain the target virtual machine associated with that network plane; generate a performance test configuration for the target virtual machine associated with each network plane based on the basic information of the target virtual machine and the topological connection relationship between the target virtual machines; and determine the performance test configuration of the target virtual machine associated with each of the at least one network plane as the performance test configuration for the multiple virtual machines; The basic information also includes the network element roles carried by the virtual machine; the test configuration generation module is further configured to: configure the mutual test relationships between the target virtual machines according to the topology connection relationship between the target virtual machines; and configure the test parameters between the target virtual machines for testing different performance indicators according to the network element roles carried by the target virtual machines. Based on the number of target virtual machines, generate a test matrix for recording the test parameters; The mutual testing relationship, the testing parameters, and the testing matrix are determined as the performance testing configuration for the target virtual machine associated with each network plane; The test result determination module is used to distribute the performance test configuration to the multiple virtual machines so that the multiple virtual machines can perform network performance tests on each other and obtain test results.
7. A computer storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the network performance testing method according to any one of claims 1 to 5.
8. An electronic device, characterized in that, include: processor; as well as Memory for storing the executable instructions of the processor; The processor is configured to execute the network performance testing method according to any one of claims 1 to 5 by executing the executable instructions.
Citation Information
Patent Citations
Enterprise network testing method and device
CN110535725A