Performance test method, device and equipment of cloud platform, medium and program product
By sending unified test scripts and target parameters to the cloud host to be tested on the cloud platform, and automatically testing and analysis is performed using the cloud host on the test node, the problem of inefficient performance testing in the existing technology is solved, and fast and accurate acquisition of cloud platform performance test results is achieved.
Patent Information
- Application Number
- CN202411698239.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-02-28
AI Technical Summary
In the prior art, it is relatively inefficient to obtain cloud platform performance test results, and requires manual input of FIO commands and target parameters, and manual analysis of test reports.
By sending the same test scripts and target parameters to the test node of each cloud host to be tested, the test tools and scripts are automatically run using the test node on the test node to obtain and analyze the test results, and send the results to the monitoring node.
The need to manually set target parameters and analyze test reports significantly improves the efficiency of obtaining cloud platform performance test results, ensuring the integrity of data acquisition and the accuracy of test results.
Smart Images

Figure CN119537177A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of testing, and in particular to a performance testing method, device, equipment, medium and program product for a cloud platform. Background Art
[0002] With the continuous development of technology, the scale of cloud platforms continues to expand, the number of cloud hosts set up on cloud platforms also increases accordingly, and the requirements for the storage performance of cloud platforms are also constantly increasing.
[0003] In the related art, a test command (such as an FIO command) can be sent to test each cloud host on the cloud platform, and then the performance test result of the cloud platform can be determined based on the test result of each cloud host.
[0004] However, in the related art, it is necessary to manually input the FIO commands corresponding to each cloud host and manually set the target parameters corresponding to each FIO command one by one, and it is necessary to manually analyze the test report (obtained by the cloud host based on the FIO commands and target parameters) to obtain the test results, which leads to the problem of low efficiency in the methods in the related art. Summary of the invention
[0005] The present application provides a cloud platform performance testing method, device, equipment, medium and program product to solve the technical problem of low efficiency in obtaining performance test results of the cloud platform in the related art.
[0006] In a first aspect, the present application provides a performance testing method for a cloud platform, comprising:
[0007] Determine multiple cloud hosts to be tested corresponding to the cloud platform;
[0008] For any cloud host to be tested, send the test script and target parameters to the test node corresponding to the cloud host to be tested;
[0009] Receive the test result corresponding to the cloud host to be tested sent by the test node; the test result is obtained by running the test script on the cloud host to be tested on the test node and analyzing the test report; the test report is obtained by running the test tool on the cloud host to be tested on the test node according to the target parameters;
[0010] The performance test results of the cloud platform are determined based on the test results corresponding to multiple cloud hosts to be tested.
[0011] In this solution, the monitoring node can send the same test script and target parameters to the test node corresponding to each cloud host to be tested. For any cloud host to be tested, the cloud host to be tested on the test node can run the test tool according to the target parameters to obtain a test report. The cloud host to be tested on the test node can also run the test script to automatically analyze the test report to obtain the test results corresponding to the cloud host to be tested, and send the test results corresponding to the cloud host to be tested to the monitoring node. The monitoring node can determine the performance test results of the cloud platform based on the test results corresponding to multiple cloud hosts to be tested. Through the above method, there is no need to manually set the target parameters for each cloud host to be tested and manually analyze the test report. By sending the test script and target parameters to the test node corresponding to each cloud host to be tested, the performance test results of the cloud platform can be quickly obtained, which improves the efficiency of obtaining the performance test results of the cloud platform.
[0012] In one implementation, receiving a test result corresponding to the cloud host to be tested sent by the test node includes:
[0013] Determine whether the test result corresponding to the cloud host to be tested is received; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the test script;
[0014] If not, the compensation script is used to obtain the test results corresponding to the cloud host to be tested.
[0015] In this solution, the monitoring node can use the compensation script to obtain the test results corresponding to the missing cloud hosts to be tested, thereby ensuring that the monitoring node can obtain the test results corresponding to all cloud hosts to be tested and improving the integrity of data collection.
[0016] In one implementation, obtaining the test result corresponding to the cloud host to be tested by using the compensation script includes:
[0017] Sending a compensation request to the test node corresponding to the cloud host to be tested; the compensation request includes a compensation script;
[0018] Receive the test result corresponding to the cloud host to be tested; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the compensation script.
[0019] In this solution, the monitoring node only needs to send a compensation request (including a compensation script), and the cloud host on the test node can run the compensation script and send the test results of the cloud host to the monitoring node again. On the one hand, the integrity of data collection is improved, and on the other hand, the compensation efficiency is improved.
[0020] In one implementation, after receiving the test result corresponding to the cloud host to be tested sent by the test node, the method further includes:
[0021] The test results corresponding to the cloud host to be tested are stored in the database.
[0022] In this solution, by storing the test results corresponding to the cloud host to be tested in a database, the storage security of the test results corresponding to the cloud host to be tested is guaranteed.
[0023] In one implementation, determining whether a test result corresponding to the cloud host to be tested is received includes:
[0024] Query the database to determine whether the target test result is stored in the database; wherein the target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identifier of the target cloud host to be tested in the target test result is consistent with the identifier of the cloud host to be tested;
[0025] If so, it is determined that the test result corresponding to the cloud host to be tested is received;
[0026] If not, it is determined that the test result corresponding to the cloud host to be tested has not been received.
[0027] In this solution, by querying the database, it is determined whether there are missing test results corresponding to the cloud host to be tested, thereby improving the search efficiency of the missing test results corresponding to the cloud host to be tested.
[0028] In one implementation, the test result includes a performance indicator; and determining the performance test result of the cloud platform according to the test results corresponding to the plurality of cloud hosts to be tested includes:
[0029] By processing the model, the performance indicators corresponding to multiple cloud hosts to be tested are analyzed to determine the performance test results of the cloud platform; the performance indicators include at least one of the following: the number of read and write operations per second IOPS, bandwidth, processing latency, random order ratio, read-write ratio, and data block size.
[0030] In this solution, by processing the model, the performance indicators corresponding to multiple cloud hosts to be tested are directly analyzed, which can improve the efficiency and accuracy of obtaining performance test results of the cloud platform.
[0031] In a second aspect, the present application provides a performance testing device for a cloud platform, comprising:
[0032] A processing module, used for determining a plurality of cloud hosts to be tested corresponding to the cloud platform;
[0033] The transceiver module is used to send the test script and target parameters to the test node corresponding to any cloud host to be tested;
[0034] The transceiver module is also used to receive the test results corresponding to the cloud host to be tested sent by the test node; the test results are obtained by the cloud host to be tested on the test node running the test script and analyzing the test report; the test report is obtained by the cloud host to be tested on the test node running the test tool according to the target parameters;
[0035] The processing module is also used to determine the performance test results of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0036] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0037] In one implementation, the transceiver module is specifically configured to:
[0038] Determine whether the test result corresponding to the cloud host to be tested is received; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the test script;
[0039] If not, the compensation script is used to obtain the test results corresponding to the cloud host to be tested.
[0040] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0041] In one implementation, the transceiver module is specifically configured to:
[0042] Sending a compensation request to the test node corresponding to the cloud host to be tested; the compensation request includes a compensation script;
[0043] Receive the test result corresponding to the cloud host to be tested; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the compensation script.
[0044] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0045] In one implementation, the processing module is further configured to:
[0046] The test results corresponding to the cloud host to be tested are stored in the database.
[0047] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0048] In one implementation, the transceiver module is specifically configured to:
[0049] Query the database to determine whether the target test result is stored in the database; wherein the target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identifier of the target cloud host to be tested in the target test result is consistent with the identifier of the cloud host to be tested;
[0050] If so, it is determined that the test result corresponding to the cloud host to be tested is received;
[0051] If not, it is determined that the test result corresponding to the cloud host to be tested has not been received.
[0052] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0053] In one implementation, the test result includes a performance indicator; a processing module, specifically configured to:
[0054] By processing the model, the performance indicators corresponding to multiple cloud hosts to be tested are analyzed to determine the performance test results of the cloud platform; the performance indicators include at least one of the following: the number of read and write operations per second IOPS, bandwidth, processing latency, random order ratio, read-write ratio, and data block size.
[0055] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0056] In a third aspect, the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;
[0057] Memory stores computer-executable instructions;
[0058] The processor executes the computer-executable instructions stored in the memory to implement the method according to the first aspect.
[0059] The electronic device provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0060] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the method of the first aspect.
[0061] When the computer-executable instructions in the computer-readable storage medium provided in the embodiment of the present application are executed by the processor, the technical solution shown in the above method embodiment can be implemented. The implementation principle and beneficial effects are similar and will not be repeated here.
[0062] In a fifth aspect, the present application provides a computer program product, comprising a computer program, which implements the method of the first aspect when executed by a processor.
[0063] When the computer program in the computer program product provided in the embodiment of the present application is executed by a processor, the technical solution shown in the above method embodiment can be implemented. The implementation principle and beneficial effects are similar and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0065] Figure 1 A schematic diagram of an application scenario of a performance testing method for a cloud platform provided in an embodiment of the present application;
[0066] Figure 2 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 1 ;
[0067] Figure 3 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 2 ;
[0068] Figure 4 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 3 ;
[0069] Figure 5 A schematic diagram of the structure of a performance testing device for a cloud platform provided in an embodiment of the present application;
[0070] Figure 6 A structural diagram of an electronic device provided in this application.
[0071] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0072] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0073] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant countries and regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0074] In addition, this application involves big data analysis of user information (including but not limited to personal biometrics, identity data, consumption data, asset data, electronic terminal operation data, etc.), and the use of artificial intelligence technology for automated decision-making, and a technical solution for making decisions that have a significant impact on personal rights and interests based on the results of automated decision-making. The application provides users with corresponding operation entrances for them to choose to agree or reject the results of automated decision-making; if the user chooses to reject, the expert decision-making process will be entered.
[0075] It should be noted that the performance testing methods, devices, equipment, media and program products of the cloud platform of the present application can be used in the field of testing technology, and can also be used in any field other than testing. The application field of the performance testing methods, devices, equipment, media and program products of the cloud platform of the present application is not limited.
[0076] Glossary:
[0077] Cloud platform: refers to services based on hardware resources and software resources, providing the overall architecture and environment for cloud computing services, and a platform that provides computing, storage, networking, security and other capabilities.
[0078] Cloud host: A specific resource in a cloud platform, usually a virtual machine provided in a cloud environment, on which users can run operating systems and applications.
[0079] FIO tool: An open source I / O stress testing tool used to test the I / O performance of a disk or file system.
[0080] Storage performance stability: Storage stability refers to the ability of a storage system to continuously provide reliable and stable performance under different loads and conditions. It is an important indicator for measuring the quality of storage solutions. Ensuring the stability of storage performance is critical to the reliability and business continuity of the cloud platform.
[0081] Figure 1 A schematic diagram of an application scenario of a performance testing method for a cloud platform provided in an embodiment of the present application.
[0082] The scenario includes a monitoring node 10 and multiple test nodes. Exemplarily, Figure 1 Three test nodes are shown, namely test node 20 , test node 30 , and test node 40 .
[0083] A cloud platform refers to a platform that provides computing, network and storage capabilities based on services of hardware resources and software resources. A cloud platform can run multiple cloud hosts to be tested based on multiple test nodes. For example, one cloud host to be tested (cloud host 1 to be tested) can be run on test node 20, two cloud hosts to be tested (cloud host 2 to be tested and cloud host 3 to be tested) can be run on test node 30, and three cloud hosts to be tested (cloud host 4 to be tested, cloud host 5 to be tested, and cloud host 6 to be tested) can be run on test node 40.
[0084] In the related art, the monitoring node can test each cloud host to be tested on the cloud platform by sending test commands (such as FIO commands) to the test nodes in sequence. The monitoring node can determine the performance test results of the cloud platform based on the test results of each cloud host to be tested.
[0085] However, in the related art, it is necessary to manually input the FIO commands corresponding to each cloud host and manually set the target parameters corresponding to each FIO command one by one, and it is necessary to manually analyze the test report (obtained by the cloud host based on the FIO commands and target parameters) to obtain the test results, which leads to the problem of low efficiency in the methods in the related art.
[0086] Based on the above technical problems, the technical concept of the embodiment of the present application is as follows: the monitoring node can send the same test script and target parameters to the test node corresponding to each cloud host to be tested with one click. For any cloud host to be tested, the cloud host to be tested on the test node can run the test tool according to the target parameters to obtain a test report. The cloud host to be tested on the test node can also run the test script to automatically analyze the test report, obtain the test results corresponding to the cloud host to be tested, and send the test results corresponding to the cloud host to be tested to the monitoring node. The monitoring node can determine the performance test results of the cloud platform based on the test results corresponding to multiple cloud hosts to be tested.
[0087] Through the above method, the efficiency of obtaining performance test results of the cloud platform is improved.
[0088] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0089] Figure 2 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 1 , the method comprises the following steps:
[0090] S201: Determine a plurality of cloud hosts to be tested corresponding to the cloud platform.
[0091] In this embodiment, when the performance of the cloud platform needs to be tested, the monitoring node can determine a plurality of cloud hosts to be tested corresponding to the cloud platform.
[0092] It should be noted that the cloud host to be tested runs on the test node (hardware). It should also be noted that one test node can run one cloud host to be tested, or multiple cloud hosts to be tested, which is not limited in the embodiments of the present application.
[0093] S202: For any cloud host to be tested, send a test script and target parameters to a test node corresponding to the cloud host to be tested.
[0094] In this embodiment, the monitoring node can determine the test script and target parameters.
[0095] The target parameter is a parameter corresponding to the test tool, and the test tool can perform a test based on the target parameter. Exemplarily, the test tool can be a FIO tool.
[0096] It should be noted that the target parameters may include read-write ratio, data block size, random order ratio, test duration, test name, number of concurrent tests, whether to skip cache, whether to use a bare device, etc. For example, the target parameters may include read-write ratio and data block size, where the read-write ratio may be 3:1 and the data block size may be 4KB.
[0097] For any cloud host to be tested, the monitoring node can send a test script and target parameters to the test node corresponding to the cloud host to be tested. In one implementation, the monitoring node can send a test request to the test node corresponding to each cloud host to be tested, wherein the test request includes the test script and target parameters.
[0098] That is to say, during one test, the test scripts and target parameters received by the test nodes corresponding to the multiple cloud hosts to be tested are the same.
[0099] S203: Receive the test result corresponding to the cloud host to be tested sent by the test node.
[0100] In this embodiment, for any test node corresponding to the cloud host to be tested, the cloud host to be tested on the test node can run the test tool (such as the FIO tool) according to the target parameters to obtain a test report. In one implementation, the cloud host to be tested on the test node can generate multiple processing commands according to the target parameters. The cloud host to be tested on the test node can send multiple processing commands to the storage device (such as a hard disk) of the test node. The cloud host to be tested on the test node can obtain a test report during the process of the storage device executing the processing command.
[0101] The cloud host to be tested on the test node can run the test script, analyze and process the test report, and obtain the test result corresponding to the cloud host to be tested.
[0102] The test result may include performance indicators. In addition, the test result may also include test time information and an identifier of the cloud host to be tested. The identifier of the cloud host to be tested may be the number of the cloud host to be tested, the name of the cloud host to be tested, or other information that can reflect the identity of the cloud host to be tested, and the embodiments of the present application are not limited to this.
[0103] It should be noted that, illustratively, the performance indicator may include at least one of the following: the number of read / write operations per second (Input / Output Operations Per Second, referred to as IOPS), bandwidth, processing delay (also referred to as latency), random order ratio, read / write ratio, and data block size. In addition, the performance indicator may also include other information, which is not limited in the embodiments of the present application.
[0104] The cloud host to be tested on the test node can run the test script and send the test result corresponding to the cloud host to be tested to the monitoring node.
[0105] Accordingly, the monitoring node may receive the test result corresponding to the cloud host to be tested sent by the testing node. In one implementation, after receiving the test result corresponding to the cloud host to be tested, the monitoring node may store the test result corresponding to the cloud host to be tested in a database.
[0106] S204: Determine the performance test result of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0107] In this embodiment, the monitoring node can determine the performance test results of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0108] In this embodiment, the test result corresponding to the cloud host to be tested may include performance indicators.
[0109] The performance indicator may include at least one of the following: IOPS, bandwidth, processing delay, random order ratio, read-write ratio, and data block size.
[0110] The monitoring node can analyze the performance indicators corresponding to multiple cloud hosts to be tested through the processing model to determine the performance test results of the cloud platform.
[0111] In one implementation.
[0112] The monitoring node can obtain the test results corresponding to all the cloud hosts under test stored in the database.
[0113] The monitoring node can run a chart tool (such as Excel) to analyze the performance indicators corresponding to multiple cloud hosts to be tested by processing the model to obtain analysis results.
[0114] The monitoring node can obtain the corresponding performance test results of the cloud platform based on the analysis results.
[0115] Next, the process of the monitoring node obtaining the performance test results corresponding to the cloud platform based on the analysis results is explained.
[0116] In one implementation,
[0117] The monitoring node can display and process the analysis results.
[0118] The monitoring node can obtain the performance test results of the cloud platform input by the tester based on the analysis results.
[0119] In one implementation,
[0120] The monitoring node may determine the performance test result of the cloud platform based on the analysis result and the preset threshold. In one implementation, if the analysis result is greater than or equal to the preset threshold, the monitoring node may determine that the performance test result of the cloud platform is passed. If the analysis result is less than the preset threshold, the monitoring node may determine that the performance test result of the cloud platform is failed.
[0121] For example, the monitoring node can determine that the performance test result of the cloud platform is passed when the average IOPS (analysis result) is greater than or equal to the preset IOPS (preset threshold). The monitoring node can determine that the performance test result of the cloud platform is failed when the average IOPS is less than the preset IOPS.
[0122] It should be noted that if the performance test result of the cloud platform is passed, it indicates that the storage performance of the cloud platform can meet user needs and can ensure the normal operation of the business. If the performance test result of the cloud platform is failed, it indicates that the storage performance of the cloud platform cannot meet user needs and cannot ensure the normal operation of the business.
[0123] In one implementation,
[0124] The monitoring node can determine the performance test results of the cloud platform based on the analysis results and the historical analysis results. In one implementation, the performance test results of the cloud platform can indicate whether the performance of the cloud platform is limited by the number of cloud hosts on the cloud platform. In other words, the performance test results of the cloud platform can indicate whether the storage stability of the cloud platform is high. In addition, in one implementation, the performance test results of the cloud platform can also indicate the range of the number threshold of cloud hosts that can be deployed on the cloud platform.
[0125] The historical analysis results are obtained by analyzing the historical performance indicators (historical test results include historical performance indicators) corresponding to multiple historical cloud hosts to be tested by the monitoring node running chart tool through the processing model. It should be noted that the number of all historical cloud hosts to be tested is different from the number of all cloud hosts to be tested.
[0126] The following describes a process in which a monitoring node obtains a performance test result corresponding to a cloud platform through a specific example.
[0127] For example, the historical analysis result is obtained by analyzing the historical performance indicators (such as IOPS) corresponding to 100 historical cloud hosts to be tested by the monitoring node running chart tool through the processing model. The historical analysis result can be the historical average IOPS corresponding to the 100 historical cloud hosts to be tested.
[0128] The analysis result is obtained by analyzing the performance indicators (such as IOPS) corresponding to the 50 cloud hosts to be tested by running the chart tool of the monitoring node through the processing model. The analysis result can be the average IOPS corresponding to the 50 cloud hosts to be tested.
[0129] The monitoring node can determine that the performance test result of the cloud platform indicates that the performance of the cloud platform is limited by the number of cloud hosts based on the ratio of the average IOPS corresponding to the 50 cloud hosts to be tested to the historical average IOPS corresponding to the 100 historical cloud hosts to be tested, which is greater than a preset threshold. In other words, the monitoring node can determine that the performance test result of the cloud platform indicates that the storage stability of the cloud platform is low. In addition, in one implementation, the performance test result of the cloud platform can also indicate that the threshold value (performance bottleneck) of the number of cloud hosts that can be deployed on the cloud platform is less than 100.
[0130] The monitoring node can determine that the performance test result of the cloud platform indicates that the performance of the cloud platform is not limited by the number of cloud hosts based on the ratio of the average IOPS corresponding to the 50 cloud hosts to be tested to the historical average IOPS corresponding to the 100 historical cloud hosts to be tested being less than or equal to a preset threshold. In other words, the monitoring node can determine that the performance test result of the cloud platform indicates that the storage stability of the cloud platform is high.
[0131] Beneficial effects of this embodiment: In this embodiment, the monitoring node can send the same test script and target parameters to the test node corresponding to each cloud host to be tested. For any cloud host to be tested, the cloud host to be tested on the test node can run the test tool according to the target parameters to obtain a test report. The cloud host to be tested on the test node can also run the test script to automatically analyze the test report to obtain the test results corresponding to the cloud host to be tested, and send the test results corresponding to the cloud host to be tested to the monitoring node. The monitoring node can determine the performance test results of the cloud platform based on the test results corresponding to multiple cloud hosts to be tested. Through the above method, there is no need to manually set the target parameters for each cloud host to be tested and manually analyze the test report. By sending the test script and target parameters to the test node corresponding to each cloud host to be tested, the performance test results of the cloud platform can be quickly obtained, which improves the efficiency of obtaining the performance test results of the cloud platform.
[0132] Figure 3 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 2 , the method comprises the following steps:
[0133] S301: Determine multiple cloud hosts to be tested corresponding to the cloud platform.
[0134] In this embodiment, the monitoring node can determine multiple cloud hosts to be tested corresponding to the cloud platform.
[0135] The specific implementation process is the same as S201 and will not be repeated here.
[0136] S302: For any cloud host to be tested, send a test script and target parameters to a test node corresponding to the cloud host to be tested.
[0137] In this embodiment, for any cloud host to be tested, the monitoring node can send a test script and target parameters to a test node corresponding to the cloud host to be tested.
[0138] The specific implementation process is the same as S202 and will not be repeated here.
[0139] S303: Determine whether the test result corresponding to the cloud host to be tested is received.
[0140] In this embodiment, in the process of running the test script at the test node corresponding to the cloud host to be tested and sending the test results corresponding to the cloud host to be tested to the monitoring node, if the connection between the monitoring node and the test node corresponding to the cloud host to be tested fails, the monitoring node cannot receive the test results corresponding to the cloud host to be tested; if the connection between the monitoring node and the test node corresponding to the cloud host to be tested does not fail, the monitoring node can receive the test results corresponding to the cloud host to be tested.
[0141] The monitoring node can determine whether the test result corresponding to the cloud host to be tested is received. The test result corresponding to the cloud host to be tested is sent by the test node corresponding to the cloud host to be tested running the test script.
[0142] If not, execute S304;
[0143] If yes, execute S305.
[0144] In one implementation,
[0145] The monitoring node can start timing and obtain the timing duration after sending the test script and target parameters to the test node corresponding to the cloud host to be tested.
[0146] The monitoring node may determine whether the test result corresponding to the cloud host to be tested sent by the test node is received after the timing duration reaches a preset duration.
[0147] If not, execute S304;
[0148] If yes, execute S305.
[0149] Next, the process of determining whether the monitoring node has received the test result corresponding to the cloud host to be tested sent by the testing node is described.
[0150] In one implementation,
[0151] After receiving the test results corresponding to the cloud host to be tested, the monitoring node stores the test results corresponding to the cloud host to be tested in the database. Therefore, the monitoring node can query the database to determine whether the target test results are stored in the database. Among them, the target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identification of the target cloud host to be tested in the target test result is consistent with the identification of the cloud host to be tested.
[0152] If yes, the monitoring node can determine that the test result corresponding to the cloud host to be tested sent by the testing node is received. The target test result is the test result corresponding to the cloud host to be tested.
[0153] If not, the monitoring node may determine that the test result corresponding to the cloud host to be tested sent by the testing node has not been received.
[0154] It should be noted that the test result is obtained by analyzing the test report by running the test script on the cloud host to be tested on the test node. The test result is sent to the monitoring node by running the test script on the cloud host to be tested on the test node.
[0155] It should also be noted that the test report is obtained by running the test tool on the cloud host under test on the test node according to the target parameters.
[0156] S304: Obtain the test result corresponding to the cloud host to be tested through the compensation script.
[0157] In this embodiment, when it is determined that the test result corresponding to the cloud host to be tested has not been received, the monitoring node may obtain the test result corresponding to the cloud host to be tested through a compensation script.
[0158] In one implementation,
[0159] The monitoring node may send a compensation request to the test node corresponding to the cloud host to be tested, wherein the compensation request includes a compensation script.
[0160] The monitoring node can receive the test result corresponding to the cloud host to be tested sent by the test node. The test result corresponding to the cloud host to be tested is sent by the test node running the compensation script.
[0161] S305: Determine the performance test result of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0162] In this embodiment, the monitoring node can determine the performance test results of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0163] The specific implementation process is the same as S204 and will not be repeated here.
[0164] Beneficial effects of this embodiment: In this embodiment, when the monitoring node does not receive the test results corresponding to the cloud host to be tested (the test results corresponding to the cloud host to be tested are sent by the cloud host to be tested on the test node when running the test script), the test results corresponding to the cloud host to be tested can be obtained through the compensation script. Through the above compensation strategy, it can be ensured that the monitoring node obtains the test results corresponding to the cloud host to be tested, improves the integrity of data collection, improves the effectiveness of the monitoring node in monitoring the performance corresponding to each cloud host to be tested, and improves the accuracy of the monitoring node in determining the performance test results of the cloud platform.
[0165] Figure 4 A schematic diagram of a performance testing method for a cloud platform provided in an embodiment of the present application Figure 3 , the method comprises the following steps:
[0166] S401: Determine a plurality of cloud hosts to be tested corresponding to the cloud platform.
[0167] In this embodiment, the monitoring node can determine multiple cloud hosts to be tested corresponding to the cloud platform.
[0168] The specific implementation process is the same as S201 and will not be repeated here.
[0169] S402: For any cloud host to be tested, send a test script and target parameters to a test node corresponding to the cloud host to be tested.
[0170] In this embodiment, for any cloud host to be tested, the monitoring node can send a test script and target parameters to a test node corresponding to the cloud host to be tested.
[0171] The specific implementation process is the same as S202 and will not be repeated here.
[0172] S403: Query the database to determine whether the target test result is stored in the database.
[0173] In this embodiment, the monitoring node may query the database to determine whether the target test result is stored in the database.
[0174] If yes, execute S404;
[0175] If not, execute S405.
[0176] The target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identifier of the target cloud host to be tested in the target test result is consistent with the identifier of the cloud host to be tested.
[0177] S404: Determine whether a test result corresponding to the cloud host to be tested is received.
[0178] In this embodiment, the monitoring node may determine that the test result corresponding to the cloud host to be tested sent by the testing node is received when determining that the target test result is stored in the database.
[0179] It should be noted that the monitoring node may execute S408 after executing S404.
[0180] S405: Determine that the test result corresponding to the cloud host to be tested is not received.
[0181] In this embodiment, the monitoring node may determine that the test result corresponding to the cloud host to be tested sent by the testing node has not been received when it is determined that the target test result is not stored in the database.
[0182] It should be noted that the monitoring node may execute S406 after executing S405.
[0183] S406: Send a compensation request to the test node corresponding to the cloud host to be tested.
[0184] In this embodiment, the monitoring node may send a compensation request to the test node corresponding to the cloud host to be tested when determining that the test result corresponding to the cloud host to be tested has not been received, wherein the compensation request includes a compensation script.
[0185] It should be noted that, after receiving the compensation request, the cloud host to be tested on the test node can run the compensation script and send the test result corresponding to the cloud host to be tested to the monitoring node.
[0186] It should also be noted that the test results corresponding to the cloud host under test are obtained by running the test script on the cloud host under test running on the test node and analyzing the test report. The test report is obtained by running the test tool (such as the FIO tool) on the cloud host under test on the test node according to the target parameters.
[0187] S407: Receive the test result corresponding to the cloud host to be tested.
[0188] In this embodiment, the monitoring node may receive the test result corresponding to the cloud host to be tested, wherein the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the testing node running the compensation script.
[0189] S408: Storing the test results corresponding to the cloud host to be tested in the database.
[0190] In this embodiment, after obtaining the test result corresponding to the cloud host to be tested, the monitoring node may store the test result corresponding to the cloud host to be tested in a database.
[0191] It should be noted that, in one implementation, the database may run on a monitoring node.
[0192] S409: Analyze the performance indicators corresponding to the multiple cloud hosts to be tested by processing the model to determine the performance test result of the cloud platform.
[0193] In this embodiment, the test result corresponding to the cloud host to be tested may include performance indicators.
[0194] The performance indicator may include at least one of the following: IOPS, bandwidth, processing delay, random order ratio, read-write ratio, and data block size.
[0195] The monitoring node can analyze the performance indicators corresponding to multiple cloud hosts to be tested through the processing model to determine the performance test results of the cloud platform.
[0196] The specific implementation process is the same as S204 and will not be repeated here.
[0197] Beneficial effects of this embodiment: In this embodiment, the monitoring node can determine multiple cloud hosts to be tested corresponding to the cloud platform. For any cloud host to be tested, the monitoring node can send a test script and target parameters to the test node corresponding to the cloud host to be tested. The monitoring node can also send a compensation request (including a compensation script) to the test node corresponding to the cloud host to be tested when it is determined by querying the database that the target test result (the test result corresponding to the cloud host to be tested) is not stored in the database. The monitoring node can receive the test results corresponding to the cloud host to be tested. Among them, the test results corresponding to the cloud host to be tested are sent by the cloud host to be tested on the test node running the compensation script. After obtaining the test results corresponding to the cloud host to be tested, the monitoring node can store the test results corresponding to the cloud host to be tested in the database. The monitoring node can analyze the performance indicators (the test results may include performance indicators) corresponding to the multiple cloud hosts to be tested stored in the database through the processing model to determine the performance test results of the cloud platform. Through the above method, on the one hand, there is no need to manually set target parameters for each cloud host to be tested and manually analyze the test report. By sending the test script and target parameters to the test node corresponding to each cloud host to be tested, the performance test results of the cloud platform can be quickly obtained, thereby improving the efficiency of obtaining the performance test results of the cloud platform. On the other hand, in the case where the monitoring node does not receive the test results corresponding to the cloud host to be tested, the test results corresponding to the cloud host to be tested can be obtained by controlling the cloud host to be tested on the test node to run the compensation script to send the test results corresponding to the cloud host to be tested to the monitoring node, thereby improving the integrity of data collection, improving the effectiveness of the monitoring node in monitoring the performance corresponding to each cloud host to be tested, and improving the accuracy of the performance test results of the cloud platform determined by the monitoring node.
[0198] Figure 5 This is a schematic diagram of the structure of a performance testing device for a cloud platform provided in an embodiment of the present application. Figure 5 As shown, the performance testing device 50 of the cloud platform may include: a processing module 51 and a transceiver module 52, wherein:
[0199] A processing module 51 is used to determine a plurality of cloud hosts to be tested corresponding to the cloud platform;
[0200] The transceiver module 52 is used to send the test script and target parameters to the test node corresponding to any cloud host to be tested;
[0201] The transceiver module 52 is also used to receive the test result corresponding to the cloud host to be tested sent by the test node; the test result is obtained by analyzing the test report by running the test script on the cloud host to be tested on the test node; the test report is obtained by running the test tool on the cloud host to be tested on the test node according to the target parameters;
[0202] The processing module 51 is further used to determine the performance test result of the cloud platform according to the test results corresponding to the multiple cloud hosts to be tested.
[0203] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0204] In one implementation, the transceiver module 52 is specifically configured to:
[0205] Determine whether the test result corresponding to the cloud host to be tested is received; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the test script;
[0206] If not, the compensation script is used to obtain the test results corresponding to the cloud host to be tested.
[0207] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0208] In one implementation, the transceiver module 52 is specifically configured to:
[0209] Sending a compensation request to the test node corresponding to the cloud host to be tested; the compensation request includes a compensation script;
[0210] Receive the test result corresponding to the cloud host to be tested; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the compensation script.
[0211] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0212] In one implementation, the processing module 51 is further configured to:
[0213] The test results corresponding to the cloud host to be tested are stored in the database.
[0214] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0215] In one implementation, the transceiver module 52 is specifically configured to:
[0216] Query the database to determine whether the target test result is stored in the database; wherein the target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identifier of the target cloud host to be tested in the target test result is consistent with the identifier of the cloud host to be tested;
[0217] If so, it is determined that the test result corresponding to the cloud host to be tested is received;
[0218] If not, it is determined that the test result corresponding to the cloud host to be tested has not been received.
[0219] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0220] In one implementation, the test result includes a performance indicator; the processing module 51 is specifically configured to:
[0221] By processing the model, the performance indicators corresponding to multiple cloud hosts to be tested are analyzed to determine the performance test results of the cloud platform; the performance indicators include at least one of the following: the number of read and write operations per second IOPS, bandwidth, processing latency, random order ratio, read-write ratio, and data block size.
[0222] The performance testing device for the cloud platform provided in the embodiment of the present application can execute the technical solution shown in the above method embodiment, and its implementation principle and beneficial effects are similar, which will not be repeated here.
[0223] Figure 6 This is a structural diagram of an electronic device provided in this application. Figure 6 As shown, the electronic device 60 includes a processor 61 and a memory 62. The processor 61 is in communication connection with the memory 62, and the memory 62 is used to store computer-executable instructions; the processor 61 is configured to execute the technical solution in any of the above method embodiments by executing the computer-executable instructions stored in the memory 62.
[0224] Optionally, the memory 62 may be independent or integrated with the processor 61. Optionally, when the memory 62 is a device independent of the processor 61, the electronic device 60 may further include: a bus 63 for connecting the above devices.
[0225] The electronic device is used to execute the technical solution in any of the aforementioned method embodiments, and its implementation principle and technical effect are similar and will not be repeated here.
[0226] An embodiment of the present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the technical solution provided by any of the aforementioned method embodiments.
[0227] An embodiment of the present application also provides a computer program product, including a computer program, which is used to implement the technical solution provided by the aforementioned method embodiment when executed by a processor.
[0228] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0229] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present application.
[0230] It should be further noted that, although the various steps in the flowchart are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the flowchart may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these sub-steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a portion of the sub-steps or stages of other steps.
[0231] It should be understood that the above-mentioned device embodiments are only illustrative, and the device of the present application can also be implemented in other ways. For example, the division of units / modules in the above-mentioned embodiments is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units, modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed.
[0232] In addition, unless otherwise specified, each functional unit / module in each embodiment of the present application may be integrated into one unit / module, each unit / module may exist physically separately, or two or more units / modules may be integrated together. The above-mentioned integrated unit / module may be implemented in the form of hardware or in the form of a software program module.
[0233] If the integrated unit / module is implemented in the form of hardware, the hardware may be a digital circuit, an analog circuit, etc. The physical implementation of the hardware structure includes but is not limited to transistors, memristors, etc. If not specifically stated, the processor may be any appropriate hardware processor, such as a CPU, a GPU, an FPGA, a DSP, an ASIC, etc. If not specifically stated, the storage unit may be any appropriate magnetic storage medium or magneto-optical storage medium, such as a resistive random access memory RRAM (Resistive Random Access Memory), a dynamic random access memory DRAM (Dynamic Random Access Memory), a static random access memory SRAM (Static Random-Access Memory), an enhanced dynamic random access memory EDRAM (Enhanced Dynamic Random Access Memory), a high-bandwidth memory HBM (High-Bandwidth Memory), a hybrid memory cube HMC (Hybrid Memory Cube), etc.
[0234] If the integrated unit / module is implemented in the form of a software program module and sold or used as an independent product, it can be stored in a computer-readable memory. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or all or part of the technical solution, can be embodied in the form of a software product, which is stored in a memory and includes several instructions for a computer device (which can be a personal computer, a server or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned memory includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk and other media that can store program codes.
[0235] In the above embodiments, the description of each embodiment has its own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant description of other embodiments. The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0236] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.
[0237] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.
Claims
1. A performance testing method for a cloud platform, characterized in that: include: Determine a plurality of cloud hosts to be tested corresponding to the cloud platform; For any cloud host to be tested, send the test script and target parameters to the test node corresponding to the cloud host to be tested; Receiving the test result corresponding to the cloud host to be tested sent by the test node; The test result is obtained by analyzing the test report by running the test script on the cloud host to be tested on the test node; the test report is obtained by running the test tool on the cloud host to be tested on the test node according to the target parameters; The performance test result of the cloud platform is determined according to the test results corresponding to the plurality of cloud hosts to be tested.
2. The method according to claim 1, characterized in that The receiving the test result corresponding to the cloud host to be tested sent by the test node includes: Determine whether a test result corresponding to the cloud host to be tested is received; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the test script; If not, the test result corresponding to the cloud host to be tested is obtained through the compensation script.
3. The method according to claim 2, characterized in that The step of obtaining the test result corresponding to the cloud host to be tested by using the compensation script includes: Sending a compensation request to a test node corresponding to the cloud host to be tested; the compensation request includes the compensation script; A test result corresponding to the cloud host to be tested is received; the test result corresponding to the cloud host to be tested is sent by the cloud host to be tested on the test node running the compensation script.
4. The method according to claim 2, characterized in that After receiving the test result corresponding to the cloud host to be tested sent by the test node, the method further includes: The test results corresponding to the cloud host to be tested are stored in the database.
5. The method according to claim 4, characterized in that The determining whether a test result corresponding to the cloud host to be tested is received includes: Query the database to determine whether the target test result is stored in the database; wherein the target test time information in the target test result is consistent with the test time information in the test results corresponding to other cloud hosts to be tested; the identifier of the target cloud host to be tested in the target test result is consistent with the identifier of the cloud host to be tested; If yes, it is determined that the test result corresponding to the cloud host to be tested is received; If not, it is determined that the test result corresponding to the cloud host to be tested has not been received.
6. The method according to any one of claims 1 to 5, characterized in that: The test result includes a performance indicator; the performance test result of the cloud platform is determined according to the test results corresponding to the plurality of cloud hosts to be tested, including: By processing the model, the performance indicators corresponding to the multiple cloud hosts to be tested are analyzed to determine the performance test results of the cloud platform; the performance indicators include at least one of the following: the number of read and write operations per second IOPS, bandwidth, processing latency, random order ratio, read-write ratio, and data block size.
7. A performance testing device for a cloud platform, characterized in that: include: A processing module, used for determining a plurality of cloud hosts to be tested corresponding to the cloud platform; The transceiver module is used to send the test script and target parameters to the test node corresponding to any cloud host to be tested; The transceiver module is further used to receive the test result corresponding to the cloud host to be tested sent by the test node; the test result is obtained by the cloud host to be tested on the test node running the test script and analyzing the test report; the test report is obtained by the cloud host to be tested on the test node running the test tool according to the target parameters; The processing module is further used to determine the performance test result of the cloud platform according to the test results corresponding to the plurality of cloud hosts to be tested.
8. An electronic device, characterized in that: include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 6 when executed by a processor.
10. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 6 when being executed by a processor.