Performance evaluation method, device and storage medium

By statistically analyzing the load pressure data of physical machines in the storage system and establishing a performance evaluation model, the problem of inaccurate performance evaluation of storage systems in existing technologies is solved, achieving more accurate performance evaluation and improved resource utilization.

CN115712549BActive Publication Date: 2026-07-07ALIBABA (CHINA) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIBABA (CHINA) CO LTD
Filing Date
2022-11-22
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing performance evaluation methods cannot accurately assess the performance of storage systems, resulting in low utilization of storage resources.

Method used

By collecting load stress data of physical machines during the operation of the storage system, and using the estimated storage performance model, combined with historical load stress and storage performance data, a performance evaluation model for each physical machine is established, thereby determining the overall performance of the storage system.

Benefits of technology

It improves the accuracy of storage system performance evaluation, reduces the risk of additional load on physical machines, and enhances the resource utilization of storage systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115712549B_ABST
    Figure CN115712549B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a performance evaluation method, device and storage medium. In the performance evaluation method, analysis on the performance of a storage system can be converted into analysis on the performance of a physical machine, and the performance evaluation model of each physical machine is determined according to actual operation data of the physical machine, so that the analysis result is closer to the real operation of the physical machine, thereby obtaining a more accurate performance prediction result. The load pressure data is online statistical during the operation of the storage system, and can be used to reflect the real pressure condition of the storage system, so that the predicted storage performance is more real and reliable, the risk of additional load on the physical machine is reduced, and the influence on the service capability of the storage system is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a performance evaluation method, apparatus and storage medium. Background Technology

[0002] When providing storage services, storage systems should strive to maximize the utilization of storage resources to optimize costs. Therefore, accurately assessing the performance of a storage system given sufficient storage resources is crucial for ensuring the quality of storage services and improving the resource utilization of the storage system.

[0003] However, existing performance evaluation methods cannot accurately assess the performance of storage systems. Therefore, a solution is needed. Summary of the Invention

[0004] This application provides a performance evaluation method, apparatus, and storage medium for more accurately evaluating the performance of a storage system.

[0005] This application provides a performance evaluation method applicable to a storage system, which includes multiple physical machines. The method includes: during the operation of the storage system, statistically analyzing the access operations received by the multiple physical machines in the storage system to obtain load pressure data of the multiple physical machines; inputting the load pressure data of the multiple physical machines into the respective performance evaluation models of the multiple physical machines to obtain the estimated storage performance of the multiple physical machines; determining the performance evaluation model of any physical machine among the multiple physical machines based on the historical load pressure data and corresponding historical storage performance of the physical machine; and determining the storage performance of the storage system based on the estimated storage performance of the multiple physical machines.

[0006] Optionally, before inputting the load stress data of the plurality of physical machines into the respective performance evaluation models of the plurality of physical machines, the method further includes: performing a stress test on the physical machine based on a preset load stress data sample; acquiring the device operating parameters of the physical machine during the stress test; determining the load state of the physical machine based on the device operating parameters of the physical machine; acquiring the actual storage performance of the physical machine as a storage performance sample when the load state of the physical machine is balanced; and fitting the performance change trend corresponding to the physical machine based on the load stress data sample and the storage performance sample to obtain the performance evaluation model corresponding to the physical machine.

[0007] Optionally, the load stress data of any physical machine includes at least one of the following: concurrency of disk read operations, I / O size, read / write I / O ratio, and the ratio of sequential data access.

[0008] Optionally, after obtaining the estimated storage performance of the plurality of physical machines, the method further includes: correcting the performance evaluation model corresponding to each of the plurality of physical machines based on the load pressure data and estimated storage performance of the plurality of physical machines.

[0009] Optionally, based on the load pressure data and estimated storage performance of the plurality of physical machines, the performance evaluation model corresponding to each of the plurality of physical machines is modified, including: for a target physical machine among the plurality of physical machines, obtaining the device operating parameters of the target physical machine and the actual storage performance provided by the target physical machine; determining the load status of the target physical machine based on the device operating parameters of the target physical machine; updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance and estimated storage performance of the target physical machine; and modifying the performance evaluation model of the target physical machine according to the mapping table at a set update cycle.

[0010] Optionally, the mapping table between load pressure data and storage performance is updated based on the load status, actual storage performance, and estimated storage performance of the target physical machine. This includes: if the actual storage performance is greater than a first threshold, determining whether the load status of the target physical machine is light-load or balanced; wherein the first threshold is determined based on the estimated storage performance and an upper limit of error; if the load status of the target physical machine is light-load or balanced, updating the mapping table based on the correspondence between the load pressure data and actual storage performance of the target physical machine.

[0011] Optionally, updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine includes: if the actual storage performance is less than a second threshold, determining whether the load status of the target physical machine is light-load, overload, or balanced; wherein the second threshold is determined based on the estimated storage performance and an error lower limit; if the load status of the target physical machine is light-load, balanced, or overloaded, updating the mapping table based on the correspondence between the load pressure data and actual storage performance of the target physical machine; if the load status of the target physical machine is overloaded, correcting the actual storage performance of the target physical machine according to a preset convergence step size, and updating the mapping table based on the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

[0012] Optionally, the mapping table between load pressure data and storage performance is updated based on the load status, actual storage performance, and estimated storage performance of the target physical machine. This includes: if the actual storage performance is greater than or equal to a second threshold and less than or equal to a first threshold, determining whether the load status of the target physical machine is overloaded; wherein the first threshold is determined based on the estimated storage performance and an upper limit error value; the second threshold is determined based on the estimated storage performance and a lower limit error value; if the load status of the target physical machine is overloaded, the actual storage performance of the target physical machine is corrected according to a preset convergence step size, and the mapping table is updated based on the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

[0013] This application also provides a server, including: a memory and a processor; the memory is used to store one or more computer instructions; the processor is used to execute the one or more computer instructions to perform the steps in the method provided in this application.

[0014] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps in the method provided in this application.

[0015] In this embodiment, during the operation of the storage system, the load pressure data of the physical machines in the storage system can be obtained statistically, and the estimated storage performance of the physical machines can be obtained based on a pre-determined performance evaluation model. Based on the estimated storage performance of multiple physical machines, the overall storage performance of the storage system can be determined. In this implementation, the analysis of storage system performance can be transformed into the analysis of physical machine storage performance, and the performance evaluation model of each physical machine is determined based on the actual operating data of the physical machine. This makes the analysis results closer to the actual operating conditions of the physical machines, thereby obtaining more accurate performance prediction results. The load pressure data is statistically analyzed online during the operation of the storage system and can be used to reflect the actual pressure situation of the storage system. This makes the predicted storage performance more realistic and reliable while reducing the risk of additional load on the physical machines and minimizing the impact on the service capacity of the storage system. Attached Figure Description

[0016] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0017] Figure 1 A schematic flowchart illustrating a performance evaluation method provided for an exemplary embodiment of this application;

[0018] Figure 2 A schematic diagram of the structure of a performance evaluation tool provided in an exemplary embodiment of this application;

[0019] Figure 3 This illustration shows a schematic diagram of the structure of a server provided in an exemplary embodiment of this application. Detailed Implementation

[0020] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0021] The terminology used in the embodiments of this invention is for the purpose of describing particular embodiments only and is not intended to limit the invention. The singular forms “a,” “the,” and “the” used in the embodiments of this invention and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. “Multiple” generally includes at least two, but does not exclude the inclusion of at least one.

[0022] It should be understood that the term "and / or" used in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0023] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a product or system comprising a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a product or system. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the product or system that includes said element.

[0024] To address the technical problem that existing performance evaluation methods cannot accurately reflect the actual storage performance of a system, this application provides a solution in some embodiments. The technical solutions provided by the embodiments of this application are described in detail below with reference to the accompanying drawings.

[0025] Figure 1 This is a flowchart illustrating a performance evaluation method provided in an exemplary embodiment of this application. The method is applicable to a storage system comprising multiple physical machines. Figure 1As shown, the method may include:

[0026] Step 101: During the operation of the storage system, the access operations received by multiple physical machines in the storage system are statistically analyzed to obtain the load pressure data of these multiple physical machines.

[0027] Step 102: Input the load stress data of the multiple physical machines into the performance evaluation models of the multiple physical machines to obtain the estimated storage performance of the multiple physical machines; the performance evaluation model of any physical machine among the multiple physical machines is determined based on the historical load stress data and corresponding historical storage performance of the physical machine.

[0028] Step 103: Determine the storage performance of the storage system based on the estimated storage performance of the multiple physical machines.

[0029] The execution entity in this embodiment can be a performance evaluation tool, which includes an online data monitoring module and a performance evaluation module. The online data monitoring module can be deployed on each physical machine in the storage system and monitor the load pressure data of the physical machines during operation. The performance evaluation module can run in a lightweight manner as a background process on each physical machine, thereby reducing the impact on the foreground storage services of the physical machines.

[0030] The load pressure data describes the access pressure received by the physical machine when providing storage services. This load pressure data may include one or more metrics describing the load pressure of a single-machine storage module. In some optional embodiments, the load pressure data may include at least one of: disk read operation concurrency, I / O (Input / Output) size, read / write I / O ratio (RWratio), and the proportion of sequential data access (Randomness). The proportion of sequential data access describes the percentage of all access operations received on the disk of a single-machine storage device within a set period, performed in a specified order from the physical machine's disk.

[0031] In some optional embodiments, during the operation of the storage system, an online data monitoring module can statistically analyze the access operations received by each of the multiple physical machines in the storage system to obtain the load pressure data of these physical machines. These access operations for physical machines are typically disk read operations. Based on this implementation, during performance evaluation, only the disk read behavior of the storage system providing storage services needs to be statistically analyzed, without introducing additional disk read operations, thus avoiding adding extra I / O pressure to the single-machine storage system. Furthermore, in this implementation, the load pressure data is acquired online during the operation of the storage system, reflecting the true stress situation of the storage system, thereby making the predicted storage performance more realistic and reliable.

[0032] Once the online data monitoring module on any physical machine acquires the load stress data of that physical machine, it can send the load stress data to the corresponding performance evaluation module. The performance evaluation module can then input the load stress data of that physical machine into its corresponding performance evaluation model to obtain the estimated storage performance of that physical machine.

[0033] The storage performance of any physical machine can be described using preset performance metrics. In some embodiments, these performance metrics may include, but are not limited to, at least one of: IOPS (Input / Output Operations Per Second), access latency, throughput, and throughput bandwidth. Generally, the lower the IOPS, the lower the access latency, the higher the throughput, or the larger the throughput bandwidth of the physical machine, the better its performance.

[0034] Different physical machines use different performance evaluation models. The performance evaluation model for any physical machine is determined based on its historical load stress data and corresponding historical storage performance. The historical load stress data may include the stress applied to the physical machine during stress testing, or the actual load stress experienced by the physical machine while providing storage services over a historical period; this embodiment does not impose any limitations.

[0035] Historical storage performance refers to the actual storage performance of a physical machine under historical load conditions. Historical load data and corresponding historical storage performance reflect the true operating status of the physical machine. Performance evaluation models can learn from historical load data and corresponding historical storage performance to understand the actual performance changes of the physical machine under different load conditions, thereby more accurately predicting the storage performance of the physical machine.

[0036] After determining the estimated storage performance of each of the multiple physical machines, the storage performance of the storage system can be determined based on the estimated storage performance of each of the multiple physical machines. The storage performance of the storage system can be the average of the estimated storage performance of the multiple physical machines, or a weighted average; this embodiment does not impose any restrictions on this.

[0037] In this embodiment, during the operation of the storage system, the load stress data of the physical machines in the storage system can be obtained statistically, and the estimated storage performance of the physical machines can be obtained based on a pre-determined performance evaluation model. Based on the estimated storage performance of multiple physical machines, the overall storage performance of the storage system can be determined. In this implementation, the analysis of storage system performance can be transformed into the analysis of physical machine storage performance, and the performance evaluation model of each physical machine is determined based on the actual operating data of the physical machine. This makes the analysis results closer to the actual operating conditions of the physical machines, thereby obtaining more accurate performance prediction results. The load stress data is statistically collected online during the operation of the storage system and can be used to reflect the actual stress situation of the storage system. This makes the predicted storage performance more realistic and reliable while reducing the risk of additional load on the physical machines and minimizing the impact on the service capacity of the storage system.

[0038] In some optional embodiments, before inputting the load stress data of multiple physical machines into the performance evaluation models of each of the multiple physical machines, the actual performance data of the physical machines in the storage system can be obtained by testing the storage system, and the performance evaluation models of the physical machines can be established based on the actual performance data.

[0039] In initializing the performance evaluation models for different physical machines, machines of the same model can use the same performance model; machines of different models can use the same or different initial performance models. The same physical machine model means that the SSDs (Solid State Disks) / HDDs (Hard Disk Drives) of different physical machines have the same model and quantity. During the fitting process, each physical machine can independently fit its own performance evaluation model. Therefore, even if the initial performance evaluation model is the same, due to the different operating conditions and environments of different storage devices, a performance evaluation model matching the actual operating conditions of each physical machine can be fitted. Thus, differentiated performance evaluation models are established between different physical machines, refining the granularity of performance prediction and improving the accuracy of the final predicted storage system performance.

[0040] The following example uses any physical machine in the storage system as an illustration.

[0041] Optionally, for any physical machine, a stress test can be performed on the physical machine based on a preset load pressure data sample. During the stress test, the operating parameters of the physical machine are acquired.

[0042] The device operating parameters include software and / or hardware performance metrics that reflect whether a single storage device has reached its performance bottleneck. These parameters can be obtained by the data monitoring module from components such as the CPU (central processing unit), memory, and disk. Figure 2 As shown. The device operating parameters obtained may include, but are not limited to, at least one of the following: disk utilization metrics (diskutil), disk processing queue, disk I / O processing latency, cache level, CPU utilization, and memory utilization.

[0043] Based on the physical machine's operating parameters, determine the physical machine's load status. The physical machine's load status can include: overload, balanced, or light load.

[0044] The load status of the physical machine can be determined based on the load status of various device operating parameters. For example, each device operating parameter can be divided into three numerical ranges, corresponding to balanced, light-load, and overload states, respectively. For any given device operating parameter, the load status can be determined based on the numerical range of its value. For instance, taking CPU utilization as an example, assuming the light-load state corresponds to the numerical range [0, 50%], the balanced state to (50%, 80%), and the overload state to (80%, 100%), if the currently monitored physical machine's CPU utilization is 65%, then the load status corresponding to this CPU utilization can be determined as balanced.

[0045] Optionally, if at least one of the physical machine's operating parameters is in an overload state, the physical machine can be considered to be in an overload state. Optionally, if all the physical machine's operating parameters are in a balanced state, the physical machine can be considered to be in a balanced state. Optionally, if no physical machine's operating parameters are in an overload state, but at least one parameter is in a light load state, the physical machine can be determined to be in a light load state.

[0046] When the physical machine is under balanced load, its actual storage performance is obtained as a storage performance sample. This actual storage performance can be the peak storage performance of the physical machine under balanced load. After obtaining the load stress data sample and the storage performance sample, the performance change trend corresponding to the physical machine can be fitted based on these data to obtain the corresponding performance evaluation model. The evaluation process of this performance evaluation model can be expressed by the following formula:

[0047] Perf e =Func(X1, X2, ..., Xn)

[0048] Among them, Perf e This represents the estimated storage performance, Xn represents the nth load stress data, and Func() represents the performance evaluation model.

[0049] The stress test process described above can be executed in multiple sets. During these multiple tests, the parameter values ​​in the load stress data samples can be adjusted to test the storage performance of the physical machine under different pressures, thereby obtaining multiple sets of sample data. Correspondingly, the performance change trend can be obtained by fitting multiple sets of sample data. That is, the model parameters in Func() can be dynamically adjusted according to the actual stress test process, so that the performance evaluation model can adapt to the performance prediction needs under different load pressures.

[0050] The performance change trend can be expressed by a performance curve. The fitting method of the performance curve may include the least squares method, the method of approximating discrete data by analytical expression, or the method based on a neural network model. This embodiment does not impose any restrictions.

[0051] In this implementation, when establishing the performance evaluation model, the load status of the physical machine is monitored by monitoring the device operating parameters of the physical machine. This allows the performance evaluation model to be correlated with the load status of the physical machine, thereby reducing the impact of objective performance degradation caused by hardware wear and aging on the storage performance prediction results.

[0052] In some optional embodiments, after obtaining the estimated storage performance of the physical machines during the operation of the storage system, the currently used performance evaluation model can be further revised to optimize it. That is, the performance evaluation models for each of the multiple physical machines can be revised based on their respective load pressure data and estimated storage performance. The load pressure data for each physical machine obtained online and the corresponding estimated storage performance output by the performance evaluation model can be stored in a designated file, allowing the performance evaluation module to revise the performance evaluation model for each physical machine according to a set update cycle.

[0053] The following example uses any one of the multiple physical machines as an illustration.

[0054] Optionally, the online data monitoring module can acquire the device operating parameters of the target physical machine and the actual storage performance provided by the target physical machine. The actual storage performance refers to the storage performance that the physical machine can actually provide under the load pressure corresponding to the load pressure data. Based on the device operating parameters of the target physical machine, the data monitoring module can determine the load status of the target physical machine. Optional implementation methods for determining the load status based on device operating parameters can be found in the descriptions of the foregoing embodiments, and will not be repeated here.

[0055] After acquiring the load status and actual storage performance of the target physical machine, the data monitoring module can send these data to the performance evaluation module according to a set sending period. The performance evaluation module can update the mapping table between load pressure data and storage performance based on the target physical machine's load status, actual storage performance, and corresponding estimated storage performance. Within an update cycle, this mapping table can be updated once or multiple times. The performance evaluation module can then revise the performance evaluation model of the target physical machine according to this mapping table and the set update cycle. In this implementation, continuously revising the performance evaluation model using online data further improves its accuracy and reliability.

[0056] In the above embodiments, the update method of the mapping table between load pressure data and storage performance is different when the load state of the physical machine is different. The specific details will be explained below.

[0057] Optionally, the performance evaluation module can determine the relationship between the actual storage performance of the physical machine and a first threshold and a second threshold. The first threshold is determined based on the estimated storage performance and an upper limit of error. The second threshold is determined based on the estimated storage performance and a lower limit of error.

[0058] Alternatively, assuming the upper limit of error is a and the lower limit of error is -a, the first threshold can be expressed as:

[0059] Perf e *(1+a)

[0060] The second threshold can be expressed as:

[0061] Perf e *(1-a)

[0062] Among them, Perf e This represents the actual estimated storage performance. Where 0 < α < 1, for example, in some embodiments, α = 0.05 can be set.

[0063] In some alternative embodiments, if the actual storage performance of the physical machine is PERf r If the actual storage performance of the physical machine exceeds the first threshold, it can be considered that the actual storage performance of the physical machine is greater than the estimated storage performance, that is, the estimated result of the performance evaluation model is too low.

[0064] In this scenario, the performance evaluation module can determine whether the target physical machine is under light load or in a balanced state. If the target physical machine is under light load or in a balanced state, the performance evaluation module can update the mapping table based on the correspondence between the load pressure data and the actual storage performance. If the target physical machine is under overload, it can be assumed that the actual storage performance is greater than the estimated storage performance due to the large load, and in this case, it is not necessary to update the correspondence between the load pressure data and the actual storage performance in the mapping table.

[0065] That is, if Perf e *(1+a) <Perf r If the physical machine's load is light or balanced, then the performance estimation model is considered inaccurate and needs to be revised. In this case, the correspondence between load stress data and the physical machine's actual storage performance under that load stress data can be established, i.e., [X1, X2, ..., Xn]->Perf. r [X1, X2, ..., Xn], update to the performance evaluation model mapping table of this physical machine.

[0066] In some alternative embodiments, if the actual storage performance of the physical machine is less than a second threshold, then the actual storage performance of the physical machine can be considered to be less than the estimated storage performance. That is, the prediction result of the performance evaluation model is too high.

[0067] In this scenario, the performance evaluation module can determine whether the target physical machine's load status is light, overloaded, or balanced. If the target physical machine's load status is light or balanced, the mapping table can be updated based on the correspondence between the target physical machine's load pressure data and actual storage performance. If the target physical machine's load status is overloaded, the actual storage performance of the target physical machine is corrected according to a preset convergence step size, and the mapping table is updated based on the correspondence between the corrected actual storage performance and the target physical machine's load pressure data.

[0068] The convergence step size is used to reduce the actual storage performance of the target physical machine under overload conditions, making its performance under overload conditions closer to its performance under balanced or light load conditions. During the process of correcting the target physical machine's performance storage model based on the mapping table, the performance model can continuously learn the performance change trends of the target physical machine under balanced or light load conditions. Furthermore, in subsequent prediction processes, the target physical machine can predict its performance under balanced or light load conditions based on real-time load pressure data. This prediction result can be used for access control (or flow control) of the target physical machine to adjust its load pressure, thereby reducing the impact on the target physical machine's storage service and improving its service stability.

[0069] That is, if Perf e *(1-a)>Perf r If the target physical machine is under light or balanced load, the performance estimation model is considered inaccurate and needs to be corrected. The performance evaluation module can correlate load stress data with the actual storage performance of the physical machine under that load stress data, i.e., [X1, X2, ..., Xn]->Perf. r [X1, X2, ..., Xn], update to the performance evaluation model mapping table of this physical machine.

[0070] If the target physical machine is under overload, the performance estimation model is considered inaccurate and needs to be corrected. The performance evaluation module can correct the actual storage performance of the target physical machine under load pressure data based on the convergence step size, obtaining (1-β)*Perf. r [X1, X2, ..., Xn]. The correlation between this load pressure data and the corrected actual storage performance can be established, i.e., [X1, X2, ..., Xn] -> (1-β)*Perf r [X1, X2, ..., Xn] are updated in the performance evaluation model mapping table of the physical machine. Here, 0 < β < 1 represents the convergence step size of the performance evaluation model, which can be selected based on the convergence speed of the performance evaluation model. The larger β is, the faster the convergence speed of the performance evaluation model. In some embodiments, β = 0.05 can be taken to allow the performance evaluation model to converge more stably to the target state. A performance evaluation model that converges to the target state allows the predicted storage performance to better match the current objective equipment conditions of the target physical machine, thereby reducing the risk of the target physical machine operating under overload.

[0071] In some alternative embodiments, if the actual storage performance is greater than or equal to the second threshold and less than or equal to the first threshold, the predicted result of the performance evaluation model can be considered reasonable. In this case, the performance evaluation model can be further optimized by combining the load status of the target physical machine. Optionally, the performance evaluation module can determine whether the load status of the target physical machine is overloaded. If the load status of the target physical machine is overloaded, it can be considered that the target physical machine has a large load pressure to reach the actual performance. At this time, the actual storage performance of the target physical machine can be corrected according to the preset convergence step size, and the mapping table can be updated according to the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine. If the load status of the target physical machine is lightly loaded or balanced, it is not necessary to update the correspondence between the load pressure data and the actual storage performance in the mapping table.

[0072] That is, if Perf e *(1-a)≤Perf r ≤Perf e *(1+a), and the target physical machine is in an overloaded state, indicating that the performance estimated by the performance evaluation model is inaccurate and needs to be corrected. The performance evaluation module can correct the actual storage performance of the target physical machine under load pressure data based on the convergence step size, obtaining (1-β)*Perf. r [X1, X2, ..., Xn]. The correlation between this load pressure data and the corrected actual storage performance can be established, i.e., [X1, X2, ..., Xn] -> (1-β)*Perf r [X1, X2, ..., Xn] are updated in the performance evaluation model mapping table for this physical machine. By setting the value of β, the performance evaluation model can be made to converge stably to the target state. The performance evaluation model after convergence to the target state makes the predicted storage performance more consistent with the current objective equipment conditions of the target physical machine, thereby reducing the risk of the target physical machine operating under overload.

[0073] In this implementation, the performance evaluation model of the physical machine is modified by combining the load status of the physical machine. The performance degradation caused by objective reasons such as hardware wear and aging can be used as the implicit variable of the performance evaluation model, so that the performance evaluation model is more adapted to the actual operating conditions of the physical machine, thereby obtaining more accurate storage performance prediction results.

[0074] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 101 to 104 can be device A; or the execution subject of steps 101 and 102 can be device A, and the execution subject of step 103 can be device B; and so on.

[0075] Furthermore, some processes described in the above embodiments and accompanying drawings include multiple operations appearing in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 101, 102, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0076] Figure 3 This illustration shows a schematic diagram of the structure of a server provided in an exemplary embodiment of this application. The server can be implemented as any physical machine in a storage system, which includes multiple physical machines. For example... Figure 3 As shown, the server includes: a memory 301, a processor 302, and a communication component 303.

[0077] Memory 301 is used to store computer programs and can be configured to store various other data to support operations on the server. Examples of this data include instructions for any application or method used to operate on the server.

[0078] The processor 302, coupled to the memory 301, is used to execute a computer program in the memory 301 for: during the operation of the storage system, statistically analyzing the access operations received by multiple physical machines in the storage system to obtain load pressure data of the multiple physical machines; inputting the load pressure data of the multiple physical machines into the performance evaluation models of each of the multiple physical machines to obtain the estimated storage performance of the multiple physical machines; determining the performance evaluation model of any physical machine among the multiple physical machines based on the historical load pressure data of the physical machine and the corresponding historical storage performance; and determining the storage performance of the storage system based on the estimated storage performance of the multiple physical machines.

[0079] Optionally, before inputting the load stress data of the multiple physical machines into the respective performance evaluation models of the multiple physical machines, the processor 302 is further configured to: perform a stress test on the physical machine based on a preset load stress data sample; during the stress test, acquire the device operating parameters of the physical machine; determine the load state of the physical machine based on the device operating parameters; when the load state of the physical machine is balanced, acquire the actual storage performance of the physical machine as a storage performance sample; and fit the performance change trend corresponding to the physical machine based on the load stress data sample and the storage performance sample to obtain the performance evaluation model corresponding to the physical machine.

[0080] Optionally, the load stress data of any physical machine includes at least one of the following: concurrency of disk read operations, I / O size, read / write I / O ratio, and the ratio of sequential data access.

[0081] Optionally, after obtaining the estimated storage performance of the plurality of physical machines, the processor 302 is further configured to: revise the performance evaluation model corresponding to each of the plurality of physical machines based on the load pressure data and estimated storage performance of the plurality of physical machines.

[0082] Optionally, the processor 302, based on the load pressure data and estimated storage performance of the plurality of physical machines, corrects the performance evaluation model corresponding to each of the plurality of physical machines, including: for a target physical machine among the plurality of physical machines, obtaining the device operating parameters of the target physical machine and the actual storage performance provided by the target physical machine; determining the load status of the target physical machine based on the device operating parameters of the target physical machine; updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance and estimated storage performance of the target physical machine; and correcting the performance evaluation model of the target physical machine according to the mapping table at a set update cycle.

[0083] Optionally, when the processor 302 updates the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine, it specifically performs the following: if the actual storage performance is greater than a first threshold, it determines whether the load status of the target physical machine is a light load state or a balanced state; wherein, the first threshold is determined based on the estimated storage performance and the upper limit of error; if the load status of the target physical machine is a light load state or a balanced state, it updates the mapping table based on the correspondence between the load pressure data and the actual storage performance of the target physical machine.

[0084] Optionally, when updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine, the processor 302 specifically performs the following: if the actual storage performance is less than a second threshold, it determines whether the load status of the target physical machine is light-load, overload, or balanced; wherein the second threshold is determined based on the estimated storage performance and the lower limit of the error; if the load status of the target physical machine is light-load, balanced, or overload, it updates the mapping table based on the correspondence between the load pressure data and actual storage performance of the target physical machine; if the load status of the target physical machine is overload, it corrects the actual storage performance of the target physical machine according to a preset convergence step size, and updates the mapping table based on the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

[0085] Optionally, when updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine, the processor 302 specifically performs the following: if the actual storage performance is greater than or equal to a second threshold and less than or equal to a first threshold, then it determines whether the load status of the target physical machine is overloaded; wherein, the first threshold is determined based on the estimated storage performance and an upper limit of error; the second threshold is determined based on the estimated storage performance and a lower limit of error; if the load status of the target physical machine is overloaded, then the actual storage performance of the target physical machine is corrected according to a preset convergence step size, and the mapping table is updated according to the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

[0086] Furthermore, such as Figure 3 As shown, the server also includes other components such as the power supply component 304. Figure 3 The diagram only shows some components and does not mean that the server only includes... Figure 3 The components shown.

[0087] The memory 301 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk or optical disk.

[0088] The communication component 303 is configured to facilitate wired or wireless communication between the device containing the communication component and other devices. The device containing the communication component can access wireless networks based on communication standards, such as WiFi, 2G, 3G, 4G, or 5G, or combinations thereof. In one exemplary embodiment, the communication component receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component may be implemented based on Near Field Communication (NFC), Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), Bluetooth (BT), and other technologies.

[0089] The power supply component 304 is used to provide power to various components of the device in which the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0090] In this embodiment, during the operation of the storage system, the load stress data of the physical machines in the storage system can be obtained statistically, and the estimated storage performance of the physical machines can be obtained based on a pre-determined performance evaluation model. Based on the estimated storage performance of multiple physical machines, the overall storage performance of the storage system can be determined. In this implementation, the analysis of storage system performance can be transformed into the analysis of physical machine storage performance, and the performance evaluation model of each physical machine is determined based on the actual operating data of the physical machine. This makes the analysis results closer to the actual operating conditions of the physical machines, thereby obtaining more accurate performance prediction results. The load stress data is statistically collected online during the operation of the storage system and can be used to reflect the actual stress situation of the storage system. This makes the predicted storage performance more realistic and reliable while reducing the risk of additional load on the physical machines and minimizing the impact on the service capacity of the storage system.

[0091] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, can implement the steps that can be executed by the server in the above method embodiments.

[0092] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0093] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0094] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0095] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0096] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0097] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0098] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0099] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0100] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A performance evaluation method applicable to a storage system, said storage system comprising multiple physical machines; the method comprising: During the operation of the storage system, the access operations received by multiple physical machines in the storage system are statistically analyzed to obtain the load pressure data of the multiple physical machines. The load stress data of the multiple physical machines are input into the performance evaluation models of the multiple physical machines to obtain the estimated storage performance of the multiple physical machines; the performance evaluation model of any physical machine is determined based on the historical load stress data and corresponding historical storage performance of the physical machine. The storage performance of the storage system is determined based on the estimated storage performance of the plurality of physical machines; The method further includes: for a target physical machine among the plurality of physical machines, obtaining the device operating parameters of the target physical machine and the actual storage performance provided by the target physical machine; determining the load status of the target physical machine based on the device operating parameters of the target physical machine; updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance and estimated storage performance of the target physical machine; and correcting the performance evaluation model of the target physical machine according to the mapping table at a set update cycle.

2. The method according to claim 1, before inputting the load stress data of the plurality of physical machines into the respective performance evaluation models of the plurality of physical machines, further includes: The physical machine is subjected to a pressure test based on a preset load pressure data sample. During the stress test, the equipment operating parameters of the physical machine are acquired; Based on the equipment operating parameters of the physical machine, determine the load status of the physical machine; When the physical machine is in a balanced load state, the actual storage performance of the physical machine is obtained as a storage performance sample. Based on the load pressure data sample and the storage performance sample, the performance change trend corresponding to the physical machine is fitted to obtain the performance evaluation model corresponding to the physical machine.

3. The method according to claim 1, wherein the load pressure data of any physical machine includes: At least one of the following: concurrency of disk read operations, I / O size, read / write I / O ratio, and ratio of sequential data access.

4. The method according to claim 1, wherein updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine includes: If the actual storage performance is greater than the first threshold, then it is determined whether the load state of the target physical machine is a light load state or a balanced state; wherein, the first threshold is determined based on the estimated storage performance and the upper limit of error. If the target physical machine is in a light load or balanced load state, the mapping table is updated according to the correspondence between the load pressure data of the target physical machine and the actual storage performance.

5. The method according to claim 1, wherein updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine includes: If the actual storage performance is less than the second threshold, then it is determined whether the load state of the target physical machine is light load, overload, or balanced; wherein, the second threshold is determined based on the estimated storage performance and the lower limit of error. If the target physical machine is in a light load state, a balanced state, or an overload state, then the mapping table is updated according to the correspondence between the load pressure data of the target physical machine and the actual storage performance. If the target physical machine is in an overloaded state, the actual storage performance of the target physical machine is corrected according to a preset convergence step size, and the mapping table is updated according to the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

6. The method according to claim 1, wherein updating the mapping table between load pressure data and storage performance based on the load status, actual storage performance, and estimated storage performance of the target physical machine includes: If the actual storage performance is greater than or equal to the second threshold and less than or equal to the first threshold, then it is determined whether the load state of the target physical machine is overloaded; wherein, the first threshold is determined based on the estimated storage performance and the upper limit of the error; the second threshold is determined based on the estimated storage performance and the lower limit of the error. If the target physical machine is in an overloaded state, the actual storage performance of the target physical machine is corrected according to a preset convergence step size, and the mapping table is updated according to the correspondence between the corrected actual storage performance and the load pressure data of the target physical machine.

7. A server, comprising: Memory and processor; The memory is used to store one or more computer instructions; The processor is configured to execute one or more computer instructions for performing the steps of the method according to any one of claims 1-6.

8. A computer-readable storage medium storing a computer program, which, when executed by a processor, enables the performance evaluation method according to any one of claims 1-6.