Performance test method and device for distributed storage system, equipment and medium
By automatically generating test scripts and integrating multiple test tools, a distributed storage system performance testing method solves the problems of singleness and low efficiency of existing tools and realizes efficient and accurate automated testing.
Patent Information
- Application Number
- CN202510896903.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-09-19
AI Technical Summary
Existing distributed storage testing tools are single, have low testing efficiency, high complexity, lack versatility and automation, and make test results prone to human errors.
Provides a performance testing method for distributed storage systems. It automatically generates test scripts through configuration files, integrates multiple performance testing tools, collects and analyzes log data in real time, supports multi-scenario hybrid orchestration, and realizes fully automated testing.
It significantly improves test accuracy, lowers the threshold for storage testing, enables efficient testing without manual intervention, and supports flexible adaptation to different test environments.
Smart Images

Figure CN120670262A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of performance testing, and in particular to a performance testing method, device, equipment and medium for a distributed storage system. Background Art
[0002] As a core component of modern data centers, distributed storage systems are responsible for storing and processing massive amounts of data. With the continuous growth of data volumes and the increasing complexity of businesses, the performance and reliability of distributed storage systems face increasing challenges, making testing and verification of distributed storage systems increasingly important. The characteristics of distributed storage dictate that its testing tools must be highly flexible and scalable to adapt to diverse storage testing scenarios. Testing tools must also be able to collect and analyze performance data in real time during testing to promptly identify and resolve performance bottlenecks. Traditional distributed storage testing tools are often limited to specific storage scenarios, lacking versatility and failing to meet the complexity and diversity of distributed storage. Traditional testing methods rely primarily on manual operations, which are prone to human error. The analysis of test results also requires extensive human intervention, resulting in a low level of automation.
[0003] It can be seen that how to solve the problems of single distributed storage testing tools, low testing efficiency and high complexity is something that technical personnel in this field need to consider. Summary of the Invention
[0004] The purpose of the embodiments of the present invention is to provide a performance testing method, apparatus, device, and medium for a distributed storage system. This method can address the issues of single distributed storage testing tools, low testing efficiency, and high complexity, significantly improve test accuracy, and lower the threshold for storage testing. The specific solution is as follows:
[0005] In a first aspect, the present invention provides a performance testing method for a distributed storage system, comprising:
[0006] Determine a configuration file according to a preset test plan, and determine a test script based on the configuration file; the configuration file is a file used to store configuration information in the performance model of the performance test object of the distributed storage system; the performance test object includes file storage, block storage, and object storage;
[0007] Perform performance testing on the performance test object based on performance testing tools and test scripts, and obtain corresponding test results;
[0008] Collect log data during performance testing in real time, and package and store the log data and test results.
[0009] Optionally, the configuration file includes cluster connection configuration, client configuration, global parameters, and test plan; cluster connection configuration includes storage management node IP and secure shell authentication information; client configuration includes master client information and test node list; global parameters include performance test tool path, failure retry mechanism, and data collection strategy;
[0010] Accordingly, the configuration file is determined according to the preset test plan, including:
[0011] Build configuration files based on preset test plans and test environment parameters.
[0012] Optionally, after determining the test script based on the configuration file, it also includes:
[0013] Compare the test environment parameters in the configuration file with the target environment parameters corresponding to the performance test object;
[0014] If the test environment parameters are the same as the target environment parameters, the performance test operation based on the performance test tool and the test script is triggered to perform performance testing on the performance test object;
[0015] If the test environment parameters are different from the target environment parameters, an error message will be sent and the process will end directly;
[0016] Accordingly, a performance test is performed on the performance test object based on the performance testing tool and test script to obtain the corresponding test results, including:
[0017] Deploy performance testing tools to the test server;
[0018] Execute the test script through the test server to perform performance testing on the performance test object and obtain the corresponding test results;
[0019] Alternatively, the test scripts may be executed in batches through the test server to perform performance testing on the performance test object, and the execution results may be summarized and the test results may be determined based on the summarized execution results.
[0020] Optionally, real-time log data is collected during performance testing, including:
[0021] Performance indicators and configuration information are collected in real time during the performance test. Performance indicators include the number of read and write operations per second, throughput, latency, and bandwidth of the storage cluster. Configuration information includes the software and / or hardware configuration information of each node in the storage cluster and the cluster service configuration file.
[0022] Optionally, after collecting log data in real time during performance testing, the following is also included:
[0023] If the test result is abnormal, the test result is analyzed based on the log data to obtain the corresponding analysis result.
[0024] Optionally, the performance testing method for the distributed storage system further includes:
[0025] Analyze the test results and summarize the key performance indicators in the test results in a table. Key performance indicators include bandwidth, number of read and write operations per second, average latency, and any one or a combination of performance fluctuations.
[0026] Optionally, log data and test results are packaged and stored, including:
[0027] The log data and test results are packaged and stored in a storage server, and a corresponding shareable web link is generated so that the log data and test results can be downloaded based on the shareable web link.
[0028] In a second aspect, the present invention provides a performance testing device for a distributed storage system, comprising:
[0029] A test script determination module is used to determine a configuration file according to a preset test plan and determine a test script based on the configuration file; the configuration file is a file used to store configuration information in the performance model of the performance test object of the distributed storage system; the performance test object includes file storage, block storage, and object storage;
[0030] The test result acquisition module is used to perform performance testing on the performance test object based on the performance testing tool and test script and obtain the corresponding test results;
[0031] The packaging and storage module is used to collect log data during the performance test in real time and package and store the log data and test results.
[0032] In a third aspect, the present invention provides an electronic device, comprising:
[0033] memory for storing computer programs;
[0034] A processor is used to execute a computer program to implement the aforementioned performance testing method for the distributed storage system.
[0035] In a fourth aspect, the present invention provides a computer-readable storage medium having a computer program stored thereon, which implements the aforementioned performance testing method for the distributed storage system when the computer program is executed by a processor.
[0036] In the present invention, a configuration file is determined according to a preset test plan, and a test script is determined based on the configuration file; the configuration file is a file used to store configuration information in a performance model of a performance test object of a distributed storage system; the performance test object includes file storage, block storage, and object storage; a performance test is performed on the performance test object based on a performance test tool and a test script to obtain corresponding test results; log data during the performance test process is collected in real time, and the log data and test results are packaged and stored.
[0037] Beneficial effects: It can be seen that the present invention can automatically generate test scripts based on configuration information, and the test plan supports mixed orchestration of multiple scenarios. A single configuration file can simultaneously define test tasks for different scenarios such as block storage, file storage, and object storage, and can be reused in different test environments. Only the configuration file needs to be adjusted without modifying the model. Users only need to edit the configuration file, set the test plan, and then run a single command to start the fully automatic test. The entire process does not require human intervention. It solves the problems of single distributed storage testing tools, low testing efficiency, and high complexity, significantly improves test accuracy, and lowers the threshold for storage testing. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] In order to more clearly illustrate the embodiments of the present invention, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0039] Figure 1 A flow chart of a performance testing method for a distributed storage system provided by an embodiment of the present invention;
[0040] Figure 2 A schematic diagram of a performance test system architecture for a distributed storage system provided by an embodiment of the present invention;
[0041] Figure 3 A flow chart of a specific performance testing method for a distributed storage system provided by an embodiment of the present invention;
[0042] Figure 4 A schematic diagram of the structure of a performance testing device for a distributed storage system provided by an embodiment of the present invention;
[0043] Figure 5 A structural diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0044] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making any creative efforts shall fall within the scope of protection of the present invention.
[0045] The terms "including" and "having," as used in the present description and accompanying drawings, and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements and may include steps or elements that are not listed.
[0046] In order to enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0047] See also Figure 1 As shown, an embodiment of the present invention provides a performance testing method for a distributed storage system, including:
[0048] Step S11, determine a configuration file according to a preset test plan, and determine a test script based on the configuration file; the configuration file is a file used to store configuration information in the performance model of the performance test object of the distributed storage system; the performance test object includes file storage, block storage and object storage.
[0049] like Figure 2As shown, the system corresponding to the present invention is mainly composed of eight modules, namely, a test management module, a test tool integration module, a performance model management module, a cluster monitoring module, a configuration collection module, a result analysis module, a report archiving module, and an exception handling module. The test management module is used to manage test plans and test cases, supports testing of three storage scenarios: files, blocks, and objects, and can execute multiple test plans in batches. The performance model management module has built-in common performance models such as files, blocks, and objects, supports user-defined performance models, and can automatically generate test scripts based on configuration information. In other words, it has built-in common performance models and can automatically generate test scripts based on configuration information. Therefore, the present invention determines the file used to store configuration information in the performance model of the performance test object of the distributed storage system based on the preset test plan. At the same time, the configuration file includes cluster connection configuration, client configuration, global parameters, and test plan; the cluster connection configuration includes the storage management node IP and secure shell authentication information; the client configuration includes the master client information and the test node list; and the global parameters include the performance test tool path, failure retry mechanism, and data collection strategy. Specifically, the present invention achieves flexible and efficient business load stress testing through an intelligent configuration system. Its core architecture adheres to the principle of separating "environment configuration" from "business model." Users define test environment parameters and test plans through YAML (YAML Ain't Markup Language) configuration files (such as config.yaml), while performance models are independently stored in scenario-specific directories. The YAML configuration file adopts a hierarchical structure, consisting of four core components: cluster connection configuration, client configuration, global parameters, and test plan. Cluster connection configuration defines the storage management node IP and SSH authentication information; client configuration specifies the master client and test node list; global parameters set the test tool path, failure retry mechanism, and data collection strategy; and multi-protocol test plans support file storage, block storage, and object storage scenarios. Each plan can independently configure the test tool, number of clients, cache cleanup strategy, and test case list. Therefore, before finalizing the test script, first construct a configuration file based on the preset test plan and test environment parameters, and then determine the test script based on the configuration file.
[0050] After determining the test script based on the configuration file, the present invention first needs to perform an environmental check, comparing the test environment parameters in the configuration file with the target environment parameters corresponding to the performance test object; if the test environment parameters are the same as the target environment parameters, then trigger the operation of performing a performance test on the performance test object based on the performance test tool and the test script; if the test environment parameters are not the same as the target environment parameters, then send an error prompt message and directly end. That is, it is determined whether the test environment parameters in the configuration file currently used to generate the test script are the same as the environment parameters required for the scenarios that need to be tested in the three scenarios of file storage, block storage and object storage. Only when they are the same can subsequent testing be carried out. If they are different, even if the test is carried out, the test script may directly throw an exception due to failure to connect to the database, access error or unavailable dependent service, and the environment parameter error may cause the test logic to fail to reach the expected branch or the test results to be unreliable.
[0051] Step S12: Perform a performance test on the performance test object based on the performance test tool and the test script to obtain corresponding test results.
[0052] In an embodiment of the present invention, the testing tool integration module integrates multiple performance testing tools, including Vdbench (VDiskBenchmark, virtual disk benchmark testing tool), FIO (Flexible I / O Tester, flexible I / O tester), Cosbench (Cloud Object Storage Benchmark, cloud object storage benchmark testing tool), WARP (WorkloadAnalysis and Research Platform, workload analysis and research platform), etc., and has built-in installation packages for these tools to support automatic deployment to the test server.
[0053] After the environment verification is successful, the performance test object can be performance tested based on the performance testing tool and the test script. Before performing the performance test, the built-in test tool installation package can be automatically deployed to all test servers. After the deployment is successful, running a single command can start the fully automatic test. In terms of test execution, the present invention supports batch execution of test cases, which can complete all test items of the performance matrix at one time. After execution, the execution results of all use cases can be summarized to generate full test results. Therefore, the present invention deploys the performance testing tool to the test server; executes the test script through the test server to perform performance testing on the performance test object and obtain the corresponding test results; or executes the test script in batches through the test server to perform performance testing on the performance test object, summarizes the execution results of each execution, and determines the test results based on the summarized execution results. During the test execution, the test tool will automatically intelligently combine the environment parameters of the configuration file with the business parameters of the performance model, dynamically generate an executable test plan, greatly improve the test efficiency while ensuring the portability of the plan. For example, when it is necessary to compare the performance of two storage clusters, the user only needs to prepare a set of standard performance models, and then create a separate config.yaml file for each cluster, specifying their respective connection information and test paths. The system automatically adapts to different environments to perform the same business load test, ensuring the comparability of test results and avoiding the inefficiency of repeated writing of test scripts in traditional methods.
[0054] Step S13: collect log data during the performance test in real time, and package the log data and test results for storage.
[0055] The cluster monitoring module in this invention collects various performance indicators of the storage cluster in real time during the test, including CPU (Central Processing Unit), memory, network, hard disk, and process resource usage. It supports nmon (a tool that can monitor system resources such as CPU, memory, disk I / O, and network traffic in real time) and power consumption monitoring. The configuration collection module automatically collects software and hardware configuration information and cluster service configuration files for each node in the storage cluster. The results analysis module automatically analyzes test tool results, calculates key performance indicators, and presents them in a tabular format. These indicators include bandwidth, Input / Output Operations Per Second (IOPS), average latency, P99 latency (the value below which 99% of requests in a system respond, reflecting the worst-case tail latency of the system. P99 latency is defined as the 99th percentile value of the response time of all requests sorted from lowest to highest. For example, if a system receives 100 requests, 99 of which have response times less than or equal to 200 milliseconds, and one request responds longer than 200 milliseconds, the P99 latency of the system is 200 milliseconds), outages, and performance fluctuations. The report archiving module automatically archives test results and all log data collected during testing to a storage server for permanent storage and generates a shareable URL (Uniform Resource Locator). The exception handling module supports automatic retry of failed cases and the ability to interrupt the test process at any time. Therefore, the present invention collects performance metrics and configuration information in real time during the performance test. Performance metrics include the number of read and write operations per second, throughput, latency, and bandwidth of the storage cluster. Configuration information includes the software and / or hardware configuration information of each node in the storage cluster, as well as the cluster service configuration file. In other words, during the test, various performance metrics such as storage IOPS, throughput, and latency can be collected in real time, and the software and hardware configuration information of each node in the storage cluster, as well as the cluster service configuration file, can also be automatically collected.
[0056] After collecting log data in real time during performance testing, if a test result is abnormal, an anomaly analysis is performed based on the log data to obtain the corresponding analysis results. The test results are analyzed using performance indicators and configuration information from the performance testing process to determine the cause of the abnormality. The analysis results are then automatically archived to a storage server for permanent storage. Furthermore, the exception handling module supports automatic retry of failed cases and the ability to interrupt the test process at any time. Therefore, if a test anomaly occurs, the entire test process can be interrupted at any time or re-run after a specified period of time.
[0057] It should also be noted that the present invention also uses AI (Artificial Intelligence) algorithms to monitor performance fluctuations and abnormal indicators during testing in real time, automatically locating potential root causes and generating diagnostic recommendations. Specifically, the system establishes a dynamic baseline model based on historical test data. When real-time metrics such as IOPS and latency deviate from normal ranges, the anomaly detection engine is automatically triggered to perform multi-dimensional correlation analysis: comparing the historical performance of the current test case with benchmark data for similar hardware configurations. For performance degradation of storage cluster nodes, the system uses topology-aware technology to track problematic links and, combined with version difference analysis of cluster configuration files, flags suspicious parameter changes (such as RAID (Redundant Arrays of Independent Disks) policy adjustments or network timeout settings) that may cause problems. For each abnormal event, a diagnostic snapshot is generated, containing a timestamp, abnormal indicators, a topology map of associated nodes, and remediation recommendations. This snapshot is archived synchronously with the test results, and abnormal test items are highlighted in a color-coded format in the summary report. When the automatic retry mechanism is triggered, the system prioritizes verifying the configuration items marked in the diagnostic snapshot, forming a closed-loop "detection-analysis-verification" optimization process, significantly improving fault location efficiency in complex storage scenarios.
[0058] In terms of result processing, the present invention automatically analyzes the test tool's results and summarizes key indicator data in a table format. The result analysis module automatically analyzes the test tool's results, calculates key performance indicators, and summarizes them in a table format, including bandwidth, IOPS, average latency, P99 latency, outages, performance fluctuations, etc. Specifically, the test results are analyzed and the key performance indicators in the test results are summarized and displayed in a table; key performance indicators include any one or a combination of bandwidth, number of read and write operations per second, average latency, and performance fluctuations.
[0059] After collecting log data and obtaining corresponding test results, the present invention packages the log data and test results and stores them on a storage server, and generates corresponding shareable web links so that the log data and test results can be downloaded based on the shareable web links. The report archiving module automatically archives the test results and all log data collected during the test process to the storage server for permanent storage, and generates a shareable URL link for convenient downloading at any time.
[0060] Beneficial effects: It can be seen that the present invention can automatically generate test scripts based on configuration information, and the test plan supports mixed orchestration of multiple scenarios. A single configuration file can simultaneously define test tasks for different scenarios such as block storage, file storage, and object storage, and can be reused in different test environments. Only the configuration file needs to be adjusted without modifying the model. Users only need to edit the configuration file, set the test plan, and then run a single command to start the fully automatic test. The entire process does not require human intervention. It solves the problems of single distributed storage testing tools, low testing efficiency, and high complexity, significantly improves test accuracy, and lowers the threshold for storage testing.
[0061] like Figure 3 As shown, the automated stress testing method for distributed storage systems in this invention utilizes a simple and efficient "one-click" testing process. Users simply edit the config.yaml configuration file, set the test plan and cluster parameters, and then run a single command to initiate fully automated testing. The tool completes six key tasks sequentially according to a standardized process, requiring no human intervention. A typical test scenario (e.g., 300 seconds of mixed read and write) can be completed in under 5 minutes, generating a complete, auditable chain of test evidence. The six key tasks are as follows:
[0062] 1. Configuration file parsing and environment verification: Determine whether the test environment parameters in the configuration file currently used to generate the test script are the same as the environment parameters required for the three scenarios of file storage, block storage, and object storage. Compare the test environment parameters in the configuration file with the target environment parameters corresponding to the performance test object; if the test environment parameters are the same as the target environment parameters, trigger the performance test of the performance test object based on the performance testing tool and test script; if the test environment parameters are different from the target environment parameters, send an error message and terminate directly.
[0063] 2. Deploy test tools to the test server: The test tool integration module integrates a variety of performance testing tools, including Vdbench, FIO, Cosbench, WARP, etc., and has built-in installation packages for these tools, supporting automatic deployment to the test server.
[0064] 3. Dynamically generate test scripts based on the YAML performance model (supporting custom IO size, read-write ratio and other parameters): Users define the test environment parameters and test plan through the YAML configuration file (such as config.yaml), and the performance model is independently stored in a directory structure classified by scenario. The YAML configuration file adopts a hierarchical structure design, mainly including four core parts: cluster connection configuration, client configuration, global parameters, and test plan. Among them, the cluster connection configuration defines the storage management node IP and SSH authentication information; the client configuration specifies the main client and test node list; the global parameters set the test tool path, failure retry mechanism and data collection strategy; the multi-protocol test plan supports three scenarios: file storage, block storage and object storage. Each plan can independently configure the test tool, number of clients, cache cleanup strategy and test case list. Therefore, before determining the test script, first build a configuration file based on the preset test plan and test environment parameters, and then determine the test script based on the configuration file.
[0065] 4. Distributed test execution and real-time resource monitoring (collecting over 50 metrics, including CPU, memory, and network): The cluster monitoring module collects various performance metrics of the storage cluster in real time during the test, including CPU, memory, network, disk, and process resource usage, and supports nmon and power consumption monitoring. It also automatically collects software and hardware configuration information and cluster service configuration files for each node in the storage cluster.
[0066] 5. Intelligently analyze test results and generate a test report containing key indicators such as IOPS, bandwidth, latency, and P99: The result analysis module automatically parses the test tool's operation results, calculates key performance indicators, and summarizes and presents them in a table, including bandwidth, IOPS, average latency, P99 latency, outages, performance fluctuations, etc.
[0067] 6. Automatically package and archive the original logs, configuration information and test results, and generate a shareable Web access link: In terms of result processing, it can automatically parse the test tool operation results and summarize the key indicator data in a table form; it can automatically archive the test results and process log data to the storage server for permanent storage, and generate a sharing URL link for easy download at any time.
[0068] Through these operations, the test plan supports multi-scenario hybrid orchestration. A single configuration file can simultaneously define test tasks for different scenarios, such as block storage, file storage, and object storage. Furthermore, the performance model is decoupled from the specific environment, allowing the same business model to be reused in different test environments by simply adjusting the configuration file without modifying the model. Finally, the system supports flexible extensibility, allowing both built-in standardized models and custom model paths to be loaded to meet specialized testing needs. During test execution, the tool automatically and intelligently combines the configuration file's environmental parameters with the performance model's business parameters to dynamically generate an executable test plan, significantly improving testing efficiency while ensuring plan portability. For example, to compare the performance of two storage clusters, users simply prepare a standard performance model and create a separate config.yaml file for each cluster, specifying its connection information and test path. The system automatically adapts to different environments to execute the same business load test, ensuring comparable test results and avoiding the inefficiency of rewriting test scripts in traditional methods.
[0069] Beneficial effects: It solves the problems of single distributed storage testing tools, low testing efficiency and high complexity, significantly improves test accuracy and lowers the threshold for storage testing.
[0070] See also Figure 4 As shown, an embodiment of the present invention provides a performance testing device for a distributed storage system, comprising:
[0071] A test script determination module 11 is configured to determine a configuration file according to a preset test plan and determine a test script based on the configuration file; the configuration file is a file used to store configuration information in a performance model of a performance test object of a distributed storage system; the performance test object includes file storage, block storage, and object storage;
[0072] The test result acquisition module 12 is used to perform performance testing on the performance test object based on the performance testing tool and the test script, and obtain the corresponding test results;
[0073] The packaging and storage module 13 is used to collect log data during the performance test in real time and package the log data and test results for storage.
[0074] Since the embodiments of the device part correspond to the above embodiments, the embodiments of the device part please refer to the description of the embodiments of the method part, which will not be repeated here.
[0075] Beneficial effects: It can be seen that the present invention can automatically generate test scripts based on configuration information, and the test plan supports mixed orchestration of multiple scenarios. A single configuration file can simultaneously define test tasks for different scenarios such as block storage, file storage, and object storage, and can be reused in different test environments. Only the configuration file needs to be adjusted without modifying the model. Users only need to edit the configuration file, set the test plan, and then run a single command to start the fully automatic test. The entire process does not require human intervention. It solves the problems of single distributed storage testing tools, low testing efficiency, and high complexity, significantly improves test accuracy, and lowers the threshold for storage testing.
[0076] Furthermore, the embodiment of the present application also discloses an electronic device, Figure 5 This is a structural diagram of an electronic device according to an exemplary embodiment. The content in the diagram should not be considered as any limitation on the scope of use of this application. The electronic device may specifically include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the performance testing method of the distributed storage system disclosed in any of the aforementioned embodiments. In addition, the electronic device in this embodiment may specifically be an electronic computer.
[0077] In this embodiment, the power supply 23 is used to provide operating voltage for various hardware devices on the electronic device; the communication interface 24 can create a data transmission channel between the electronic device and external devices. The communication protocol it follows is any communication protocol that can be applied to the technical solution of this application and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world. Its specific interface type can be selected according to specific application needs and is not specifically limited here.
[0078] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or CD, etc. The resources stored thereon can include an operating system 221, a computer program 222, etc., and the storage method can be temporary storage or permanent storage.
[0079] The operating system 221 is used to manage and control the hardware devices on the electronic device, as well as the computer program 222, which can be Windows Server, NetWare, Unix, Linux, etc. In addition to including a computer program capable of implementing the performance testing method of a distributed storage system executed by an electronic device disclosed in any of the aforementioned embodiments, the computer program 222 can further include computer programs capable of implementing other specific tasks.
[0080] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when executed by a processor, the computer program implements the aforementioned method for testing the performance of a distributed storage system. The specific steps of this method can be found in the corresponding contents disclosed in the aforementioned embodiments and will not be further described here.
[0081] Furthermore, this application also discloses a computer program product, including a computer program / instructions; wherein, when executed by a processor, the computer program / instructions implement the aforementioned method for testing the performance of a distributed storage system. The specific steps of this method can be found in the corresponding contents disclosed in the aforementioned embodiments and will not be further described here.
[0082] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. Reference can be made to the descriptions of the identical or similar parts between the various embodiments. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple, and the relevant parts can be referred to the descriptions of the methods.
[0083] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0084] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
[0085] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.
[0086] The above is a detailed introduction to the technical solution provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for those skilled in the art, according to the ideas of the present application, there may be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A performance testing method for a distributed storage system, characterized in that: include: Determine a configuration file according to a preset test plan, and determine a test script based on the configuration file; The configuration file is a file used to store configuration information in the performance model of the performance test object of the distributed storage system; The performance test objects include file storage, block storage and object storage; Performing a performance test on the performance test object based on the performance test tool and the test script to obtain corresponding test results; Collect log data during the performance test in real time, and package the log data and the test results for storage.
2. The performance testing method of a distributed storage system according to claim 1, characterized in that: The configuration file includes cluster connection configuration, client configuration, global parameters and test plan; the cluster connection configuration includes storage management node IP and secure shell authentication information; the client configuration includes master client information and test node list; The global parameters include performance testing tool path, failure retry mechanism and data collection strategy; Accordingly, determining the configuration file according to the preset test plan includes: The configuration file is constructed according to a preset test plan and test environment parameters.
3. The performance testing method of a distributed storage system according to claim 2, characterized in that: After determining the test script based on the configuration file, the method further includes: Comparing the test environment parameters in the configuration file with the target environment parameters corresponding to the performance test object; If the test environment parameter is the same as the target environment parameter, triggering the operation of performing a performance test on the performance test object based on the performance test tool and the test script; If the test environment parameters are different from the target environment parameters, an error message is sent and the process ends directly; Accordingly, performing a performance test on the performance test object based on the performance test tool and the test script to obtain corresponding test results includes: Deploying the performance testing tool to a test server; Executing the test script through the test server to perform a performance test on the performance test object and obtain corresponding test results; Alternatively, the test scripts are executed in batches by the test server to perform performance testing on the performance test object, and the execution results are summarized, and the test result is determined based on the summarized execution results.
4. The performance testing method of a distributed storage system according to claim 1, characterized in that: The real-time collection of log data during the performance test process includes: Real-time collection of performance indicators and configuration information during the performance test process; the performance indicators include the number of read and write operations per second, throughput, latency, and bandwidth of the storage cluster; the configuration information includes the software and / or hardware configuration information of each node in the storage cluster and the cluster service configuration file.
5. The performance testing method of a distributed storage system according to claim 1, characterized in that: After collecting log data in real time during the performance test, the following steps are also included: If the test result is abnormal, an abnormality analysis is performed on the test result based on the log data to obtain a corresponding analysis result.
6. The performance testing method of a distributed storage system according to claim 1, characterized in that: Also includes: Analyze the test results and summarize the key performance indicators in the test results in a table; The key performance indicators include any one or a combination of bandwidth, number of read and write operations per second, average latency, and performance fluctuations.
7. The performance testing method of a distributed storage system according to any one of claims 1 to 6, characterized in that: The packaging and storing of the log data and the test results includes: The log data and the test results are packaged and stored in a storage server, and a corresponding shareable web link is generated so that the log data and the test results can be downloaded based on the shareable web link.
8. A performance testing device for a distributed storage system, characterized in that: include: A test script determination module is used to determine a configuration file according to a preset test plan, and determine a test script based on the configuration file; The configuration file is a file used to store configuration information in the performance model of the performance test object of the distributed storage system; The performance test objects include file storage, block storage and object storage; A test result acquisition module is used to perform a performance test on the performance test object based on the performance test tool and the test script, and obtain corresponding test results; The packaging and storage module is used to collect log data during the performance test in real time and package and store the log data and the test results.
9. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to execute the computer program to implement the steps of the performance testing method for a distributed storage system as claimed in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the performance testing method for a distributed storage system according to any one of claims 1 to 7.