Storage server performance evaluation method, device, equipment, medium and product
By analyzing the performance deviation and current monitoring data of the storage server, building a performance deviation characteristic library and generating optimization suggestions, it solves the problem of failure to comprehensively evaluate the hardware architecture bottleneck in the existing technology, and realizes the performance optimization of the full NVMe storage server.
Patent Information
- Application Number
- CN202510855879.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-24
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-06-24
AI Technical Summary
When evaluating the performance of all NVMe storage servers, the prior art failed to fully consider the bottlenecks at the hardware architecture level, resulting in a single performance evaluation dimension and the inability to effectively optimize storage performance.
By obtaining the performance deviation of the hard disk to be tested on the storage server, using the current monitoring data and the pre-trained performance prediction model, a performance deviation feature library is built, and the pre-trained performance optimization model is input to generate hardware architecture optimization suggestions.
It realizes systematic identification and optimization of the hardware architecture bottleneck of the storage server, improves the comprehensiveness and accuracy of performance evaluation, and provides performance optimization support for all NVMe storage servers.
Smart Images

Figure CN120353688B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of storage server architecture performance evaluation, and in particular to a storage server performance evaluation method, apparatus, equipment, medium, and product. Background Art
[0002] With the widespread adoption of new information technology (IT) and the increasing performance requirements of enterprise applications, traditional storage's Input / Output Operations Per Second (IOPS) and low latency are no longer sufficient, becoming a bottleneck for business development. This problem is exacerbated by the severe imbalance between storage and computing performance. While processor and memory performance are rapidly improving under Moore's Law, storage performance is improving more slowly, making storage performance a key factor restricting IT development.
[0003] Related technologies use Serial Advanced Technology Attachment Solid State Drives (SATA SSDs) or Serial Attached SCSI Solid State Drives (SAS SSDs) to replace standard hard drives, improving performance to a certain extent. While solid-state drives (SSDs) based on the Non-Volatile Memory Express (NVMe) standard have become a new approach to addressing server storage performance bottlenecks, NVMe SSDs still have many shortcomings when evaluating the performance of full NVMe storage server architectures. Currently, the performance of full NVMe storage servers is primarily evaluated using the Flexible I / O (fio) benchmark, which focuses solely on the read and write performance of the NVMe SSD itself and does not consider performance bottlenecks at the hardware architecture level. Summary of the Invention
[0004] The present application provides a storage server performance evaluation method, apparatus, device, medium and product to at least solve the problem of a single dimension of traditional storage server performance evaluation in related technologies.
[0005] The present application provides a performance evaluation method for a storage server, comprising: obtaining a performance deviation of a hard disk to be tested of the storage server, where the performance deviation is the deviation between the actual performance data of the hard disk to be tested and a benchmark performance data; when the deviation is greater than a deviation threshold, determining a performance prediction result based on current monitoring data of the storage server and a pre-trained performance prediction model, where the performance prediction result is used to characterize the probability of a performance deviation of the storage server; constructing a performance deviation feature library based on the performance prediction result; and inputting the performance deviation features in the performance deviation feature library into a pre-trained performance optimization model to obtain optimization suggestions.
[0006] The present application also provides a performance evaluation device for a storage server, comprising:
[0007] An acquisition module, configured to acquire a performance deviation of a hard disk to be tested of a storage server, wherein the performance deviation is a deviation between actual performance data of the hard disk to be tested and a benchmark performance data;
[0008] A performance prediction module is used to determine a performance prediction result based on the current monitoring data of the storage server and a pre-trained performance prediction model when the deviation is greater than the deviation threshold. The performance prediction result is used to represent the probability of performance deviation of the storage server;
[0009] A feature library construction module is used to construct a performance deviation feature library based on performance prediction results;
[0010] The performance optimization module is used to input the performance deviation features in the performance deviation feature library into the pre-trained performance optimization model to obtain optimization suggestions.
[0011] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned storage server performance evaluation methods when executing the computer program.
[0012] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned storage server performance evaluation methods are implemented.
[0013] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned storage server performance evaluation methods when executed by a processor.
[0014] This application analyzes the deviation between the measured performance data of the hard drive under test and the benchmark performance data. When the deviation exceeds the deviation threshold, it integrates the current monitoring data reflecting the real-time power consumption status of each hardware component of the storage server. Through a pre-trained performance prediction model, it derives the probability of performance deviation of the storage server to capture implicit correlations at the architectural level. It also constructs a performance deviation feature library of the hardware architecture dimension and generates hardware architecture-specific recommendations based on this feature library through a pre-trained performance optimization model. Therefore, it can solve the problem of related evaluation methods ignoring hardware architecture bottlenecks and provide systematic technical support for the performance optimization of all NVME storage servers. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the embodiments of the present application, 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 application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0016] Figure 1 A schematic diagram of the server test terminal architecture provided in an embodiment of the present application;
[0017] Figure 2 A flowchart of a method for evaluating the performance of a storage server provided in an embodiment of the present application;
[0018] Figure 3 A schematic diagram of the structure of a performance evaluation device for a storage server provided in an embodiment of the present application;
[0019] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0020] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0021] It should be noted that, in the description of this application, the terms "comprises," "includes," 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. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0022] In order to more clearly illustrate the embodiments of the present application, the following briefly introduces the technical terms used in the embodiments:
[0023] The Non-Volatile Memory Host Controller Interface Specification / Non-Volatile Memory Express (NVMe) is a host controller interface and storage protocol designed specifically for high-speed solid-state drives (SSDs). It leverages the low latency and high bandwidth of the Peripheral Component Interconnect Express (PCIe) bus to significantly increase data read and write speeds. It also supports multi-queue parallel processing, meeting the storage efficiency demands of high-performance computing, data centers, and other scenarios.
[0024] A solid state drive (SSD) is a non-volatile storage device based on flash memory chips or dynamic random access memory. It does not require mechanical components and uses electronic signals to read and write data.
[0025] The Flexible I / O (fio) file input / output benchmark tool is an open source storage performance testing tool used to test the read and write performance of devices such as disks and SSDs.
[0026] Input / Output Operations Per Second (IOPS) is used to measure the ability of a storage device to process I / O requests.
[0027] Online Transaction Processing (OLTP) is a database application model that supports high-frequency, short transaction operations.
[0028] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0029] In conjunction with the specific application environment architecture or specific hardware architecture on which the execution of the performance evaluation method of the storage server depends, the specific application environment architecture or specific hardware architecture is described herein.
[0030] The specific application environment architecture on which the performance evaluation method for storage servers is executed depends on, including: system monitoring and data collection layer, algorithm operation and model deployment layer, and application interaction and management layer.
[0031] The system monitoring and data collection layer includes a real-time monitoring system, a benchmark data management module, and a data transmission protocol. The real-time monitoring system, deployed within the storage server operating system or embedded management system, continuously collects measured hard drive performance data and current monitoring data. The benchmark data management module stores benchmark performance data for different hard drive models and supports dynamic updates to the benchmark library to adapt to new hardware models. The data transmission protocol enables real-time transmission and analysis of hardware status data, ensuring the accuracy and timeliness of data collection.
[0032] The algorithm execution and model deployment layer includes a machine learning framework, a distributed computing environment, and data storage and caching. The machine learning framework runs pre-trained performance prediction and optimization models and supports GPU acceleration to improve the computational efficiency of complex algorithms. For large storage server clusters, a distributed architecture is required to enable multi-node data parallel processing to shorten performance evaluation cycles. A time series database is used to store historical performance data and current monitoring data, while a remote dictionary server (Redis) is used to cache frequently accessed model parameters and intermediate calculation results.
[0033] The application interaction and management layer includes a management console and an application programming interface (API). The management console provides a visual interface displaying performance deviation analysis results, performance prediction probabilities, and optimization suggestions. Administrators can manually trigger evaluations or set scheduled evaluation policies. Open data interfaces are available for upper-level business systems to call, enabling the linkage of performance evaluation with business processes.
[0034] The execution of the storage server performance evaluation method relies on the specific hardware architecture, including: core computing components, storage and data acquisition hardware, and network and expansion interfaces.
[0035] Core computing components include a central processing unit (CPU), a GPU accelerator, and memory. The CPU must have multiple cores and a high clock speed to support parallel processing of large amounts of performance data and model inference calculations. GPUs are also required to accelerate matrix operations and model training. Memory ensures sufficient cache space for large data computations, preventing interruptions due to insufficient memory.
[0036] The storage and data acquisition hardware consists of a hard drive array (HDA) under test, a current monitoring module, and a hardware monitoring chip. The HDA supports a mix of hard drives with various interface types and is configured with a Redundant Array of Independent Disks (RAID) controller to achieve unified management of drive performance and data redundancy. The current monitoring module, equipped with a high-precision current sensor and analog-to-digital converter (ADC) sampling chip, is deployed on the HDD backplane or power module to collect real-time operating current data from each hard drive. The hardware monitoring chip obtains server hardware status through management chips such as the baseboard management controller, assisting in analyzing the factors associated with performance deviations.
[0037] Network and expansion interfaces include a high-speed network port and a PCIe expansion slot. The Ethernet interface supports high-speed transmission of performance data and inter-cluster data synchronization, meeting the needs of centralized evaluation of large-scale storage nodes. A reserved PCIe expansion slot is available for installing a GPU accelerator card, high-speed storage card, or dedicated data acquisition card, enhancing system scalability.
[0038] The above performance evaluation method realizes a closed loop of the entire process from hardware data collection, model analysis to optimization suggestions through the architectural design of software and hardware collaboration. Its effectiveness is highly dependent on the accuracy of the monitoring hardware, the computing power of the computing resources and the compatibility of the system architecture.
[0039] like Figure 1 As shown, a schematic diagram of the architecture of the server test end of the performance evaluation method for executing the storage server is shown. In some embodiments, the collection module 101 is used to obtain the hardware information of the hard disk to be tested. The processing module 102 is used to group the hard disk to be tested according to the hardware information, determine the hard disk group to which the hard disk to be tested belongs, and then randomly select a marked hard disk from the hard disk group; the execution module 103 is used to perform a benchmark value test on the marked hard disk to obtain benchmark performance data, and then perform a distributed concurrent load test on all the hard disks to be tested to obtain the measured performance data. The deviation between the measured performance data and the benchmark performance data is then calculated. When the deviation is greater than the deviation threshold, the performance prediction result is determined based on the current monitoring data of the storage server and the pre-trained performance prediction model, and a performance deviation analysis is performed. The monitoring module 104 is used to obtain current monitoring data. The processing module 102 is also used to construct a performance deviation feature library based on the performance prediction result, and generate optimization suggestions based on the performance deviation feature library and the pre-trained performance optimization model.
[0040] An embodiment of the present application provides a performance evaluation method for a storage server, and the method is described in detail in conjunction with the execution process of the performance evaluation method for the storage server.
[0041] like Figure 2As shown, a performance evaluation method for a storage server provided in an embodiment of the present application includes the following steps S201 to S204:
[0042] S201: Obtain the performance deviation of the hard disk to be tested of the storage server.
[0043] The storage server is an NVMe storage server, and the hard drive under test is an NVMe SSD. The performance deviation is the difference between the measured performance data of the hard drive under test and the benchmark performance data. The measured performance data is obtained by performing a distributed concurrent load test on the hard drive under test, while the benchmark performance data is obtained by performing a benchmark value test on a subset of marked hard drives under test.
[0044] Distributed concurrent load testing is a testing method that simulates multiple users or multiple tasks in real business initiating requests to the hard disk in a distributed hard disk environment to verify the performance, stability and fault tolerance of the hard disk in a high-concurrency scenario. Distributed concurrent load testing includes but is not limited to sequential reads and writes and random mixed loads. Sequential reads and writes are linear reads and writes of continuous large blocks of data, and random mixed loads are read and written in random combinations of small blocks of data. Benchmark testing is a standardized testing method for measuring the data transfer rate of hard disks. Its core is to quantify the amount of data that the hard disk can process per unit time by simulating specific workloads to evaluate the performance of the hard disk. Benchmark performance data includes but is not limited to memory bandwidth, cross-node bandwidth, IOPS, throughput and latency. For example, benchmark testing can use testing tools such as fio to perform full-link testing in a steady state.
[0045] In some embodiments, before executing step S201, a marked hard disk is first selected from the hard disks to be tested, including obtaining the hardware information of the hard disk to be tested, and then grouping the hard disks to be tested according to the hardware information, determining the hard disk group to which the hard disk to be tested belongs, and then randomly selecting a marked hard disk from the hard disk group.
[0046] The hardware information of the hard drives under test includes, but is not limited to, at least one of the following: the hard drive model, hard drive bandwidth information, and the switch to which the hard drives belong. This hardware information is used to classify the hard drives into groups, with different hardware information corresponding to different hard drive groups. Specifically, if the hard drive model, hard drive bandwidth information, and switch to which any two hard drives under test have the same hardware attributes, the two hard drives under test are determined to belong to the same hard drive group.
[0047] After the hard disks to be tested are grouped, at least one hard disk is randomly selected from different hard disk groups and marked with a test label, indicating that the hard disk is a marked hard disk.
[0048] The above embodiment realizes the automatic classification of the hard disks to be tested through standardized grouping, randomly selects marked hard disks for benchmark value testing, avoids testing all the hard disks to be tested one by one, reduces the test volume of the benchmark value test to the group order, improves the efficiency of the benchmark value test, and ensures the representativeness of the test results.
[0049] Based on the above embodiment, after randomly selecting a marked hard drive from the hard drive group, a benchmark test is first performed on the marked hard drive to obtain benchmark performance data. Then, a distributed concurrent load test is performed on all the hard drives to obtain measured performance data. The deviation between the measured performance data and the benchmark performance data is then calculated.
[0050] The above embodiment performs a benchmark test on a marked hard drive to obtain baseline performance data, which serves as a comparison standard for subsequent tests. A distributed concurrent load test is then performed on the hard drive under test to verify its performance under a realistic workload model, avoiding discrepancies between single-point testing and real-world scenarios. This also exposes potential bottlenecks in the tested hard drive in a distributed environment. The deviation between the measured performance data and the baseline performance data is calculated to pinpoint hardware failures, configuration issues, and topology bottlenecks.
[0051] Optionally, after benchmarking the marked hard disk to obtain benchmark performance data, obtain at least one of the read / write ratio (R / W Ratio), access mode, block size distribution (BSD), and queue depth corresponding to the business, and construct a test template for distributed concurrent load testing, which is used to simulate the business load. The access mode is the random / sequential access ratio. Adjust performance indicators based on the business scenario. Performance indicators include but are not limited to throughput, latency, IOPS, and quality of service (QoS). After waiting for the benchmark test to complete, perform a distributed concurrent load test on all hard disks to be tested according to the test template to generate actual performance data.
[0052] For example, for online transaction processing (OLTP) services, a random access ratio of 70%, a data block size of 4K-64K, and a queue depth of 256 are used. By combining these parameters to simulate the high-frequency, fragmented I / O requirements of database transactions, a distributed concurrent load test template is constructed. Accordingly, for distributed concurrent load testing of the disks under test, an OLTP template is selected from the template library based on the actual business read / write ratio, access pattern, and data block size distribution. All tested drives are tested in a multi-node concurrent manner, covering scenarios such as sequential read / write and random read / write, simulating multi-client concurrent access in real business. During the test, metrics such as throughput, latency, and IOPS are recorded to generate measured performance data.
[0053] The above embodiment avoids the deviation between traditional benchmark tests (such as pure sequential or pure random) and real business by constructing a test template for distributed concurrent load testing. By mapping business characteristics, test parameters and performance indicators, the performance bottlenecks of the disk under test in actual business can be more accurately discovered, providing data support for storage system optimization.
[0054] After calculating the deviation between the measured performance data and the baseline performance data, the deviation is compared with a deviation threshold. Optionally, the deviation threshold has a default value (e.g., ±10%) and can be dynamically adjusted based on the performance prediction results output by the subsequent performance prediction model.
[0055] In some embodiments, the operating condition parameters are first obtained. The operating condition parameters include but are not limited to: historical performance data, environmental parameters of the storage server and business load characteristics. The environmental parameters include but are not limited to temperature and humidity, and the business load characteristics include but are not limited to read and write request frequency and data size distribution. Then, the nonlinear relationship between these data and the deviation threshold is determined based on the operating condition parameters and the performance prediction results. When the performance prediction results output by the performance prediction model indicate a deviation, the Gradient Boosting Decision Tree (GBDT) algorithm is used to learn the nonlinear relationship between the operating condition parameters and the deviation threshold, and the deviation threshold is recalculated based on the nonlinear relationship. This enables the deviation threshold to adapt to the performance fluctuations of the storage server under different working conditions.
[0056] S202: When the deviation is greater than the deviation threshold, determine a performance prediction result based on the current monitoring data of the storage server and a pre-trained performance prediction model.
[0057] Current monitoring data includes, but is not limited to, NVMe current and process identifier (PID) current information. Current monitoring data can reflect the real-time power consumption status of each hardware component in the storage server.
[0058] The pre-trained performance prediction model is built using a long short-term memory (LSTM) network based on the Support Vector Regression (SVR) algorithm. It is trained jointly on sample current data and sample deviation features. By combining current data with architecture topology, performance evaluation is expanded from single-point testing to full-link bottleneck identification.
[0059] Performance prediction results indicate the probability of a storage server's performance deviating. These results include memory bandwidth, node bandwidth, number of CPU cores, CPU operating frequency, and node distribution. Bottlenecks in memory bandwidth, node bandwidth, CPU cores, CPU operating frequency, or improper node distribution indicate a storage server's performance deviating.
[0060] In some embodiments, the current monitoring data of the server to be stored is monitored and normalized. Optionally, the current monitoring data is normalized according to the following formula (1): X Perform normalization:
[0061] (1)
[0062] In formula (1), X norm is the normalized current monitoring data, X is the original current monitoring data, X min is the minimum value in the current monitoring data, X max This is the maximum value in the current monitoring data.
[0063] If the deviation is greater than the deviation threshold, it indicates that the disk performance is abnormal, and the performance of the storage server is evaluated. The current monitoring data of the storage server is input into the pre-trained performance prediction model, and the performance prediction model performs performance prediction to obtain the performance prediction result.
[0064] In addition to using current monitoring data to predict the performance of the disk under test when the deviation is greater than the deviation threshold, this application can also trigger an alarm, obtain hardware performance indicators of the storage server, and analyze the causes of possible performance deviations.
[0065] In some embodiments, when the deviation is greater than a deviation threshold, hardware performance indicators of the storage server are obtained, and performance deviation analysis of the storage server is performed based on the hardware performance indicators. Hardware performance indicators include, but are not limited to, central processing unit (CPU) operating frequency, CPU utilization, memory bandwidth, memory usage capacity, inter-CPU communication bandwidth, processor uncore (Uncore) frequency, Intel Input / Output (IIO) bandwidth, NVME write data volume, NVME garbage collection (GC) time window, I / O bandwidth information, NVME operating temperature, and PID process information. Inter-CPU communication bandwidth includes Ultra Path Interconnect (UPI) or Socket-to-Socket Global Memory Interface (XGMI).
[0066] CPU operating frequency, CPU utilization, memory bandwidth, and memory usage capacity are used to locate system resource bottlenecks; inter-CPU communication bandwidth, Uncore frequency, and I / O bandwidth are used to analyze topology bottlenecks; NVME write data volume, NVME GC time window, I / O bandwidth information, and NVME operating temperature are used to diagnose hardware health; PID process information is used to locate the impact of abnormal processes on performance.
[0067] The above embodiment uses multi-dimensional hardware performance indicators to jointly analyze the performance deviation of the storage server, which can eliminate misjudgment of a single indicator, identify hardware link bottlenecks, and discover potential risks in advance.
[0068] According to the comparison result of the deviation of the hard disk to be tested and the deviation threshold, the current value of the hard disk to be tested corresponding to the different comparison results is obtained respectively. It can be understood that the current value of the hard disk with a deviation greater than the deviation threshold is obtained, and the current value of the hard disk with a deviation less than or equal to the deviation threshold is obtained, and then according to the size of the current value, it is judged whether it is necessary to detect the hardware link of the hard disk. If necessary, it is detected, and in the case of abnormal hardware link, the hardware link repair suggestion is output. If the hardware link detection is not required, it is detected whether the hard disk is in an over-temperature state and / or garbage collection state. In the case of detecting that the hard disk is in an over-temperature state, the heat dissipation adjustment suggestion of the hard disk is output; in the case of detecting that the hard disk is in a garbage collection state, a waiting instruction is output to instruct to wait for the hard disk to complete the garbage collection task and to perform the test after exiting the garbage collection state.
[0069] For ease of description, the performance deviation analysis process will be introduced below by taking any different hard disks, a first hard disk and a second hard disk, among the hard disks to be tested, as examples.
[0070] Get the first current value I of the first hard disk Abnormal and the second current value I of the second hard disk Normal , the deviation of the first hard disk is greater than the deviation threshold, and the deviation of the second hard disk is less than or equal to the deviation threshold. Abnormal Greater than or equal to the second current value I Normal , indicating that the first hard disk body may have a hardware link abnormality problem, then a hardware link detection is performed. Specifically, the PCIE bandwidth, Uncore frequency, and IIO bandwidth of the first hard disk are detected. If any of the information has a problem, for example, PCIE 4.0 is slowed down to PCIE 3.0, it is determined that the first hard disk has a hardware link abnormality, and corresponding hardware link repair suggestions are output.
[0071] For example, if the uncore frequency is reduced or the IO bus bandwidth is insufficient, the communication efficiency between the CPU and NVMe will decrease and the device load current will increase. In this case, hardware link repair suggestions will be output to avoid invalid troubleshooting and shorten fault location time.
[0072] The above embodiment converts the current anomaly into a quantifiable judgment condition by comparing the numerical values of the first current value and the second current value, thereby avoiding the subjectivity of manual judgment and improving the accuracy of fault identification; when the current is abnormal, the PCIE bandwidth, Uncore frequency, and IIO bandwidth of the first hard disk are checked to reduce the cost of manual device-by-device troubleshooting, improve the stability of the NVMe storage system from the hardware bottom layer, and ensure business continuity.
[0073] If no hardware link errors are detected, the system detects whether the first hard drive is in an overtemperature state and / or garbage collection state. If the first hard drive is in an overtemperature state, a heat dissipation adjustment recommendation for the first hard drive is output. If the first hard drive is in a garbage collection (GC) state, a wait instruction is output to instruct the system to wait for the first hard drive to complete its garbage collection task before testing again. Specifically, the system detects whether the first hard drive is in an overtemperature state and / or garbage collection state based on the amount of NVMe write data, NVMe overtemperature, and the NVMe GC time window.
[0074] If the hardware link test is normal, external factors such as the motherboard, switch chip, and cables can be ruled out, and the fault can be isolated to the NVMe drive itself. When temperatures are too high, the controller may trigger a frequency reduction protection mechanism, causing performance fluctuations and current abnormalities. Cooling adjustments can quickly recover. During garbage collection (GC), the NVMe drive will clean up invalid data in the background, consuming additional computing power and power, which may cause a temporary increase in current. If GC runs frequently or for long periods of time, and the current abnormality persists, prompting the user to wait for GC to complete can avoid misdiagnosis.
[0075] The above embodiment eliminates hardware link problems and focuses on internal problems of the hard disk. When internal abnormalities such as overheating or GC are detected, targeted solutions are directly output without manual intervention and analysis, thereby improving the real-time performance of fault handling.
[0076] If the first current value is less than the second current value, the test script needs to be analyzed, particularly with regard to the number of threads and queue depth. Specifically, a determination is made as to whether the storage server's CPU utilization is greater than or equal to a preset utilization, such as 90%. If so, indicating that the CPU operating frequency does not meet the standard, a recommendation is issued to adjust the CPU performance mode or reduce the number of parallel threads.
[0077] For example, a suggestion to enable high-performance mode and remove power consumption restrictions may be output, or a suggestion to reduce I / O concurrency may be output.
[0078] The above embodiment uses current anomalies to reversely identify upstream CPU problems, avoiding NVMe performance waste. Furthermore, it ensures that NVMe benchmark test data is authentic and reliable, providing an accurate basis for model selection and performance tuning.
[0079] If the CPU utilization is less than the preset utilization, the intra-node bandwidth of the node to which the first hard disk belongs is analyzed. Specifically, the node to which the first hard disk belongs is first determined, and then a determination is made as to whether the sum of the hard disk bandwidths of the node is less than or equal to the intra-node bandwidth. Here, the intra-node bandwidth of a node is compared with the sum of the bandwidths of the hard disks belonging to the node. If not, it indicates that the intra-node bandwidth is insufficient, and bandwidth adjustment suggestions are output.
[0080] Optionally, calculate the node memory bandwidth according to the following formula (2): BW numa :
[0081] (2)
[0082] In formula (2), bw men is the total memory bandwidth, N numa is the number of nodes.
[0083] The above embodiments focus on the implicit shortage of bandwidth resources within NUMA. By comparing whether the bandwidth is sufficient through quantitative numerical comparison, the operation and maintenance troubleshooting time is shortened, which is conducive to the preventive identification and systematic optimization of hardware resource bottlenecks.
[0084] When the sum of the hard disk bandwidths is less than or equal to the bandwidth within the node, it means that the bandwidth within the node satisfies the bandwidth of all hard disks within the node, and then it is determined whether the first hard disk corresponds to the central processing unit core of the remote node. Optionally, the operating status information of the hard disk to be tested is obtained, including but not limited to: PID process information, the number of CPU cores used by the PID, CPUNUMA distribution, and NVMENUMA affiliation information; based on the operating status information, an affiliation mapping relationship between the node to which each hard disk to be tested belongs and the central processing unit can be generated. Based on the affiliation mapping relationship, it is determined whether the first hard disk corresponds to the central processing unit core of the remote node. The affiliation mapping relationship reflects the serial number of the central processing unit core used by each hard disk to be tested and the node to which the central processing unit core belongs. The node to which the central processing unit core belongs includes a local node and a remote node. If the central processing unit core used by the hard disk belongs to the local node, then the test of the hard disk is determined to be local processing. If the central processing unit core used by the hard disk belongs to the remote node, then the test of the hard disk is determined to be remote processing.
[0085] The above embodiment generates a mapping relationship by performing correlation analysis on the operating status information of the hard disk under test, which can present the physical path of the I / O operation. The mapping relationship can quickly determine whether the bandwidth shortage is caused by remote processing, avoiding blind troubleshooting of hardware failures.
[0086] When the first hard drive corresponds to the CPU core of a remote node, cross-node processing occurs in the storage server. The system then determines whether the storage server's inter-node bandwidth is greater than or equal to the preset bandwidth. The inter-node bandwidth can be either the UPI bandwidth or the XGMI bandwidth. The preset bandwidth can be 90% of the CPU bandwidth. If the inter-node bandwidth is greater than or equal to the preset bandwidth, indicating a bottleneck in the inter-node bandwidth, the system outputs recommendations for adjusting the inter-node bandwidth, including replacing a CPU with a higher inter-node bandwidth, adjusting node distribution, or adjusting the number of hard drives within a node.
[0087] When cross-node processing occurs in the first hard disk read and write, monitor whether the inter-node bandwidth of the storage server is greater than or equal to the preset bandwidth to accurately locate the saturation state of inter-node communication and avoid performance failures caused by hidden bandwidth bottlenecks.
[0088] Alternatively, calculate the number of hard disks that can be supported by the inter-node bandwidth using the following formula (3): N NVMe :
[0089] (3)
[0090] In formula (3), N UPI is the number of channels between nodes, BW UPI is the inter-node bandwidth, BWNVMe This is the hard disk bandwidth baseline. Based on the calculated number of hard disks, adjust the number of hard disks in the node to be less than or equal to this number.
[0091] The above embodiment quantifies the relationship between the bandwidth between computing nodes and the number of hard disks, predicts the impact of the number of hard disks on the bandwidth between nodes, avoids bandwidth exhaustion caused by over-deployment, and is conducive to solving performance problems caused by insufficient cross-node bandwidth. It also provides a quantifiable technical standard for server hardware selection and storage resource allocation.
[0092] S203: Construct a performance deviation feature library based on the performance prediction results.
[0093] In some embodiments, when constructing a performance deviation feature library, the performance prediction results are first subjected to feature extraction to obtain performance deviation features, and the correlation strength between the performance deviation features is calculated. Simultaneously, a semantic correlation relationship is established between the performance deviation features and abnormal state parameters. The performance deviation feature library is then constructed based on the correlation strength and semantic correlation relationship.
[0094] The performance deviation characteristics include, but are not limited to, current anomaly characteristics, time domain characteristics, and frequency domain characteristics. Abnormal state parameters include fault type and performance degradation cause.
[0095] Optionally, natural language processing (NLP) and graph neural networks (GNNs) are used to perform semantic understanding and feature extraction on performance test results to obtain performance deviation features, which are then automatically expanded into the feature library. GNNs are used to calculate the correlation strength between performance deviations and analyze the relationships between different performance deviation features. Knowledge graph technology is used to establish semantic correlations between performance deviation features and abnormal status parameters. A performance deviation feature library is then constructed based on the correlation strength and semantic correlations.
[0096] The above embodiment realizes the association analysis of cross-dimensional features through knowledge graph modeling, and analyzes the hidden associations between features through graph neural network, which is conducive to discovering complex fault modes that traditional rules cannot cover.
[0097] S204: Input the performance deviation features in the performance deviation feature library into the pre-trained performance optimization model to obtain optimization suggestions.
[0098] Among them, the pre-trained performance optimization model is built based on a generative adversarial network or a Transformer model. The performance deviation features in the performance deviation feature library are input into the pre-trained performance optimization model to obtain optimization suggestions. The optimization suggestions include hardware maintenance measures, software configuration adjustments, and business scheduling strategies. Hardware maintenance measures include replacing faulty components, software configuration adjustments include optimizing system parameters, business scheduling strategies include adjusting load distribution, etc., and this application does not specifically limit this. The optimization suggestions can be adjusted to natural language form and presented to the user.
[0099] Exemplary optimization suggestions include: if the bottleneck is the PCIe3.0 bus, it is recommended to migrate the SSD to the PCIe4.0 slot, or split multiple SSDs to different bus channels; if the CPU interrupt processing delay is too high, it is recommended to bind the SSD interrupt to a specific CPU core.
[0100] In some embodiments, the performance optimization model is trained and converged based on sample data. The sample training data includes historical deviation characteristics and historical solutions, and there is a mapping relationship between historical deviation characteristics and historical solutions. The performance optimization model learns this mapping relationship to generate a three-dimensional optimization solution that includes hardware, software, and business scheduling.
[0101] The above embodiment uses a pre-trained performance optimization model to capture the temporal correlation and implicit association of deviation features through deep learning to automatically generate optimization suggestions, thereby achieving efficiency, accuracy and adaptability upgrades in performance optimization.
[0102] In summary, this application analyzes the deviation between the measured performance data of the hard drive under test and the benchmark performance data. When the deviation exceeds a threshold, it integrates current monitoring data reflecting the real-time power consumption status of each hardware component of the storage server. Using a pre-trained performance prediction model, it derives the probability of performance deviation in the storage server, thereby capturing implicit architectural-level correlations. Furthermore, it constructs a performance deviation feature library for the hardware architecture dimension, and based on this feature library, generates hardware architecture-specific recommendations using a pre-trained performance optimization model. This solves the problem of related evaluation methods ignoring hardware architecture bottlenecks, providing systematic technical support for the performance optimization of all NVME storage servers.
[0103] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0104] The embodiment of the present application also provides a performance evaluation device for a storage server, such as Figure 3 As shown, the device includes:
[0105] An acquisition module 301 is configured to acquire a performance deviation of a hard disk to be tested of a storage server, where the performance deviation is the deviation between the actual performance data of the hard disk to be tested and the benchmark performance data;
[0106] A performance prediction module 302 is configured to determine a performance prediction result based on the current monitoring data of the storage server and a pre-trained performance prediction model when the deviation is greater than a deviation threshold. The performance prediction result is used to represent the probability of a performance deviation of the storage server.
[0107] A feature library construction module 303 is used to construct a performance deviation feature library based on the performance prediction results;
[0108] The performance optimization module 304 is used to input the performance deviation features in the performance deviation feature library into the pre-trained performance optimization model to obtain optimization suggestions.
[0109] As an optional implementation provided in an embodiment of the present application, the acquisition module 301 is specifically used to: select a marked hard disk from the hard disks to be tested; perform a benchmark value test on the marked hard disk to obtain benchmark performance data; perform a distributed concurrent load test on the hard disk to be tested to obtain measured performance data; and calculate the deviation between the measured performance data and the benchmark performance data.
[0110] As an optional implementation provided in an embodiment of the present application, the acquisition module 301 is specifically used to: obtain hardware information of the hard disk to be tested; determine the hard disk group to which the hard disk to be tested belongs based on the hardware information; and randomly select a marked hard disk from the hard disk group.
[0111] As an optional implementation method provided in an embodiment of the present application, the feature library construction module 303 is specifically used to: extract features from the performance prediction results to obtain performance deviation features; calculate the correlation strength between performance deviation features; establish a semantic correlation relationship between performance deviation features and abnormal state parameters; and construct a performance deviation feature library based on the correlation strength and semantic correlation relationship.
[0112] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: obtain hardware performance indicators of the storage server when the deviation is greater than the deviation threshold; and perform performance deviation analysis on the storage server based on the hardware performance indicators.
[0113] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: obtain a first current value of the first hard disk when the deviation of the first hard disk is greater than a deviation threshold; obtain a second current value of the second hard disk when the deviation of the second hard disk is less than or equal to the deviation threshold; wherein the first hard disk and the second hard disk are any different hard disks among the hard disks to be tested; if the first current value is greater than or equal to the second current value, detect whether the hardware link of the first hard disk is abnormal; if so, output a hardware link repair suggestion for the first hard disk.
[0114] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: if the hardware link of the first hard disk is normal, detect whether the first hard disk is in an over-temperature state and / or a garbage collection state; when the first hard disk is in an over-temperature state, output a heat dissipation adjustment suggestion for the first hard disk; when the first hard disk is in a garbage collection state, output a waiting instruction, and the waiting instruction is used to instruct to wait for the first hard disk to complete the garbage collection task before testing.
[0115] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: if the first current value is less than the second current value, determine whether the central processing unit utilization of the storage server is greater than or equal to a preset utilization; if so, output a suggestion to adjust the central processing unit performance mode, or a suggestion to reduce parallel threads.
[0116] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: if the central processing unit utilization of the storage server is less than the preset utilization, determine the node to which the first hard disk belongs; determine whether the sum of the hard disk bandwidths of the node to which the first hard disk belongs is less than or equal to the intra-node bandwidth of the node to which the first hard disk belongs; if not, output a bandwidth adjustment suggestion.
[0117] As an optional implementation provided in an embodiment of the present application, the device also includes a deviation analysis module, which is used to: if the sum of the hard disk bandwidths is less than or equal to the intra-node bandwidth, determine whether the first hard disk corresponds to the central processing unit core of the remote node; if so, determine whether the inter-node bandwidth of the storage server is greater than or equal to the preset bandwidth; if the inter-node bandwidth is greater than or equal to the preset bandwidth, output a suggestion for adjusting the inter-node bandwidth.
[0118] As an optional implementation method provided in an embodiment of the present application, the deviation analysis module is specifically used to: obtain the operating status information of the hard disk to be tested; generate an affiliation mapping relationship between the node to which the hard disk to be tested belongs and the central processing unit based on the operating status information; and determine whether the first hard disk corresponds to the central processing unit core of the remote node based on the affiliation mapping relationship.
[0119] For the description of the features in the embodiment corresponding to the performance evaluation device of the storage server, please refer to the relevant description of the embodiment corresponding to the performance evaluation method of the storage server, and no further details will be given here.
[0120] The embodiment of the present application also provides an electronic device, such as Figure 4 As shown, it includes a memory 401 and a processor 402, wherein the memory 401 stores a computer program, and the processor 402 is configured to run the computer program to execute the steps in any of the above-mentioned storage server performance evaluation method embodiments.
[0121] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned storage server performance evaluation method embodiments when running.
[0122] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0123] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned storage server performance evaluation method embodiments are implemented.
[0124] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned storage server performance evaluation method embodiments.
[0125] 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.
[0126] The above is a detailed introduction to the performance evaluation method, device, equipment, medium and product of a storage server provided by this application. This article uses specific examples to illustrate the principles and implementation methods of this application. The description of the above embodiments is only used to help understand the method and core ideas of this application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of this application, several improvements and modifications can be made to this application, and these improvements and modifications also fall within the scope of protection of the claims of this application.
Claims
1. A performance evaluation method for a storage server, characterized in that: include: Obtaining a performance deviation of a hard disk to be tested of the storage server, where the performance deviation is a deviation between actual performance data of the hard disk to be tested and a benchmark performance data; When the deviation is greater than the deviation threshold, determining a performance prediction result based on the current monitoring data of the storage server and a pre-trained performance prediction model; wherein the current monitoring data reflects the real-time power consumption status of each hardware component of the storage server; and the performance prediction result is used to characterize the probability of a performance deviation of the storage server; Constructing a performance deviation feature library based on the performance prediction results; constructing the performance deviation feature library based on the performance prediction results includes: extracting features from the performance prediction results to obtain performance deviation features; calculating the correlation strength between the performance deviation features; establishing a semantic correlation relationship between the performance deviation features and abnormal state parameters; and constructing the performance deviation feature library based on the correlation strength and the semantic correlation relationship; The performance deviation features in the performance deviation feature library are input into a pre-trained performance optimization model to obtain optimization suggestions.
2. The method according to claim 1, characterized in that Obtaining the performance deviation of the hard disk to be tested of the storage server includes: Selecting a marked hard disk from the hard disks to be tested; Performing a benchmark test on the marked hard disk to obtain the benchmark performance data; Performing a distributed concurrent load test on the hard disk to be tested to obtain the measured performance data; The deviation between the measured performance data and the benchmark performance data is calculated.
3. The method according to claim 2, characterized in that The step of selecting a marked hard disk from the hard disks to be tested includes: Obtaining hardware information of the hard disk to be tested; Determine the hard disk group to which the hard disk to be tested belongs according to the hardware information; The marked hard disk is randomly selected from the hard disk group.
4. The method according to claim 1, wherein The method further comprises: When the deviation is greater than the deviation threshold, obtaining a hardware performance indicator of the storage server; Perform a performance deviation analysis on the storage server based on the hardware performance indicators.
5. The method according to claim 1, wherein The method further comprises: When the deviation of the first hard disk is greater than the deviation threshold, obtaining a first current value of the first hard disk; When the deviation of the second hard disk is less than or equal to the deviation threshold, obtaining a second current value of the second hard disk; wherein the first hard disk and the second hard disk are any different hard disks among the hard disks to be tested; If the first current value is greater than or equal to the second current value, detecting whether a hardware link of the first hard disk is abnormal; If so, a hardware link repair suggestion for the first hard disk is output.
6. The method according to claim 5, characterized in that The method further comprises: If the hardware link of the first hard disk is normal, detecting whether the first hard disk is in an over-temperature state and / or a garbage collection state; When the first hard disk is in the over-temperature state, outputting a heat dissipation adjustment suggestion for the first hard disk; When the first hard disk is in the garbage collection state, a waiting instruction is output, where the waiting instruction is used to instruct to wait for the first hard disk to complete a garbage collection task before performing a test.
7. The method according to claim 5, characterized in that The method further comprises: If the first current value is less than the second current value, determining whether the CPU utilization rate of the storage server is greater than or equal to a preset utilization rate; If so, output a suggestion to adjust the CPU performance mode, or a suggestion to reduce parallel threads.
8. The method according to claim 7, characterized in that The method further comprises: If the CPU utilization rate of the storage server is less than the preset utilization rate, determining the node to which the first hard disk belongs; Determining whether the sum of the hard disk bandwidths of the node to which the first hard disk belongs is less than or equal to the intra-node bandwidth of the node to which the first hard disk belongs; If not, a bandwidth adjustment suggestion is output.
9. The method according to claim 8, characterized in that The method further comprises: If the sum of the hard disk bandwidths is less than or equal to the intra-node bandwidth, determining whether the first hard disk corresponds to a central processing unit core of a remote node; If so, determining whether the inter-node bandwidth of the storage server is greater than or equal to a preset bandwidth; In a case where the inter-node bandwidth is greater than or equal to the preset bandwidth, a suggestion for adjusting the inter-node bandwidth is output.
10. The method according to claim 9, characterized in that The determining whether the first hard disk corresponds to a central processing unit core of a remote node includes: Obtaining the operating status information of the hard disk to be tested; Generate a mapping relationship between the node to which the hard disk to be tested belongs and the central processing unit according to the operating status information; According to the attribution mapping relationship, it is determined whether the first hard disk corresponds to the central processing unit core of the remote node.
11. A performance evaluation device for a storage server, characterized in that: include: An acquisition module, configured to acquire a performance deviation of a hard disk to be tested of a storage server, wherein the performance deviation is a deviation between actual performance data of the hard disk to be tested and a benchmark performance data; a performance prediction module, configured to determine a performance prediction result based on the current monitoring data of the storage server and a pre-trained performance prediction model when the deviation is greater than a deviation threshold; wherein the current monitoring data reflects the real-time power consumption status of each hardware component of the storage server; and the performance prediction result is used to characterize the probability of a performance deviation of the storage server; A feature library construction module, configured to construct a performance deviation feature library based on the performance prediction results; The performance optimization module is used to input the performance deviation features in the performance deviation feature library into the pre-trained performance optimization model to obtain optimization suggestions; The feature library construction module is used to extract features from the performance prediction results to obtain performance deviation features; calculate the correlation strength between the performance deviation features; establish a semantic correlation relationship between the performance deviation features and abnormal state parameters; and construct the performance deviation feature library based on the correlation strength and the semantic correlation relationship.
12. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the storage server performance evaluation method according to any one of claims 1 to 10 when executing the computer program.
13. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the storage server performance evaluation method according to any one of claims 1 to 10 are implemented.
14. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the storage server performance evaluation method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Key performance index prediction and analysis method of storage system and related device
CN117807055A
Model confidence evaluation method and device, equipment, medium and program product
CN119598147A