Storage performance test method and device, equipment, medium and program product
By building a tool library containing performance testing tools for different storage types, configuring the test environment and factor information, and generating and executing test cases, the problem of difficulty in testing different storage types in the existing technology is solved, and comprehensive performance testing of diversified storage objects is achieved, which improves testing efficiency and comprehensiveness.
Patent Information
- Application Number
- CN202411765653.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-05-06
AI Technical Summary
Existing storage object performance testing technology is difficult to conduct unified and effective storage performance testing on different storage types, different storage objects, and different versions of the same product, and lacks systematicity and standardization.
Build a tool library that contains performance testing tools corresponding to different storage types (block storage, file storage, and object storage), and generate target test cases by configuring test environment information and test factor information, and execute test cases to obtain original performance test data and monitoring data.
The performance testing of diversified storage objects is realized, avoiding the complexity of using multiple different test solutions due to different storage types, and improving the comprehensiveness and efficiency of the test system.
Smart Images

Figure CN119938439A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of performance testing, and in particular to a storage performance testing method, device, equipment, medium and program product. Background Art
[0002] With the rapid development of my country's digital economy, data has become a key basic resource and driving force for innovation. Against the backdrop of the accelerated digital transformation of various industries, the total amount of data has grown explosively, which has directly led to a sharp increase in data storage demand. The storage object field is also undergoing profound changes, gradually moving from traditional centralized shared storage to distributed software-defined storage. Many types and styles of storage objects have emerged in the market, presenting a prosperous scene of diversified development.
[0003] The existing storage object performance testing technology solutions mainly focus on carrying out targeted performance automation testing on a specific storage type product. During the testing process, it can collect and output the original test data, providing a certain basis for a preliminary understanding of the product performance.
[0004] However, traditional technologies have limitations and lack of systematicity and standardization, making it difficult to conduct unified and effective storage performance testing for different storage types, different storage objects, and different versions of the same product.
[0005] Therefore, there is an urgent need for a storage performance testing solution that can fully support various types of storage objects. Summary of the invention
[0006] Therefore, the technical problem to be solved by the present invention is to overcome the problem in the related art that it is not possible to fully support the performance testing requirements of various types of storage objects.
[0007] In order to solve the above technical problem, the present invention provides a storage performance testing method, which includes:
[0008] A tool library is pre-built, and the tool library includes: performance testing tools and monitoring tools; the performance testing tools are performance testing tools corresponding to different storage types; the storage types include: block storage, file storage and object storage; the monitoring tools are used to monitor the operating indicators of the object to be tested during the test process;
[0009] Configure test environment information and test factor information; the test environment information includes: custom tags, target object to be tested, target performance test tool determined based on the storage type of the target object to be tested, and connection data required for the monitoring tool to monitor the target object to be tested; the test factor information includes: first parameter information and second parameter information; the first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester;
[0010] Determine a target test environment according to the test environment information and the test factor information, and generate a target test case;
[0011] Obtain the target performance test tool from the tool library and distribute it to the target test environment;
[0012] The target test case is executed in the target test environment, and original performance test data and monitoring data are obtained; the original performance test data includes: relevant indicator data recorded during the test process, and the monitoring data includes: data obtained by monitoring the operating indicators of the target object under test during the test process.
[0013] In an optional implementation, determining the target test environment according to the test environment information and the test factor information includes:
[0014] Determine a benchmark test scenario according to the test environment information and the first parameter information in the test factor information;
[0015] Determine a configurable test scenario according to the test environment information and the second parameter information in the test factor information;
[0016] The benchmark test scenario and the configurable test scenario are determined as the target test environment.
[0017] In an optional implementation, after obtaining the original performance test data and monitoring data, the method further includes:
[0018] Extract and label the original performance test data and monitoring data to obtain key information of this test;
[0019] The key information of this test is stored locally or in the cloud.
[0020] In an optional implementation manner, after extracting the original performance test data and monitoring data to obtain key information of this test, the method further includes:
[0021] Generate a test report for this test based on the key information of this test;
[0022] The test report of this test is stored locally or in the cloud.
[0023] In an optional implementation manner, after extracting the original performance test data and monitoring data to obtain key information of this test, the method further includes:
[0024] Get key information about historical tests locally or in the cloud;
[0025] Generate a comparison report based on the key information of this test and the key information of historical tests.
[0026] In an optional implementation manner, generating a comparison report based on key information of the current test and key information of historical tests includes:
[0027] Calculate the similarity between the key information of this test and the key information of the historical test;
[0028] Determine the historical tests whose similarity is greater than or equal to a preset value as target tests;
[0029] Generate a comparison report based on the key information of this test and the key information of the target test.
[0030] In a second aspect, the present invention provides a storage performance testing device, the storage performance testing device comprising:
[0031] The tool module is used to pre-build a tool library, which includes: performance testing tools and monitoring tools; the performance testing tools are performance testing tools corresponding to different storage types; the storage types include: block storage, file storage and object storage; the monitoring tools are used to monitor the operating indicators of the object to be tested during the test process;
[0032] A configuration module, used to configure test environment information and test factor information; the test environment information includes: a custom label, a target object to be tested, a target performance test tool determined based on the storage type of the target object to be tested, and connection data required for the monitoring tool to monitor the target object to be tested; the test factor information includes: first parameter information and second parameter information; the first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester;
[0033] Determine a target test environment according to the test environment information and the test factor information, and generate a target test case;
[0034] An execution module, used for obtaining the target performance test tool from the tool library and distributing it to the target test environment;
[0035] The target test case is executed in the target test environment, and original performance test data and monitoring data are obtained; the original performance test data includes: relevant indicator data recorded during the test process, and the monitoring data includes: data obtained by monitoring the operating indicators of the target object under test during the test process.
[0036] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the storage performance testing method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0037] In a fourth aspect, the present invention provides a computer-readable storage medium, on which a single computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the storage performance testing method of the above-mentioned first aspect or any corresponding embodiment thereof.
[0038] In a fifth aspect, the present invention provides a computer program product, including computer instructions, which are used to enable a computer to execute the storage performance testing method of the first aspect or any corresponding embodiment thereof.
[0039] The technical solution provided by the present invention has the following technical effects:
[0040] The technical solution of the embodiment of the present invention can perform performance testing on a variety of storage objects by constructing a tool library containing performance testing tools corresponding to different storage types (block storage, file storage and object storage). The technical solution of the present invention has a wide range of applicability. Whether it is the common block storage and file storage in enterprise-level data centers, or the emerging object storage application scenarios, the technical solution of the present invention can be used to evaluate storage performance, avoiding the complexity of adopting a variety of different test schemes due to different storage types, and improving the comprehensiveness of the test system. The test factor information is divided into the first parameter information that is the default of the target performance test tool and the second parameter information that can be configured by the tester. It not only ensures the integrity of the basic test scenario (through the default parameters), but also gives the tester the flexibility to perform customized tests according to specific test requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0042] Figure 1is a flowchart of a storage performance testing method according to an embodiment of the present invention;
[0043] Figure 2 is a flow chart of another storage performance testing method according to an embodiment of the present invention;
[0044] Figure 3 is a schematic diagram of a summary test report corresponding to the first embodiment of the present invention;
[0045] Figure 4 is a schematic diagram of a detailed test report corresponding to the first embodiment of the embodiment of the present invention;
[0046] Figure 5 is a schematic diagram of a summary test report corresponding to the second embodiment of the present invention;
[0047] Figure 6 is a schematic diagram of a detailed test report corresponding to the second embodiment of the present invention;
[0048] Figure 7 It is a schematic diagram of monitoring data collected with bandwidth as an operating indicator in Example 2 of an embodiment of the present invention;
[0049] Figure 8 is a schematic diagram of performance comparison data between PA and PB in an embodiment of the present invention;
[0050] Fig. 9 is a performance comparison line chart between PA and PB of an embodiment of the present invention;
[0051] Fig.10 is a bar chart comparing the performance between the PA and the PB of the embodiment of the present invention;
[0052] Fig.11 is a structural schematic diagram of a storage performance testing device according to an embodiment of the present invention;
[0053] Fig.12 is a structural schematic diagram of another storage performance testing device according to an embodiment of the present invention;
[0054] Fig.13 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0055] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0056] The existing storage object performance testing technology solutions mainly focus on carrying out targeted performance automation testing on a specific storage type product. During the testing process, it can collect and output the original test data, providing a certain basis for a preliminary understanding of the product performance.
[0057] However, traditional technologies have many limitations. 1) Its test management system is relatively chaotic, lacking in systematization and standardization, and it is difficult to uniformly and effectively manage and coordinate different storage types, different storage objects, and different versions of the same product. 2) The test execution efficiency is low. Since the number of test scenarios will increase exponentially with the test products, environments, parameters and other conditions, traditional technologies are difficult to cope with such a large scale of test scenarios, resulting in a sharp decline in test efficiency. 3) There are huge challenges in test data processing, and it is difficult to efficiently organize and analyze a large amount of test data. Finally, the obtained test results are of limited value. They are only the presentation of raw data, and cannot support horizontal comparisons between various types of storage objects and vertical comparisons between different versions of the same product, making it difficult for the test results to provide comprehensive, in-depth and targeted performance evaluation and decision-making basis. It can be seen that the main contradiction in storage object performance testing is the contradiction between the adequacy of the test, the efficiency of test execution, and the summary of test results. Traditional technical solutions can only perform targeted performance automation testing on a certain type of storage product and output raw test data. They cannot support various types of storage objects, cannot perform horizontal and vertical data comparisons, and cannot solve the following problems in traditional storage performance testing technology: 1) Chaotic test management system 2) High requirements for testers 3) Low test execution efficiency 4) Difficult test data processing 5) Low test result value.
[0058] Therefore, there is an urgent need for a storage object performance testing technology solution that can fully support various types of storage objects, achieve efficient test management, reduce the requirements for testers, significantly improve test execution efficiency, effectively process test data and provide high-value test results (including horizontal and vertical data comparison).
[0059] To this end, embodiments of the present invention provide a storage performance testing method, apparatus, device, medium, and program product to solve the above-mentioned problems.
[0060] According to an embodiment of the present invention, a storage performance testing method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer device such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0061] Figure 1It is a flowchart of a storage performance testing method according to an embodiment of the present invention.
[0062] like Figure 1 As shown, a storage performance testing method is provided in an embodiment of the present invention. The storage performance testing method performs performance tests on storage objects of different storage types, different storage objects, and different versions of the same storage object. In order to more clearly describe the technical solution of the present invention, the storage performance testing method is illustrated below using a single storage object (target object to be tested) as an example. In actual application, the storage performance testing method applied to the target object to be tested can be applied to storage objects of other storage types, different storage objects, or different versions of the same storage object.
[0063] The storage performance testing method includes: S101: pre-building a tool library.
[0064] In this embodiment, the tool library includes: performance testing tools and monitoring tools. The performance testing tools are performance testing tools corresponding to different storage types. Storage types include: block storage, file storage, and object storage. The monitoring tool is used to monitor the operating indicators of the object to be tested during the test process.
[0065] In this embodiment, performance testing tools and monitoring tools are pre-integrated into the tool library. The performance testing tools and monitoring tools can be open source, open source storage performance testing tools, such as flexible I / O tester (fio), virtual database benchmark tool (vdbench), cloud object storage benchmark tool (cosbench), etc., open source monitoring tools, such as advanced system resource monitoring tool (atop), system performance monitoring tool (Nigel's Performance Monitor, nmon), etc. The tool library can support flexible addition or trimming of tools according to specific test requirements, so that the performance testing tools and monitoring tools in the test scenario can adapt to the diversified requirements of different storage types and test scenarios.
[0066] S102: Configure test environment information and test factor information, determine a target test environment according to the test environment information and test factor information, and generate a target test case.
[0067] In this embodiment, the test environment information includes: custom tags, target objects to be tested, target performance test tools determined based on the storage type of the target objects to be tested, and connection data required for the monitoring tool to monitor the target objects to be tested. The test factor information includes: first parameter information and second parameter information. The first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester.
[0068] In this embodiment, the custom label is the identification information customized by the tester, which can be used to distinguish the test environment information configured in this test from other test environment information, storage type, object to be tested, etc. The custom label facilitates the tester to quickly distinguish different test environment information in complex test scenarios. The target object to be tested is the storage object targeted by this test, for example, a disk, a storage area, a storage server, etc. Block storage or file storage mainly includes file names (path name of the disk or directory to be tested, supporting custom tags), and object storage mainly includes the interface address endpoint of the object storage service to provide services to the outside, including IP address, domain name, etc., access key (Acces s Key, ak), secret key (Secret Key, sk), storage bucket, etc. Various resources of the target object to be tested can be accessed through the endpoint access point. ak is used to identify the user identity who accesses the target object to be tested, similar to the role of the user name. sk and the access key are used together to authenticate the user's access to the target object to be tested, which is used to ensure the security of access. Bucket is a container for storing objects in object storage, similar to a folder in a file system. The target performance test tool is determined according to the storage type of the target object to be tested. For example, if it is block storage, a tool suitable for block storage performance testing (such as fio mentioned above) may be selected. If it is object storage, the corresponding tool suitable for object storage performance testing will be selected. Different storage types match different tools to ensure the scientificity and effectiveness of the test. Connection data: It is the data required by the monitoring tool to monitor the target object to be tested. For example, to monitor the storage status on a server, you may need to provide a user name (user), password (password) and the corresponding IP address, etc., to ensure that the monitoring tool can normally access and obtain the relevant operating status information of the target object to be tested, so as to fully grasp its situation during the test process.
[0069] In this embodiment, the test factor information, i.e., the test scenario parameter information, is divided into two categories. The first parameter information is benchmark, i.e., the performance test tools all include a set of default configurable benchmark test scenarios, such as the benchmark of the test tool fio. The specific content is shown in Table 1, covering test scenarios such as large IO, small IO, single thread, multi-thread, sequential write, random write, sequential read, random read, etc. The second parameter information is extra, i.e., the test factor configured on demand supports json string format or xml text format.
[0070] Table 1 The first parameter information of the test tool fio
[0071]
[0072]
[0073] In this embodiment, the test factor information is divided into the first parameter information of the target performance test tool by default and the second parameter information that the tester can configure by himself. It not only ensures the integrity of the basic test scenario (through the default parameters), but also gives the tester the flexibility to perform customized tests according to specific test requirements. For example, testers can adjust parameters such as the number of concurrent connections, data block size, read and write modes, etc. for specific storage application scenarios or performance optimization research, so as to deeply explore the performance of storage objects under different conditions and meet various complex test requirements.
[0074] In this embodiment, it is necessary to detect the test environment information and test factor information configured by the tester, that is, to perform pre-check, configuration identification, storage type judgment, environment availability check, test factor information verification and other operations and automatically generate complete and accurate target test cases.
[0075] In this embodiment, target test cases are generated based on detailed test environment information (including custom tags, target objects to be tested, target performance test tools, and related connection data) and test factor information. This method of generating test cases based on multi-dimensional information can ensure that the test cases are highly matched with the actual test scenarios, so that the test process is more accurately targeted at specific storage objects and test requirements. For example, different storage devices may have different interface types, access protocols, or performance characteristics. By combining the target performance test tools determined by the storage type and the corresponding connection data, a test case specifically for the device can be generated, thereby more accurately evaluating its performance.
[0076] In this embodiment, determining the target test environment according to the test environment information and the test factor information in S102 specifically includes:
[0077] A benchmark test scenario is determined according to the test environment information and the first parameter information in the test factor information.
[0078] A configurable test scenario is determined according to the test environment information and the second parameter information in the test factor information.
[0079] Identify benchmark test scenarios and configurable test scenarios as target test environments.
[0080] S103: Obtain a target performance test tool from a tool library and distribute it to a target test environment, execute a target test case in the target test environment, and obtain original performance test data and monitoring data.
[0081] In this embodiment, the original performance test data includes: relevant indicator data recorded during the test process, and the monitoring data includes: data obtained by monitoring the operating indicators of the target object to be tested during the test process.
[0082] In this embodiment, by building a tool library containing performance test tools corresponding to different storage types (block storage, file storage, and object storage), it is possible to perform performance tests on a variety of storage objects. This makes the solution widely applicable. Whether it is common block storage and file storage in enterprise-level data centers, or emerging object storage application scenarios, the technology of the present invention can be used to conduct evaluations, avoiding the complexity of using multiple different test solutions due to different storage types, and improving the comprehensiveness of the test system.
[0083] In this embodiment, the pre-built tool library facilitates the centralized management of performance testing tools and monitoring tools. After determining the target test environment, the target performance testing tools can be quickly obtained from the tool library and distributed to the corresponding environment. This avoids the tedious process of temporarily finding and configuring test tools for each test, significantly improving the startup speed and overall efficiency of the test. At the same time, since the tools in the tool library have been pre-integrated and adapted, the possibility of test errors or inaccurate results due to improper tool configuration is reduced, the requirements for testers are reduced, and it helps to improve the accuracy of the test.
[0084] In this embodiment, when the target performance testing tool (such as fio, vdbench, cosbench and other storage performance testing tools) is distributed and configured according to the test environment information, and the corresponding target test case is started, the target performance testing tool will perform various read and write operations, operations in different thread modes and other testing behaviors on the target object to be tested (block storage, file storage or object storage) according to the pre-set target test scenario (including benchmark test scenarios and extra configurable test scenarios).
[0085] In the process of executing these test behaviors, the target performance test tool itself will monitor the response of the target object under test in real time and record various related indicator data. These recorded data are the original performance test data. For example, when executing sequential write operations, the target performance test tool will record the time spent on each write operation, the amount of data written, and other information. By statistically analyzing and summarizing a large number of such single operation data, the original performance test data in the corresponding test scenario is formed.
[0086] As an example, the original performance test data specifically includes:
[0087] Read and write performance indicator data: Throughput: Indicates the amount of data that the storage device can process per unit time, usually in bytes per second. For example, when performing a large IO sequential write test, the target performance test tool will count the total amount of data successfully written to the storage device within a specific time period, and then calculate the average throughput value. For example, a data result such as 100MB can be written per second may be obtained, which is used to measure the storage device's transmission capacity when large data blocks are continuously written. Number of input / output operations per second (IOPS): That is, the number of input / output operations per second, which reflects the frequency of the storage device processing read and write requests. For example, in a small IO random read test scenario, the target performance test tool will count the number of read operations completed per second. Delay data: refers to the time delay from the issuance of a read or write request to the actual completion of the operation, generally in milliseconds (ms). For example, in a multi-threaded sequential read test, the time taken for each read request from the initiation to the receipt of the corresponding data returned by the storage device will be recorded. Through statistical analysis, data such as average latency, maximum latency, and minimum latency can be obtained, which intuitively reflects the response speed of the storage device in processing read and write operations. The lower the latency, the better the performance of the storage device. Data related to different threads and different data block sizes: According to the number of threads (such as single-thread or multi-thread) and data block size (such as 4k, 1M, etc.) set in the target test scenario configuration, the corresponding performance data will be recorded separately. For example, when testing a single-threaded sequential write of 4k data blocks, the throughput, IOPS, and latency indicators in this specific scenario will be obtained. When testing a multi-threaded random write of 1M data blocks, there will be another set of corresponding data records. These data of different dimensions can fully reflect the performance of the storage device under various workloads.
[0088] While executing the target test cases, integrated open source monitoring tools (such as atop, nmon, etc.) will also run in the background, and the monitoring tools will collect real-time information on the usage of relevant system resources in the target test environment. The monitoring tools interact with the operating system and hardware to obtain system resource status information such as CPU usage, memory usage, network bandwidth utilization, etc., thereby providing data support for analyzing the impact of the entire system environment on storage device performance during storage performance testing.
[0089] For example, the monitoring tool will sample the system resource status at a certain time interval (such as every second or every few seconds), and then organize and record the data corresponding to the operating indicators to form a continuous monitoring data sequence. The specific contents of the monitoring data collected by the operating indicators and monitoring operating indicators include:
[0090] CPU-related data: CPU usage: shows the percentage of the total time that the CPU is busy (executing instructions) during the test. For example, when performing storage performance testing, if the CPU usage remains above 80% for a long time, it means that the CPU resources are relatively tight during the test, which may have a certain impact on the performance of the storage device, because storage operations often require the CPU to perform certain scheduling and data processing. CPU load: reflects the average number of processes in the system that are in an operational and uninterruptible state, which can help analyze the overall busyness of the system and the tightness of CPU resources in different time periods.
[0091] Memory data: Memory usage: indicates the proportion of used memory capacity to total memory capacity. For example, if the memory usage reaches 70%, it means that the system memory resources have been largely occupied, and insufficient memory may occur, which in turn affects the normal operation of storage device cache and other mechanisms, and indirectly affects storage performance. Memory allocation (such as memory page swapping, etc.): It records the swapping of memory pages between physical memory and disk swap space. Frequent memory page swapping will greatly reduce system performance.
[0092] Network data: Network bandwidth utilization: Monitor the bandwidth usage of the network interface of the storage device in the network environment, expressed as a percentage. Network data packet transmission and reception (such as the number of data packets sent and received per second, etc.): Count the number of data packets sent and received by the network interface per second, reflecting the busyness of the network and the frequency of data transmission, which helps to further analyze the impact of the network on storage performance. Combined with data such as network bandwidth utilization, the role of network factors in storage performance testing can be fully evaluated.
[0093] The original performance test data and monitoring data can help to deeply analyze the actual performance of the target object under test in a specific test environment, as well as the impact of various factors in the system environment on storage performance, providing a comprehensive and solid data foundation for subsequent data analysis, test report generation, and performance optimization.
[0094] During the test, both the original performance test data (recording relevant indicator data during the test, such as read and write speed, IOPS, latency, etc.) and monitoring data (monitoring the operating indicators of the target object to be tested, such as CPU usage, memory usage, network traffic, etc.) are obtained. These two types of data complement each other and provide rich materials for a comprehensive and in-depth analysis of the performance of storage objects. For example, pure performance test data may show that the read and write performance of a storage device is poor, but combined with monitoring data, it may be found that the storage driver is operating inefficiently due to tight system CPU resources during the test, which provides a basis for accurately judging performance bottlenecks and optimization directions, greatly enhancing the analytical value of the original performance test data.
[0095] Custom tags in the test environment information and various connection data are recorded and processed together with the original performance test data and monitoring data, making the data well correlated and traceable. Through this correlation information, you can easily trace the source of the data, the test scenario, and related system configuration information, which is very important for long-term test data management, comparison of multiple rounds of test results, and performance trend analysis. For example, when performing comparative tests on storage objects before and after performance optimization, you can quickly filter out relevant test data based on custom tags, and analyze the impact of optimization measures on performance under different storage types and application scenarios in combination with test environment information, providing strong support for the continuous optimization of storage objects.
[0096] Figure 2 It is a flowchart of another storage performance testing method according to an embodiment of the present invention.
[0097] like Figure 2 As shown, an embodiment of the present invention provides a storage performance testing method, the storage performance testing method comprising:
[0098] S201: Pre-build a tool library. Please refer to the relevant description of S101 for details, which will not be repeated here. S202: Configure test environment information and test factor information. Determine the target test environment based on the test environment information and test factor information, and generate target test cases. Please refer to the relevant description of S102 for details, which will not be repeated here. S203: Obtain the target performance test tool from the tool library and distribute it to the target test environment. Execute the target test case in the target test environment, and obtain the original performance test data and monitoring data. Please refer to the relevant description of S103 for details, which will not be repeated here.
[0099] S204: Extract and label the original performance test data and monitoring data to obtain key information of this test, and store the key information of this test locally or in the cloud.
[0100] In this embodiment, data extraction and labeling are performed on the original performance test data and monitoring data to obtain key information of this test, specifically including: preprocessing the original performance test data and monitoring data, extracting key data from the preprocessed original performance test data and monitoring data, and labeling the extracted key data to obtain key information of this test. Key information includes key data and labels corresponding to the key data. The key information of this test is also the test result of this test.
[0101] In this embodiment, preprocessing includes data cleaning, formatting, etc. Data cleaning: remove erroneous data, duplicate data, and incomplete data that may exist in the original performance test data and monitoring data. For example, abnormal data points caused by network fluctuations or temporary system failures will be identified and eliminated to ensure the data quality of subsequent analysis. Formatting: Convert data in different formats into a format suitable for further analysis. For example, unify the time format into a specific standard format (such as ISO 8601), and convert the units of data volume into the same order of magnitude (such as converted to bytes or kilobytes, etc.) to facilitate data comparison and aggregation.
[0102] Extract key data from the original performance test data, such as throughput, IOPS, latency, etc., and perform statistical analysis for different test scenarios (such as large IO, small IO, single thread, multi-thread, sequential write, random write, sequential read, random read, etc.). For example, calculate the average, maximum, minimum, and standard deviation of the throughput in each test scenario to fully describe the performance of the storage device in that scenario.
[0103] For monitoring data, extract the average, peak, and duration information of key indicators such as CPU usage, memory usage, and network bandwidth utilization. For example, count the length of the time period when the CPU usage exceeds 0% during the entire test process, as well as the corresponding storage performance test data during this time period, so as to analyze the impact of system resource shortage on storage performance.
[0104] Tagging refers to the assembly of tags, which means that the key data extracted from the original performance test data and monitoring data are attached to the processed key data in the form of tags. These tags are like "attribute tags" of data, which make the data have richer semantic information and facilitate subsequent data retrieval, screening, comparison and analysis. For example, tags can be used to quickly locate the original performance test data under a specific storage type or a specific performance test tool, or to find a group of performance test data with the same custom tags for comparative analysis. Existing custom tags in the test environment information and test factor information can be used as tags for key data.
[0105] Implementation of Tags assembly: Data structure design: Create a data structure, such as JSON format or a custom structure, to store key data and corresponding tag information. In this data structure, define specific fields for each tag, such as the "custom_tags" field for storing user-defined tags, the "storage_type" field for storing storage types, and the "test_tool" field for storing performance test tool names.
[0106] Tag assignment and binding: During data processing, the corresponding tag values are assigned to the corresponding fields according to the information obtained during the test process, and bound to the processed key data. For example, when the custom tags in the test environment information are "Test_Project_01", "Test_Project_01" is assigned to the "custom_tags" field in the data structure. When the performance test tool is "fio", "fio" is assigned to the "test_tool" field, etc. In this way, the key information obtained has complete tag information, forming a data set with rich metadata.
[0107] The key information of this test is stored locally or in the cloud, including: Local physical storage:
[0108] Determine the local storage path: Determine the local folder path where the key information of this test is saved according to the system configuration or user specification. For example, a special "Storage Performance Test Data" folder can be created on the server where the test device is located to store all test data.
[0109] Data writing: Write the key information of this test with tags assembled into a file in a local specified path in a predetermined data format (such as JSON file format or binary file format). A separate file can be created for each test case, and the file name can contain key information such as test time and test scenario for subsequent identification and management. For example, the file name can be named "20241124_Test_fio_BlockStorage_Write_Result.json", where "20241124" represents the test date, "fi o" represents the test tool, "BlockStorage" represents the storage type, "Write" represents the test scenario is a write operation, and "Result" represents the file content is the test result data.
[0110] Cloud storage: Cloud storage connection and authentication: First, establish a connection with a cloud storage service (such as Amazon S3, Microsoft Azure Blob Storage, etc.). This requires providing corresponding account authentication information (such as access key, secret key, etc.) to ensure that you have permission to access cloud storage resources.
[0111] Data upload: Upload the key information of this test with tags in accordance with the API interface specifications supported by the cloud storage service. The key information of this test can be uploaded to a pre-created specific cloud storage bucket (Bucket), and organized and managed in the bucket according to a certain directory structure. For example, you can create directories according to dimensions such as storage type and test date, and upload data files to the corresponding directories to facilitate data classification management and retrieval in the cloud storage environment. In the above way, the original performance test data and monitoring data can be effectively processed, tagged, and saved to local physical storage or cloud storage, providing convenience and foundation for subsequent data management, analysis, and utilization.
[0112] Finally, the performance test data is correlated and integrated with the monitoring data to analyze the relationship between the two. For example, observe whether the read and write performance of the storage device drops significantly during the period of high CPU usage. Or how the throughput of the storage device changes when the network bandwidth utilization fluctuates. Through this data correlation analysis, you can have a deeper understanding of the performance of the storage device in the actual system environment and the degree to which it is affected by other factors.
[0113] In an optional implementation manner, after extracting the original performance test data and the monitoring data to obtain key information of this test, the storage performance test method further includes:
[0114] Generate a test report for this test based on the key information of this test, and store the test report for this test locally or in the cloud.
[0115] In this embodiment, the key information of this test is retrieved and analyzed to generate a test report of this test. The test report of this test includes a detailed test report and a summary test report.
[0116] As an example, a detailed test report can be obtained according to the following methods: Data collection and organization: Collect data from various data sources involved in the test process, such as the original performance test data generated by the target performance test tool (fio, vdbench, etc.), including read and write speed (MB / s), IOPS, latency (ms), etc. Monitoring data collected by monitoring tools (atop, nmon, etc.), such as CPU usage, memory usage, disk I / O queue depth, etc.
[0117] Organize the test environment information, including the storage type of the test (block storage, file storage, or object storage), related configuration parameters (such as custom tags, filenames, endpoint, ak, sk, bucket, etc.), target performance test tools and their version information, etc.
[0118] Performance indicator analysis:
[0119] Analyze the performance indicators of different test scenarios (such as large IO, small IO, single thread, multi-thread, sequential write, random write, sequential read, random read, etc.) and calculate the average, maximum, minimum, standard deviation and other statistics to fully display the distribution characteristics of the performance indicators.
[0120] Draw performance curves, such as the read and write speed change curve over time, the relationship curve between IOPS and the number of concurrent threads, etc., to intuitively present the performance change trend.
[0121] Fault and abnormality records:
[0122] Record any failures or abnormal conditions that occur during the test, such as connection interruptions, data errors, test tool errors, etc., and describe in detail the time, environment, operation steps, and possible causes of the failure.
[0123] Report format and content organization:
[0124] The beginning of the report usually contains basic information such as test purpose, test time, and testers.
[0125] The main part is classified according to test scenarios or performance indicators, and lists various data and analysis results in detail. It can be presented in the form of tables, charts, etc. to enhance the readability of the report.
[0126] The final part summarizes the entire testing process, points out whether the test results meet expectations, and if there are any problems, proposes possible improvement directions or suggestions for further testing.
[0127] As an example, a summary test report can be obtained in the following ways: Key data extraction: Extract summary data of key performance indicators from the detailed test report, such as the average read and write speeds, overall IOPS, etc. of different storage types in various typical test scenarios, to highlight the most representative data results.
[0128] Summary of trends and patterns:
[0129] Summarize performance trends and patterns discovered during testing, such as which storage type performs best in high-concurrency random read scenarios, or how performance changes as the amount of data increases.
[0130] Summarize the impact of different test environment information and test factor information on performance, such as the relationship between block size and read and write speed, and the effect of the number of threads on IOPS improvement.
[0131] Comprehensive evaluation and conclusion:
[0132] Based on the extracted key data and summarized trends, a comprehensive assessment is conducted on the target object to determine whether it meets business requirements or related performance standards.
[0133] Provide clear and concise conclusions, identify the strengths and weaknesses of the target object, and provide general optimization suggestions or next steps, such as whether hardware upgrades, storage configuration parameter adjustments, or more in-depth special tests are needed.
[0134] Report format and simplicity:
[0135] The inductive test report should adopt a concise format, usually mainly text, with a small number of key charts and graphs as appropriate. The language should be refined and the key points should be highlighted, so that management or non-technical personnel can quickly understand the core results and main findings of the test.
[0136] For example, a detailed test report may list in detail the performance data of each test case at different time points, while an inductive test report will generally say "In the random read test, the average read speed of object storage is XMB / s, block storage is YMB / s, and file storage is ZMB / s. Object storage performs relatively well."
[0137] In this embodiment, the test report of this test is stored locally or in the cloud. For details, refer to the above-mentioned solution of storing the key information of this test locally or in the cloud, which will not be repeated here.
[0138] In an optional implementation manner, after extracting the original performance test data and the monitoring data to obtain key information of this test, the storage performance test method further includes:
[0139] Obtain key information of historical tests from local or cloud sources, and generate a comparison report based on the key information of the current test and the key information of historical tests.
[0140] In an optional implementation, a comparison report is generated based on the key information of the current test and the key information of the historical test, including:
[0141] Calculate the similarity between the key information of this test and the key information of the historical test, and determine the historical test with a similarity greater than or equal to the preset value as the target test. The preset value can be designed and modified according to actual needs. As an example, the preset value is 0.5. Generate a comparison report based on the key information of this test and the key information of the target test.
[0142] In this embodiment, similarity can be calculated based on the tags obtained from the previous tagging operation, and the similarity between the tags in the key information of this test and the tags in the key information of each historical test can be calculated. When the preset value is 0.5, all tests with a similarity greater than or equal to 0.5 in the historical tests can be screened out as target tests.
[0143] The algorithm for tags similarity is as follows: Different types of tag information have different weights, that is, weights W = w1, w2, w3, w4, ... wn. The specific settings are shown in Table 2. All tags of this test Q are Q = q1, q2, q3, q4, ... qn. All tags of a historical test T in local persistence are T = t1, t2, t3, t4, ... tn. The similarity between Q and T is sim, and the calculation method is: Where sim represents the similarity between the key information of the current test Q and the key information of the historical test T.
[0144] Table 2 Weight distribution table
[0145] Tag Category Weight Custom tags 5 Storage Type 4 Performance Testing Tools 3 Test environment information 2 Test factor information 1
[0146] As an example, weight W = [5, 4, 3, 2, 1], all tags of the key information of the current test Q are Q = ["typeA", "sizeM", "AAAA", "CCCC", "ZZZ"]. All tags of the key information of the historical test T are T = ["typeA", "sizeS", "AAAA", "CCDD", "ZZZ"]. q1 = "typeA" is the same as t1 = "typeA", q2 = "sizeM" is different from t2 = "sizeS", q3 = "AAAA" is the same as t3 = "AAAA", q4 = "CCCC" is different from t4 = "CCDD", q5 = "ZZZ" is the same as t5 = "ZZZ",
[0147] Embodiment 1: Automated performance testing of storage products.
[0148] Background: The technical solution of the present invention can be used to perform automated testing on the performance test of a block storage product PAv1 version.
[0149] The first step is to prepare the environment, copy the storage performance test device obtained according to the technical solution of the present invention to the initiator end, and complete the connection with the created volume on the target end.
[0150] The second step is to configure the test environment information and test factor information, as follows: use fio as the target performance test tool, perform a benchmark performance test on / dev / sda, and set custom tags such as PA, v1, and test.
[0151] tags=PA,v1,test;
[0152] filenames = / dev / sda;
[0153] tools = fio;
[0154] benchmark=1;
[0155] extra=null.
[0156] Execute the run script, that is, execute the target test case, wait for the test to complete, and view the summary test report as follows: Figure 3 As shown in the figure, a detailed test report of a use case is as follows Figure 4 shown.
[0157] Example 2: Automated testing and comparison of storage product performance.
[0158] Background: The block storage product PA has been upgraded from v1 to v2, and a new L2 configuration has been added. Now we need to fully understand the performance of PAv2, including the configuration of L1 and L2, the performance optimization of v2 over v1, and the performance difference between PAv2 and another similar product PB.
[0159] History: Testers used the same method as in Example 1 to test the following products: another block storage product PB, an object storage product PC, and a file storage product PD.
[0160] The first step is to prepare the environment, copy the storage performance test device obtained according to the technical solution of the present invention to the initiator end, and complete the connection with the L1 and L2 configured volumes that have been created on the target end.
[0161] The second step is to configure the test environment information and environment test factor information, as follows, that is, to perform benchmark performance tests on the disk / dev / sd a L1tag and / dev / sdb L2 tag, and add two test scenarios: large IO multi-threaded sequential read and write, and small IO single-threaded random read and write. Together with the default 16 benchmark performance test scenarios, there are a total of 18 test scenarios. At the same time, nmon is used to monitor the system environment. The test environment for this time is two 10 Gigabit network cards.
[0162] tags=PA,v2,test;
[0163] ips=192.168.0.8,root,xxxxxxxx;
[0164] filenames={ / dev / sda, L1}, { / dev / sdb, L2};
[0165] tools = fio, nmon;
[0166] benchmark=1;
[0167] extra={"direct": "1", "thread": "1", "ioengine": "libaio", "group_reporting": "1", "name": "fio_write", "rw": "readwrite", "bs": "1024k", "numjobs": "32 ", "iodepth": "32", "runtime": "3600", "time_based": "1"}, {"direct": "1", "thread": "1", "ioengine": "libaio", "group_reporting": "1", "name": "fio_writ" e", "rw": "randrw", "bs": "4k", "numjobs": "1", "iodepth": "1", "runtime": "3600", "time_based": "1"}.
[0168] Execute the run script, that is, execute the test case. After the test of tag L1 is completed, the test of tag L2 is performed until all the test cases are completed. The test of tag L2 is the current test Q, and the test of tag L1 becomes the historical test T. The historical data will be searched and analyzed, and the partial configuration of the storage object corresponding to the key information of the historical test stored in the storage performance test device is shown in Table 3.
[0169] Table 3 Partial configuration of storage objects
[0170]
[0171] According to the sim algorithm, the sim of the current test PA,v2,L2 is shown in Table 4.
[0172] Table 4 Storage object sim comparison table
[0173] product sim PA,v2,L1 1 PA, v1 0.87 PB 0.67 PC 0.33 PD 0.2
[0174] After this test is completed, a summary test report summarizing the L1 and L2 configurations of the PA product v2 version will be output as follows: Figure 5 As shown in the figure, a detailed test report of a use case is as follows Figure 6 As shown in the figure, the monitoring data of a use case such as bandwidth, Figure 7 shown.
[0175] At the same time, according to the screening rule of sim>=0.5, this test will also output the performance comparison data between PAv2 version L2 and L1 configuration, PAv2 version and PAv1 version, and PA and PB. Figure 8 As shown, the comparison line chart is as follows Fig. 9 As shown, the comparison bar chart is as follows Fig.10 shown.
[0176] The above data can clearly and intuitively draw the following conclusions: 1) The performance values of PAv2's L1 and L2 configuration volumes. 2) The performance of PAv2's L1 and L2 configuration volumes are basically the same. 3) The read and write performance of PAv2 is generally significantly improved compared to PAv1, and the latency is significantly reduced. 4) The performance of product PAv2 generally exceeds that of product PB. 5) The performance bottleneck in some scenarios is system bandwidth.
[0177] It can be seen from the above embodiments that the present invention can not only realize automatic performance testing of products of different storage types and monitoring of the system environment, but also can realize automatic comparison of performance data of different dimensions including different products, different versions of the same product, and different configurations of the same product, so as to optimize the performance testing process system, reduce the requirements for testers, improve the test execution efficiency, and increase the value of test results.
[0178] Traditional technology only supports performance testing of one storage type. The technical solution of the present invention supports automated performance testing of various storage types, and through data summarization and extraction, the test report is made clearer and more intuitive, which reduces the requirements for testers, improves test efficiency, and saves time and labor costs.
[0179] The present invention proposes for the first time that by assembling tags, storing, retrieving, and calculating similarities of test data, performance test data and monitoring data can be automatically compared in different dimensions, clearly and intuitively reflecting the differences and trends of performance test data and monitoring data in different dimensions, thereby improving the reference value of test results. The technical solution based on the present invention can automatically perform performance testing on storage products of different storage types, and at the same time, can automatically compare performance test data and monitoring data in different dimensions. This effectively overcomes the pain points in traditional storage performance testing technology, effectively solves the defects in traditional technical solutions, effectively improves the outstanding contradictions between the adequacy of performance testing, test execution efficiency, and test result summarization, and effectively improves the reference value of performance test results.
[0180] It should be noted that the contents not described in detail in the specification of the present invention belong to the common knowledge of those skilled in the art.
[0181] In this embodiment, a storage performance test device is also provided, and a single device is used to implement the above-mentioned embodiment and optional implementation methods, which have been described and will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.
[0182] Fig.11 Schematic diagram of the structure of a storage performance test device according to an embodiment of the present invention. The present invention provides a storage performance test device, such as Fig.11 As shown, the storage performance testing device includes:
[0183] The tool module 11 is used to pre-build a tool library, which includes: performance testing tools and monitoring tools. The performance testing tools are performance testing tools corresponding to different storage types. The storage types include: block storage, file storage and object storage. The monitoring tool is used to monitor the operating indicators of the object to be tested during the test.
[0184] Configuration module 12 is used to configure test environment information and test factor information. Test environment information includes: custom labels, target object to be tested, target performance test tool determined based on the storage type of the target object to be tested, first connection data required for the storage performance test system to establish a connection with the target object to be tested, and second connection data required for the monitoring tool to monitor the target object to be tested. Test factor information includes: first parameter information and second parameter information. The first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester.
[0185] The target test environment is determined based on the test environment information and the test factor information, and a target test case is generated.
[0186] The execution module 13 is used to obtain the target performance test tool from the tool library and distribute it to the target test environment.
[0187] Execute the target test case in the target test environment and obtain the original performance test data and monitoring data. The original performance test data includes: the relevant indicator data recorded during the test process, and the monitoring data includes: the data obtained by monitoring the operating indicators of the target object under test during the test process.
[0188] In an optional implementation, the configuration module 12 is specifically configured to determine a benchmark test scenario according to the test environment information and the first parameter information in the test factor information, determine a configurable test scenario according to the test environment information and the second parameter information in the test factor information, and determine the benchmark test scenario and the configurable test scenario as the target test environment.
[0189] Fig.12 is a schematic diagram of the structure of another storage performance test device according to an embodiment of the present invention. The present invention provides a storage performance test device, such as Fig.12 As shown, the storage performance testing device includes:
[0190] A tool module 11 , a configuration module 12 , an execution module 13 , a packaging module 14 and a display module 15 .
[0191] The packaging module 14 is used to extract and label the original performance test data and monitoring data to obtain the key information of this test and store the key information of this test locally or in the cloud.
[0192] like Fig.12 As shown, the storage performance test device further includes: a display module 5, which is used to generate a test report of this test according to the key information of this test, and store the test report of this test locally or in the cloud.
[0193] In an optional implementation, the display module 15 is further used to obtain key information of historical tests from a local computer or a cloud computer, and to generate a comparison report based on the key information of the current test and the key information of the historical tests.
[0194] In an optional implementation, the display module 15 is further specifically used to calculate the similarity between the key information of the current test and the key information of the historical test, determine the historical test whose similarity is greater than or equal to a preset value as the target test, and generate a comparison report based on the key information of the current test and the key information of the target test.
[0195] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0196] The storage performance testing device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0197] The embodiment of the present invention also provides a computer device having the above Fig.11 The storage performance test setup is shown.
[0198] See also Fig.13 , Fig.13 Schematic diagram of the hardware structure of the computer device according to the embodiment of the present invention. Fig.13As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In an optional embodiment, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor device). Fig.13 A processor 10 is taken as an example.
[0199] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0200] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0201] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating device, an application required for at least one function. The data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage devices. In an optional embodiment, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0202] The memory 20 may include a volatile memory, such as a random access memory. The memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive. The memory 20 may also include a combination of the above-mentioned types of memory.
[0203] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0204] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc. Further, the storage medium can also include a combination of the above-mentioned types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0205] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0206] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A storage performance testing method, characterized in that: include: A tool library is pre-built, and the tool library includes: performance testing tools and monitoring tools; the performance testing tools are performance testing tools corresponding to different storage types; the storage types include: block storage, file storage and object storage; the monitoring tools are used to monitor the operating indicators of the object to be tested during the test process; Configure test environment information and test factor information; the test environment information includes: custom tags, target object to be tested, target performance test tool determined based on the storage type of the target object to be tested, and connection data required for the monitoring tool to monitor the target object to be tested; the test factor information includes: first parameter information and second parameter information; the first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester; Determine a target test environment according to the test environment information and the test factor information, and generate a target test case; Obtain the target performance test tool from the tool library and distribute it to the target test environment; The target test case is executed in the target test environment, and original performance test data and monitoring data are obtained; the original performance test data includes: relevant indicator data recorded during the test process, and the monitoring data includes: data obtained by monitoring the operating indicators of the target object under test during the test process.
2. The method according to claim 1, characterized in that The determining the target test environment according to the test environment information and the test factor information includes: Determine a benchmark test scenario according to the test environment information and the first parameter information in the test factor information; Determine a configurable test scenario according to the test environment information and the second parameter information in the test factor information; The benchmark test scenario and the configurable test scenario are determined as the target test environment.
3. The method according to claim 1, characterized in that: After obtaining the original performance test data and monitoring data, it also includes: Extract and label the original performance test data and monitoring data to obtain key information of this test; The key information of this test is stored locally or in the cloud.
4. The method according to claim 3, characterized in that After extracting the original performance test data and monitoring data to obtain key information of this test, it also includes: Generate a test report for this test based on the key information of this test; The test report of this test is stored locally or in the cloud.
5. The method according to claim 3, characterized in that: After extracting the original performance test data and monitoring data to obtain key information of this test, it also includes: Get key information about historical tests locally or in the cloud; Generate a comparison report based on the key information of this test and the key information of historical tests.
6. The method according to claim 5, characterized in that The comparison report generated based on the key information of the current test and the key information of the historical test includes: Calculate the similarity between the key information of this test and the key information of the historical test; Determine the historical tests whose similarity is greater than or equal to a preset value as target tests; Generate a comparison report based on the key information of this test and the key information of the target test.
7. A storage performance testing device, characterized in that: include: The tool module is used to pre-build a tool library, which includes: performance testing tools and monitoring tools; the performance testing tools are performance testing tools corresponding to different storage types; the storage types include: block storage, file storage and object storage; the monitoring tools are used to monitor the operating indicators of the object to be tested during the test process; A configuration module, used to configure test environment information and test factor information; the test environment information includes: a custom label, a target object to be tested, a target performance test tool determined based on the storage type of the target object to be tested, and connection data required for the monitoring tool to monitor the target object to be tested; the test factor information includes: first parameter information and second parameter information; the first parameter information is the default parameter information of the target performance test tool, and the second parameter information is the parameter information configured by the tester; Determine a target test environment according to the test environment information and the test factor information, and generate a target test case; An execution module, used for obtaining the target performance test tool from the tool library and distributing it to the target test environment; The target test case is executed in the target test environment, and original performance test data and monitoring data are obtained; the original performance test data includes: relevant indicator data recorded during the test process, and the monitoring data includes: data obtained by monitoring the operating indicators of the target object under test during the test process.
8. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the storage performance testing method according to any one of claims 1 to 6 by executing the computer instructions.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the storage performance testing method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to enable a computer to execute the storage performance testing method according to any one of claims 1 to 6.
Citation Information
Cited By
Durability test method and device for flash memory chip
CN120748470A
A method and apparatus for endurance testing of flash memory chips
CN120748470B