Performance detection method and system and electronic equipment
By recording and matching the IO metadata and performance bottleneck model of RAID card, the complexity and interference problems of traditional RAID card performance measurement methods are solved, real-time monitoring and optimization of RAID card performance is realized, and analysis efficiency and system stability are improved.
Patent Information
- Application Number
- CN202411319489.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-20
- Publication Date
- 2024-12-27
AI Technical Summary
Traditional RAID card performance measurement methods are complex and interfere with the host IO process, making it difficult to accurately identify and locate performance bottlenecks, affecting the accuracy and efficiency of test results.
By recording the IO metadata of IO requests issued by the host and matching them with the predefined performance bottleneck model, RAID card performance is monitored in real time, identify exception indicator data, and dynamically adjust configuration parameters to optimize performance.
Real-time monitoring and accurate analysis of RAID card performance is realized, which reduces troubleshooting time and cost, improves performance management capabilities, and ensures the stable operation of the system.
Smart Images

Figure CN119201580A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of performance testing, and in particular to a performance testing method, system and electronic equipment. Background Art
[0002] In modern data storage systems, RAID (Redundant Array of Independent Disks) technology is widely used to improve the reliability and performance of data storage. As a key hardware component to implement this technology, the performance of RAID cards directly affects the efficiency and response speed of the entire storage system. In the development and use of RAID cards, performance indicators such as throughput, latency, and efficiency are the focus of design and evaluation. However, traditional RAID card performance measurement methods often have some shortcomings.
[0003] First, the performance measurement methods of related technologies usually rely on the collection of a large amount of performance indicator data. This data is not only huge and complex, but also brings great difficulties to engineers' analysis and reduces efficiency. Secondly, many traditional performance testing methods may interfere with the host's IO process, such as performing performance analysis by punching IO. This interference will affect the accuracy of the test results. In addition, during the performance testing process, how to effectively identify and locate performance bottlenecks is also an urgent problem to be solved. Therefore, there is an urgent need for a new performance measurement method that can actively and real-time monitor the performance of RAID cards and specifically discover and solve performance problems. Summary of the invention
[0004] The embodiments of the present disclosure provide a performance detection method, system and electronic device, aiming to solve the problems existing in the above-mentioned background technology.
[0005] In order to solve the above technical problems, the present disclosure is implemented as follows:
[0006] In a first aspect, an embodiment of the present disclosure provides a performance detection method, the method comprising:
[0007] Record the IO metadata of the IO requests issued by the host;
[0008] Acquire performance indicator data of each acceleration unit that executes the IO request, and match the performance indicator data of each acceleration unit with a performance bottleneck model, wherein the performance indicator data includes an acceleration cluster ID, an acceleration unit ID, an indicator type, and an indicator measured value; the performance bottleneck model is pre-defined according to a test scenario of the host, and includes an acceleration cluster ID, an acceleration unit ID, an indicator type, an indicator theoretical value, and an error tolerance;
[0009] For each acceleration unit, when the performance indicator data does not match the performance bottleneck model, abnormal performance indicator data is determined.
[0010] Optionally, the performance bottleneck model is defined according to the following steps:
[0011] Determine the type of the test scenario, including but not limited to high concurrent read and write scenarios, random IO scenarios, and sequential IO scenarios;
[0012] For each test scenario, determine the corresponding performance bottleneck link;
[0013] Assign a corresponding acceleration cluster ID and acceleration unit ID to each performance bottleneck link;
[0014] Define the indicator type, theoretical value and error tolerance of each performance bottleneck link.
[0015] Optionally, after determining the abnormal performance indicator data, the method further includes:
[0016] Recording IO metadata of the IO request issued by the host, the IO metadata including a timestamp, request type, data size, and priority of the IO request;
[0017] Recording the abnormal performance indicator data;
[0018] Compare the idle ratio of the hard disk bandwidth of the hard disk with the idle ratio of the host bandwidth of the host, and determine the storage location of the IO metadata of the IO request and the abnormal performance indicator data;
[0019] When the idle ratio of the disk bandwidth is higher than the idle ratio of the host bandwidth, the IO metadata of the IO request and the abnormal performance indicator data are saved to the hard disk;
[0020] When the idle ratio of the disk bandwidth is lower than the idle ratio of the host bandwidth, the IO metadata of the IO request and the abnormal performance indicator data are saved to the host.
[0021] Optionally, matching the performance indicator data of each acceleration unit with the performance bottleneck model includes:
[0022] For each acceleration unit, find the corresponding performance bottleneck model according to the acceleration cluster ID and the acceleration unit ID;
[0023] Matching the indicator type of the performance indicator data of the acceleration unit with the indicator type defined in the performance bottleneck model;
[0024] When the indicator type of the performance indicator data of the acceleration unit successfully matches the indicator type defined in the performance bottleneck model, the theoretical value tolerance range is calculated according to the error tolerance defined in the performance bottleneck model; otherwise, it is determined that the performance indicator data does not match the performance bottleneck model, and the performance indicator data is marked as abnormal performance indicator data;
[0025] Check whether the actual measured value of the performance indicator data of the acceleration unit is within the tolerance range of the theoretical value;
[0026] When the actual measured value of the performance indicator data of the acceleration unit is within the tolerance range of the theoretical value, it is determined that the performance indicator data of the acceleration unit does not match the performance bottleneck model; otherwise, it is determined that the performance indicator data does not match the performance bottleneck model, and the performance indicator data is marked as abnormal performance indicator data.
[0027] Optionally, after determining the abnormal performance indicator data, the method further includes:
[0028] Within a preset time window, according to the indicator type of the abnormal performance indicator data, record the minimum statistical value, maximum statistical value and average statistical value of the indicator actual measured value of the abnormal performance indicator data, and the indicator type includes the minimum value, maximum value and average value;
[0029] The minimum statistical value, the maximum statistical value and the average statistical value of the actual measured values of the indicator are reported, and a performance measurement report is generated.
[0030] Optionally, the method further comprises:
[0031] Dynamically adjust configuration parameters of each acceleration unit executing the IO request according to the abnormal performance indicator data;
[0032] Based on the performance measurement report, a combination of acceleration units executing the IO request is adjusted.
[0033] In a second aspect, an embodiment of the present disclosure provides a performance detection system, which implements the steps of a performance detection method when executed, and the system includes multiple acceleration units and a performance detection service module;
[0034] The multiple acceleration units are used to execute IO requests sent by the host;
[0035] The performance detection service module is used to obtain the performance indicator data of each acceleration unit that executes the IO request, and match the performance indicator data of each acceleration unit with the performance bottleneck model; the performance bottleneck model is pre-defined according to the test scenario of the host, and the performance bottleneck model includes the acceleration cluster ID, the acceleration unit ID, the indicator type, the theoretical value of the indicator and the error tolerance; the performance indicator data includes the acceleration cluster ID, the acceleration unit ID, the indicator type and the actual measured value of the indicator;
[0036] The performance detection service module is used to determine abnormal performance indicator data for each acceleration unit when the performance indicator data does not match the performance bottleneck model.
[0037] Optionally, the acceleration unit includes a calculation unit and a performance detection unit, and the performance detection unit includes a performance detection submodule;
[0038] The performance detection submodule is used to record the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the abnormal performance indicator data within a preset time window; and report the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the indicator.
[0039] Optionally, the performance detection service module includes a performance bottleneck parameter configuration module, and the performance bottleneck parameter configuration module is used to define a corresponding performance bottleneck model according to a test scenario of the host;
[0040] The performance bottleneck parameter configuration module stores the data defined by the performance bottleneck model in the form of a multi-dimensional array or a dictionary, and calculates the theoretical value tolerance range according to the error tolerance defined in the performance bottleneck model.
[0041] In a third aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program implements the steps of a performance detection method when executed by the processor.
[0042] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:
[0043] The present disclosure realizes real-time monitoring of RAID card performance by recording the IO metadata of the IO request issued by the host and obtaining the performance indicator data of each acceleration unit in real time, so that when performance problems occur, it can respond quickly and take measures to reduce system failure time. The obtained performance indicator data is matched with the pre-defined performance bottleneck model to effectively identify which performance indicators exceed the expected range. The definition of the performance bottleneck model is based on the specific test scenario of the host, which ensures the pertinence and accuracy of the analysis, thereby improving the effectiveness of performance anomaly detection. In the case where the performance indicator data does not match the performance bottleneck model, the abnormal performance indicator data can be quickly determined, reducing the time and cost of troubleshooting. The present disclosure does not need to introduce additional IO operations (such as punching IO) during the performance monitoring process, thereby reducing interference with the host IO process, ensuring the accuracy and effectiveness of performance testing, thereby significantly improving the ability of RAID card performance management, providing a strong guarantee for the stable operation of the system, and has broad application prospects and practical value. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for describing the embodiments of the present disclosure are briefly introduced below.
[0045] Figure 1 It is a flowchart of the performance indicator data collection and analysis process in a related technology;
[0046] Figure 2 is a flowchart of performance indicator data collection and analysis provided by an embodiment of the present disclosure;
[0047] Figure 3 It is a schematic diagram of the steps of a performance detection method provided by an embodiment of the present disclosure;
[0048] Figure 4 is a schematic diagram of a performance bottleneck model definition provided by an embodiment of the present disclosure;
[0049] Figure 5 is a schematic diagram of a decision flow for matching performance indicator data with a performance bottleneck model in one embodiment of the present disclosure;
[0050] Figure 6 is a structural block diagram of a performance detection system provided by an embodiment of the present disclosure;
[0051] Figure 7 It is a structural block diagram of a performance detection service module provided by an embodiment of the present disclosure. DETAILED DESCRIPTION
[0052] Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure. In the description of the embodiments of the present disclosure, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In the present disclosure, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, c can be single or multiple.
[0053] Figure 1 It is a flowchart of the performance indicator data collection and analysis process in the related technology. IO punching is a performance testing method, which mainly adds feature IO (i.e. punching IO) randomly in the IO flow of the performance test so as to track and log these feature IOs, thereby completing the analysis of their performance. It can be understood that the drawings in the specification of this disclosure (such as Figure 1 , 2 , 6) The marked numbers (①, ②, ...) correspond to the implementation order in the corresponding process. Figure 1 As shown in the figure, the RAID card chip receives the original IO request sent by the host, and creates the corresponding IO metadata through the IO request generation module. The IO metadata is used to track the processing process of the original IO inside the RAID card chip. In the normal IO processing flow, the punching IO is randomly selected to insert the IO stream. These punching IOs are specific IO requests, which are intended to observe their processing in each acceleration unit of the RAID card chip. Whenever the punching IO is processed, each acceleration unit of the RAID card will generate corresponding performance detection data. These data include processing time, bandwidth usage, etc., which are convenient for subsequent performance analysis. The collected punching IO performance indicator data will be recorded and stored, and then analyzed by the log analysis tool. The goal of the analysis is to evaluate the performance of the punching IO under specific conditions in order to find potential performance bottlenecks. By analyzing the performance indicator data of the punching IO, performance testers can evaluate the performance of the RAID card under different loads and scenarios and identify possible problems.
[0054] However, in the RAID card chip, the number of host IOs may reach millions per second. With the addition of punched IOs, the amount of performance test data generated will also be very large. This makes it difficult for performance analysts to quickly find patterns and effective information when facing massive data, reducing the efficiency of analysis. In complex scenarios with large performance fluctuations or mixed IO types, the sampling and timing selection of punched IOs become particularly difficult. This may lead to inaccurate analysis results and fail to truly reflect the performance status of the system. Adding punched IOs will cause certain interference to the normal IO flow, which may affect the overall performance of the host. The interference makes the results of punched IO unreliable and difficult to use as a basis for performance tuning. Most importantly, the random addition of punched IOs makes it difficult to reproduce performance problems in different tests. If a performance problem is found in a test, it may not be possible to reproduce the problem in subsequent tests with the same punched IO configuration, resulting in reduced effectiveness of performance tuning.
[0055] Therefore, although IO punching is an effective performance debugging method, it has certain defects in data processing volume, performance fluctuation capture, interference with host IO flow, problem reproduction and on-site data capture, which limits its application effect in complex scenarios. The present invention proposes an innovative performance detection method, which can effectively identify performance anomalies by recording the IO metadata of the IO request issued by the host and matching the performance indicator data of each acceleration unit with the pre-defined performance bottleneck model. It not only improves the real-time and accuracy of performance monitoring, but also significantly improves the efficiency of anomaly identification, providing strong support for the performance optimization of RAID cards. Figure 2 is a flowchart of the performance indicator data collection and analysis process provided by an embodiment of the present disclosure, such as Figure 2 As shown, the present disclosure adds a link for reporting performance indicator data, performs matching decisions in performance detection services, and records abnormal performance indicator data. The following will clearly and completely describe the technical solutions in the embodiments of the present disclosure in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of them.
[0056] Figure 3 FIG. 1 is a schematic diagram of a performance detection method provided by an embodiment of the present disclosure. Figure 3 As shown, the method includes:
[0057] Step S101, recording IO metadata of an IO request sent by a host.
[0058] Step S102, obtaining performance indicator data of each acceleration unit that executes the IO request, and matching the performance indicator data of each acceleration unit with a performance bottleneck model, wherein the performance indicator data includes an acceleration cluster ID, an acceleration unit ID, an indicator type, and an actual measured value of the indicator; the performance bottleneck model is pre-defined based on a test scenario of the host, and includes an acceleration cluster ID, an acceleration unit ID, an indicator type, a theoretical value of the indicator, and an error tolerance.
[0059] Step S103: for each acceleration unit, when the performance indicator data does not match the performance bottleneck model, determining abnormal performance indicator data.
[0060] In step S101, an IO request refers to an input / output operation instruction issued by the host to the RAID card chip. An IO request can be a read, write, or other operation, involving data access and processing. Each IO request contains specific information, such as the type of request, the address of the data block, the data size, etc. In this step, the IO request generation module inside the RAID card chip processes each IO request issued by the host and generates corresponding IO metadata. The IO metadata is a detailed description of the original IO request, including but not limited to the following key fields: request ID, timestamp, request type, data block address, data size, and status information. The generated IO metadata is stored in the memory of the RAID card chip to facilitate subsequent performance monitoring and analysis. The IO metadata will serve as the basis for performance indicator data matching and anomaly detection in subsequent steps (steps S102 and S103).
[0061] Involving step S102, performance indicator data is collected from each acceleration unit. The acceleration unit is responsible for processing specific tasks or links of input / output (IO) requests. Each acceleration unit has independent processing capabilities and resources and can process multiple IO requests in parallel. Suppose there is a RAID card that contains multiple acceleration units. Acceleration unit A focuses on processing sequential write operations of large IOs; acceleration unit B is responsible for processing random read operations of small IOs; acceleration unit C is used to encrypt and decrypt data. Suppose there are a large number of user requests that require data insertion and query operations at the same time. When the user issues a large number of insertion requests, acceleration unit A will quickly receive these sequential write requests and write the data to the storage device. At the same time, the user may also issue query requests, and acceleration unit B will process these random read requests and quickly return the required data. If the queried data needs to be encrypted, acceleration unit C will encrypt it before returning the data.
[0062] In this step, performance indicator data is collected from each acceleration unit. In the disclosed embodiment, the performance indicator data includes the following key fields: acceleration cluster ID, which identifies which acceleration cluster the performance indicator data comes from; acceleration unit ID, which identifies which specific acceleration unit the performance indicator data comes from; indicator type, which indicates the type of performance indicator collected, such as maximum value, minimum value, average value, etc.; the actual value of the indicator is the specific value of the performance indicator actually measured during the performance monitoring process, indicating the specific performance indicator value, such as latency, throughput, etc. The performance bottleneck model is pre-defined according to the test scenario of the host, and is mainly used to describe the expected performance of each acceleration unit under specific conditions. Figure 4 is a schematic diagram of a performance bottleneck model definition provided by an embodiment of the present disclosure, such as Figure 4 As shown, the performance bottleneck model includes the following components: acceleration cluster ID, acceleration unit ID, indicator type, indicator theoretical value, and error tolerance, which represent the reasonable difference range between the actual performance value and the theoretical value allowed due to performance fluctuations that may occur during the dynamic operation of the system. Its acceleration cluster ID, acceleration unit ID, indicator type, and indicator theoretical value correspond to the acceleration cluster ID, acceleration unit ID, indicator type, and indicator measured value of the performance indicator data one by one. After obtaining the performance indicator data, the performance indicator data is matched with the performance bottleneck model for corresponding items. If the performance indicator data successfully matches the performance bottleneck model, it means that the performance of the acceleration unit meets expectations; if it does not match, there may be performance anomalies. In this case, the abnormal performance indicator data will be determined in the subsequent step (step S103) and corresponding processing measures will be taken.
[0063] Involving step S103, in the event of a matching failure, the performance indicator data that does not meet expectations is marked as abnormal. This includes delays and throughput that exceed the tolerance range. The detailed information of the abnormal performance indicator data is recorded, including the acceleration unit ID, indicator type, actual measured value of the indicator, etc., for subsequent analysis and processing. When abnormal performance indicator data is determined, an alarm mechanism can be triggered to notify relevant personnel or system administrators that there is a performance problem, and the abnormal performance indicator data and related IO metadata are saved to a storage medium for detailed analysis. The abnormal performance indicator data and related IO metadata will serve as the basis for subsequent performance analysis and optimization. Based on the identified performance anomalies, configuration adjustments, resource reallocation or other optimization measures may be required to improve the performance of the acceleration unit.
[0064] The present disclosure realizes real-time monitoring of RAID card performance by recording the IO metadata of the IO request issued by the host and obtaining the performance indicator data of each acceleration unit in real time, so that when performance problems occur, it can respond quickly and take measures to reduce system failure time. The obtained performance indicator data is matched with the pre-defined performance bottleneck model to effectively identify which performance indicators exceed the expected range. The definition of the performance bottleneck model is based on the specific test scenario of the host, which ensures the pertinence and accuracy of the analysis, thereby improving the effectiveness of performance anomaly detection. In the case where the performance indicator data does not match the performance bottleneck model, the abnormal performance indicator data can be quickly determined, reducing the time and cost of troubleshooting. The present disclosure does not need to introduce additional IO operations (such as punching IO) during the performance monitoring process, thereby reducing interference with the host IO process, ensuring the accuracy and effectiveness of performance testing, thereby significantly improving the ability of RAID card performance management, providing a strong guarantee for the stable operation of the system, and has broad application prospects and practical value.
[0065] Exemplarily, the performance bottleneck model is defined according to the following steps: determining the type of the test scenario, including but not limited to high-concurrency read-write scenarios, random IO scenarios, and sequential IO scenarios; for each test scenario, determining the corresponding performance bottleneck link; assigning a corresponding acceleration cluster ID and acceleration unit ID to each performance bottleneck link; defining the indicator type, theoretical value of the indicator, and error tolerance of each performance bottleneck link.
[0066] The first step in defining the performance bottleneck model is to identify and classify different test scenarios. Test scenarios can include high-concurrency read and write scenarios, random IO scenarios, and sequential IO scenarios. For each test scenario, analyze and determine the possible performance bottleneck links, which are the parts of the system where performance may degrade under a specific load. For example, in high-concurrency read and write scenarios, possible bottleneck links include lock contention, IO scheduling delays, etc. In random IO scenarios, bottlenecks may occur in the addressing time or cache hit rate of storage devices. In sequential IO scenarios, bottlenecks may be related to the write speed or bandwidth of the disk. Each identified performance bottleneck link needs to be assigned a unique identifier, namely the acceleration cluster ID and acceleration unit ID, so that it can be tracked and managed in subsequent performance monitoring and analysis.
[0067] For each performance bottleneck link, define the corresponding performance indicators for monitoring and evaluation in actual operation. For the indicator type, specify the performance indicators that need to be monitored, such as latency, throughput, IOPS (input and output operations per second), error rate, etc. For the theoretical value of the indicator, based on the design and expected performance of the system, set the expected value of each indicator under ideal conditions, that is, the theoretical value of the indicator. The theoretical value of the indicator can be determined by historical data, experimental results or industry standards. For error tolerance, since the system may be affected by various factors in actual operation, resulting in performance fluctuations, a reasonable tolerance range needs to be set. This range refers to the acceptable difference between the actual performance indicator and the theoretical value. For example, the tolerance for latency can be set to ±5%.
[0068] Through the above steps, the definition of the performance bottleneck model provides a clear standard and basis for RAID card performance monitoring. The performance bottleneck model not only helps the system set reasonable performance expectations in different test scenarios, but also lays the foundation for subsequent performance indicator data collection, analysis and anomaly detection. By monitoring these indicators in real time, performance problems can be identified in a timely manner and corresponding optimization measures can be taken to improve overall operating efficiency and stability.
[0069] Exemplarily, after determining the abnormal performance indicator data, the method further includes: recording IO metadata of the IO request issued by the host, the IO metadata including the timestamp, request type, data size and priority of the IO request; recording the abnormal performance indicator data; comparing the disk placement bandwidth idle ratio of the hard disk with the host bandwidth idle ratio of the host to determine the storage location of the IO metadata of the IO request and the abnormal performance indicator data; when the disk placement bandwidth idle ratio is higher than the host bandwidth idle ratio, saving the IO metadata of the IO request and the abnormal performance indicator data to the hard disk; when the disk placement bandwidth idle ratio is lower than the host bandwidth idle ratio, saving the IO metadata of the IO request and the abnormal performance indicator data to the host.
[0070] After determining the abnormal performance indicator data, it involves recording the relevant IO metadata and abnormal performance indicator data, and determining the storage location of the abnormal performance indicator data and the relevant IO metadata based on the bandwidth of the system. Specifically, when a performance abnormality occurs, it is first necessary to record the metadata of the IO request related to the abnormality. Suppose at a certain moment, the host issues a write request with a data size of 4KB, a type of "write", and a priority of "high". This information will be recorded as IO metadata. After identifying the abnormal performance indicator data, the abnormal performance indicator data will be recorded in detail. If acceleration unit A finds that the delay exceeds the preset tolerance range when processing an IO request, the system will record the acceleration unit ID as "A", the indicator type as "delay", and the measured value as "200ms".
[0071] Next, the disk bandwidth idle ratio of the hard disk is compared with the host bandwidth idle ratio of the host to evaluate the bandwidth of the storage medium and decide where to save the IO metadata and abnormal performance indicator data. The disk bandwidth idle ratio of the hard disk refers to the ratio of the bandwidth that the hard disk can use to write data in the current situation to the total bandwidth. The host bandwidth idle ratio of the host refers to the ratio of the bandwidth that the host can use to process IO requests in the current situation to the total bandwidth. If the disk bandwidth idle ratio is higher than the host bandwidth idle ratio, it means that the bandwidth of the hard disk is more sufficient when processing data, and the IO metadata and abnormal performance indicator data will be saved to the hard disk. It is suitable for the case where the hard disk has strong writing capabilities and can effectively reduce the host bandwidth occupation. If the disk bandwidth idle ratio is lower than the host bandwidth idle ratio, it means that the host bandwidth is relatively idle, and the data will be saved to the host memory. In this case, saving to the host memory can make subsequent data processing and analysis faster. Assume that at a certain moment, the disk bandwidth idle ratio of the hard disk is 70%, while the host bandwidth idle ratio is 50%. Since the hard disk bandwidth idle ratio is higher than the host, it is decided to save the IO metadata and abnormal performance indicator data to the hard disk.
[0072] Through the above steps, the most suitable storage location can be flexibly selected according to the current bandwidth conditions to ensure the effective storage and subsequent analysis of performance indicator data. The dynamic storage decision mechanism disclosed in the present invention not only improves the efficiency of data processing, but also effectively utilizes system resources and reduces potential performance bottlenecks.
[0073] Exemplarily, matching the performance indicator data of each acceleration unit with the performance bottleneck model includes: for each acceleration unit, searching for the corresponding performance bottleneck model according to the acceleration cluster ID and the acceleration unit ID; matching the indicator type of the performance indicator data of the acceleration unit with the indicator type defined in the performance bottleneck model; when the indicator type of the performance indicator data of the acceleration unit successfully matches the indicator type defined in the performance bottleneck model, calculating the theoretical value tolerance range according to the error tolerance defined in the performance bottleneck model; otherwise, determining that the performance indicator data does not match the performance bottleneck model, and marking the performance indicator data as abnormal performance indicator data; checking whether the actual measured value of the indicator of the performance indicator data of the acceleration unit is within the theoretical value tolerance range; when the actual measured value of the indicator of the performance indicator data of the acceleration unit is within the theoretical value tolerance range, determining that the performance indicator data of the acceleration unit does not match the performance bottleneck model; otherwise, determining that the performance indicator data does not match the performance bottleneck model, and marking the performance indicator data as abnormal performance indicator data.
[0074] In the process of matching the performance indicator data of each acceleration unit with the performance bottleneck model, a series of steps are followed to ensure that performance anomalies can be accurately identified. Figure 5 FIG. 1 is a schematic diagram of a decision flow for matching performance indicator data with a performance bottleneck model in one embodiment of the present disclosure. Figure 5As shown, for each acceleration unit, first search for the corresponding performance bottleneck model according to its acceleration cluster ID and acceleration unit ID. Assume that the acceleration cluster ID of acceleration unit A is "Cluster1" and the acceleration unit ID is "A1". Search and locate the entries corresponding to "Cluster1" and "A1" in the performance bottleneck model. After finding the corresponding performance bottleneck model, match the indicator type in the performance indicator data of the acceleration unit with the indicator type defined in the performance bottleneck model. Assume that the indicator type in the performance indicator data of acceleration unit A is "delay", and the performance bottleneck model also defines "delay" as an indicator type. This indicates that the two are matched successfully. If the indicator type matches successfully, then the tolerance range of the theoretical value is calculated according to the error tolerance defined in the performance bottleneck model, indicating the acceptable fluctuation range of the performance indicator in actual operation. Specifically, the theoretical value tolerance range = [theoretical value × (1-tolerance), theoretical value × (1+tolerance)], assuming that the theoretical value of delay defined in the performance bottleneck model is 100ms, and the error tolerance is 5%. Then the theoretical value tolerance range is: [100×(1-0.05), 100×(1+0.05)]=[95ms, 105ms]. Next, check whether the actual measured value of the indicator in the performance indicator data of the acceleration unit is within the calculated theoretical value tolerance range. Assume that the actual measured delay of acceleration unit A is 102ms. Since 102ms is within the range of 95ms to 105ms, it is considered that the indicator meets expectations. If the actual measured value of the indicator is within the theoretical value tolerance range, it is determined that the performance indicator data of the acceleration unit successfully matches the performance bottleneck model, indicating that the performance of the acceleration unit meets expectations. If the actual measured value of the indicator is not within the theoretical value tolerance range, the performance indicator data is marked as abnormal performance indicator data, indicating that there is a problem with the performance of the acceleration unit. If the actual measured delay of acceleration unit A is 110ms, which exceeds the theoretical value tolerance range (95ms to 105ms), the performance indicator data will be marked as abnormal.
[0075] Through the above matching decision process, the performance indicator data of the acceleration unit can be effectively matched with the predefined performance bottleneck model. It not only helps to identify performance anomalies, but also provides an important data basis for subsequent performance analysis and optimization. Through timely anomaly marking, it is possible to respond quickly and take corresponding measures to ensure the stability and reliability of the overall performance.
[0076] Exemplarily, after determining the abnormal performance indicator data, the method also includes: within a preset time window, according to the indicator type of the abnormal performance indicator data, recording the minimum statistical value, maximum statistical value and average statistical value of the actual measured value of the indicator of the abnormal performance indicator data, the indicator type including the minimum value, maximum value and average value; reporting the minimum statistical value, maximum statistical value and average statistical value of the actual measured value of the indicator, and generating a performance measurement report.
[0077] When performing statistics on abnormal performance indicator data, a time window is pre-set. The time window refers to the collection and analysis of abnormal performance indicator data within a certain period of time, so as to better understand the trend and changes of performance problems. Within the set time window, statistics are performed according to the indicator type of the abnormal performance indicator data, and the following three key statistical values are recorded: minimum statistical value, the minimum value of all abnormal performance indicator data; maximum statistical value, the maximum value of all abnormal performance indicator data; average statistical value, the average value of all abnormal performance indicator data. Assume that within a 5-minute time window, the recorded delay abnormal performance indicator data are: 110ms, 120ms, 115ms, 130ms, 125ms. Then the minimum statistical value = 110ms, the maximum statistical value = 130ms, and the average statistical value = (110+120+115+130+125) / 5 = 120ms. After recording the minimum, maximum and average statistical values, these statistical results are reported, and a performance measurement report is generated based on the reported statistical results. The performance measurement report may include the following: the start and end time of the time window, the type of abnormal performance indicator recorded (such as delay, throughput, etc.), the minimum statistical value, the maximum statistical value and the average statistical value, and possible performance problem analysis and suggestions. For example, the performance measurement report may be shown in Table 1:
[0078]
[0079] Table 1
[0080] By collecting statistics on abnormal performance indicator data within a preset time window, performance issues can be effectively monitored and analyzed. Statistical analysis of abnormal performance indicator data not only helps identify the trend of performance fluctuations, but also provides data support for subsequent performance optimization. The generated performance measurement report provides clear information for system administrators or related personnel, enabling them to make decisions quickly and take necessary measures to improve system performance.
[0081] Exemplarily, the method further includes: dynamically adjusting configuration parameters of each acceleration unit executing the IO request according to the abnormal performance indicator data; and adjusting a combination of each acceleration unit executing the IO request based on the performance measurement report.
[0082] When it is identified that the performance indicator data of one or some acceleration units are abnormal, dynamic adjustments are made according to the abnormal performance indicator data. It mainly involves adjusting configuration parameters, increasing resource allocation, adjusting task scheduling strategies, and optimizing operating parameters. Assuming that the delay indicator of acceleration unit A is abnormally high (for example, exceeding the tolerance range) when processing the sequential write operation of large IO, its cache size can be dynamically increased or its concurrent processing capability can be improved to reduce the delay. After generating the performance measurement report, the combination of multiple acceleration units is adjusted according to the statistical data and analysis results in the report. In the embodiment of the present disclosure, the purpose of the combination adjustment is to improve the overall performance by optimizing the collaborative work of each acceleration unit. According to the performance measurement report, it may be found that some acceleration units perform well when processing specific types of IO requests, while other units perform poorly. These acceleration units can be recombined to process IO requests more efficiently. By analyzing the performance measurement report, it can be identified which acceleration units are overloaded and which units are relatively idle. IO requests can be reallocated to make the load more balanced and avoid performance degradation caused by overloading of some acceleration units. Assume that the performance measurement report shows that acceleration unit A has lower latency in processing sequential write requests, while acceleration unit B has lower throughput in processing random read requests. More sequential write requests are assigned to acceleration unit A, while random read requests are concentrated on acceleration unit B to optimize the overall performance.
[0083] By dynamically adjusting the configuration parameters of the acceleration unit and making combined adjustments based on performance measurement reports, it is possible to effectively respond to performance anomalies and improve the overall performance of the RAID card. The flexible adjustment mechanism disclosed in this disclosure can not only quickly respond to performance issues, but also continuously optimize performance during long-term operation, ensuring that the system can maintain efficient and stable operation under different loads and usage scenarios.
[0084] Exemplarily, after determining the abnormal performance indicator data, the method also includes: generating and implementing a performance optimization strategy based on the analysis results of the abnormal performance indicator data, the performance optimization strategy including but not limited to dynamically adjusting the resource allocation of the acceleration unit, modifying the scheduling priority of IO requests, and adjusting the data caching strategy.
[0085] After determining the abnormal performance indicator data, the abnormal performance indicator data is deeply analyzed to determine the root cause of the performance abnormality. Based on the analysis results of the abnormal performance indicator data, the corresponding performance optimization strategies are generated, including but not limited to the following: The first is to dynamically adjust the resource allocation of the acceleration unit. According to the current load situation, the resource allocation of each acceleration unit is dynamically adjusted. For example, if the load of a certain acceleration unit is too high, its available computing resources can be temporarily increased, or some IO requests can be transferred to the acceleration unit with lower load. For important IO requests, more resources can be allocated preferentially to ensure that they are completed in time. The second is to modify the scheduling priority of the IO request. According to the type and urgency of the IO request, its scheduling priority is dynamically adjusted. For example, for requests with high real-time requirements, its priority is increased to ensure that it is processed first. According to the current performance status, a more appropriate scheduling algorithm (such as first come first served, shortest job first, etc.) can be selected to optimize the processing order of IO requests. The third is to adjust the data cache strategy. According to the analysis results, the data cache strategy is optimized. For example, increase the size of the cache or change the cache replacement algorithm to reduce the frequency of access to the hard disk and improve the access speed of data. According to the access pattern, the data pre-fetching strategy is implemented to load the data to be requested into the cache in advance, thereby reducing latency. When the performance optimization strategy is generated, the performance optimization strategy is implemented immediately.
[0086] By analyzing abnormal performance indicator data, generating and implementing performance optimization strategies, we can effectively deal with performance bottlenecks. This not only improves the performance and stability of the RAID card, but also enhances the overall system intelligence level, enabling it to maintain efficient operation under dynamically changing workloads.
[0087] Figure 6 is a structural block diagram of a performance detection system provided by an embodiment of the present disclosure. When the performance detection system is executed, steps of a performance detection method are implemented, such as Figure 6 As shown, the system includes multiple acceleration units and performance detection service modules;
[0088] The multiple acceleration units are used to execute IO requests sent by the host;
[0089] The performance detection service module is used to obtain the performance indicator data of each acceleration unit that executes the IO request, and match the performance indicator data of each acceleration unit with the performance bottleneck model; the performance bottleneck model is pre-defined according to the test scenario of the host, and the performance bottleneck model includes the acceleration cluster ID, the acceleration unit ID, the indicator type, the theoretical value of the indicator and the error tolerance; the performance indicator data includes the acceleration cluster ID, the acceleration unit ID, the indicator type and the actual measured value of the indicator;
[0090] The performance detection service module is used to determine abnormal performance indicator data for each acceleration unit when the performance indicator data does not match the performance bottleneck model.
[0091] The performance detection system disclosed in the present invention is deployed on the RAID card chip, and detects abnormal performance through interaction with the host. In the performance detection system, the acceleration unit is the core component responsible for executing the IO request issued by the host. Each acceleration unit can independently process a specific type of IO request and has independent processing capabilities and resources. The acceleration unit can process multiple IO requests in parallel to improve the overall processing efficiency. For example, one acceleration unit may focus on sequential write operations, while another acceleration unit processes random read requests.
[0092] The performance detection service module is used to obtain the performance indicator data of each acceleration unit and match these data with the pre-defined performance bottleneck model. The performance detection service module collects performance indicator data from each acceleration unit, including the acceleration cluster ID, acceleration unit ID, indicator type and the actual measured value of the indicator. The performance detection service module matches the collected performance indicator data with the performance bottleneck model to determine whether the performance of the acceleration unit meets expectations. The performance bottleneck model is pre-defined based on the test scenario of the host and is configured in the performance detection service module.
[0093] The performance detection service module will match the performance indicator data of each acceleration unit. If it is found that the performance indicator data does not match the performance bottleneck model, the performance indicator data will be marked as abnormal. When an abnormality is identified, corresponding measures can be taken, such as alarming, recording detailed information, or triggering a performance optimization process.
[0094] The performance detection system in the disclosed embodiment can timely identify and respond to performance problems by effectively monitoring and analyzing the performance of each acceleration unit in the RAID card, thereby ensuring the efficient operation of the system. By matching with the performance bottleneck model, the system can not only evaluate the current performance status, but also provide an important basis for subsequent performance optimization and adjustment.
[0095] Exemplarily, the acceleration unit includes a computing unit and a performance detection unit, and the performance detection unit includes a performance detection submodule; the performance detection submodule is used to record the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the abnormal performance indicator data within a preset time window; and report the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the indicator.
[0096] The acceleration unit includes a computing unit and a performance detection unit. The computing unit is responsible for actually executing the computing and data processing tasks of the IO request. The performance detection unit is specifically used to monitor and analyze the performance of the acceleration unit to ensure that it operates within the expected range. The main function of the performance detection unit is to monitor the performance indicators of the acceleration unit in real time to ensure timely detection and response to performance anomalies. The performance detection unit includes a performance detection submodule, which is used for specific performance indicator data collection and statistics. The performance detection submodule will report the recorded minimum statistical value, maximum statistical value and average statistical value to the performance detection service module or other related modules. In order to be able to obtain and analyze performance indicator data in a timely manner, so as to make corresponding adjustments and optimizations.
[0097] Exemplarily, the performance detection service module includes a performance bottleneck parameter configuration module, which is used to define a corresponding performance bottleneck model according to the test scenario of the host; the performance bottleneck parameter configuration module stores the data defined by the performance bottleneck model in the form of a multidimensional array or dictionary, and calculates the theoretical value tolerance range based on the error tolerance defined in the performance bottleneck model.
[0098] Figure 7 is a structural block diagram of a performance detection service module provided by an embodiment of the present disclosure, such as Figure 7 As shown in the figure, the performance bottleneck parameter configuration module is a submodule in the performance detection service module, which is used to define and manage the performance bottleneck model. The data defined by the performance bottleneck model will be stored in the form of a multidimensional array or dictionary, which can effectively organize and manage complex performance indicator data and facilitate rapid retrieval and processing. Among them, multidimensional arrays are suitable for storing structured data and can quickly access specific performance parameters through multiple dimensions. Dictionaries store data in the form of key-value pairs, which is convenient for quickly finding corresponding values through keys and is suitable for storing irregular or dynamically changing data.
[0099] The performance bottleneck parameter configuration module calculates the theoretical value tolerance range based on the theoretical value and error tolerance in the performance bottleneck model.
[0100] An embodiment of the present disclosure also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, the various processes in the above-mentioned embodiment of a performance detection method are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
[0101] Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, systems, electronic devices, and computer-readable media. Therefore, the embodiments of the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present disclosure may take the form of a computer program product implemented on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0102] The embodiments of the present disclosure are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present disclosure. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing terminal device to work in a specific way, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the functions specified in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 These computer program instructions can also be loaded into a computer or other programmable data processing terminal device, so that a series of operation steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable terminal device provide for implementing the process in the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0103] Although the preferred embodiments of the present disclosure have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present disclosure.
[0104] Finally, it should be noted that, in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the term "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "include..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements. A performance detection method, system and electronic device provided by the present disclosure are described in detail above. The principles and implementation methods of the present disclosure are described in this article using specific examples. The description of the above embodiments is only used to help understand the method and its core idea of the present disclosure; at the same time, for those of ordinary skill in the art, according to the idea of the present disclosure, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present disclosure.
Claims
1. A performance detection method, characterized in that: The method comprises: Record the IO metadata of the IO requests issued by the host; Acquire performance indicator data of each acceleration unit that executes the IO request, and match the performance indicator data of each acceleration unit with a performance bottleneck model, wherein the performance indicator data includes an acceleration cluster ID, an acceleration unit ID, an indicator type, and an indicator measured value; the performance bottleneck model is pre-defined according to a test scenario of the host, and includes an acceleration cluster ID, an acceleration unit ID, an indicator type, an indicator theoretical value, and an error tolerance; For each acceleration unit, when the performance indicator data does not match the performance bottleneck model, abnormal performance indicator data is determined.
2. The method according to claim 1, characterized in that Follow the steps below to define the performance bottleneck model: Determine the type of the test scenario, including but not limited to high concurrent read and write scenarios, random IO scenarios, and sequential IO scenarios; For each test scenario, determine the corresponding performance bottleneck link; Assign a corresponding acceleration cluster ID and acceleration unit ID to each performance bottleneck link; Define the indicator type, theoretical value and error tolerance of each performance bottleneck link.
3. The method according to claim 1, characterized in that After determining the abnormal performance indicator data, the method further includes: Recording IO metadata of the IO request issued by the host, the IO metadata including a timestamp, request type, data size, and priority of the IO request; Recording the abnormal performance indicator data; Compare the idle ratio of the hard disk bandwidth of the hard disk with the idle ratio of the host bandwidth of the host, and determine the storage location of the IO metadata of the IO request and the abnormal performance indicator data; When the idle ratio of the disk bandwidth is higher than the idle ratio of the host bandwidth, the IO metadata of the IO request and the abnormal performance indicator data are saved to the hard disk; When the idle ratio of the disk bandwidth is lower than the idle ratio of the host bandwidth, the IO metadata of the IO request and the abnormal performance indicator data are saved to the host.
4. The method according to claim 1, characterized in that The matching of the performance indicator data of each acceleration unit with the performance bottleneck model includes: For each acceleration unit, find the corresponding performance bottleneck model according to the acceleration cluster ID and the acceleration unit ID; Matching the indicator type of the performance indicator data of the acceleration unit with the indicator type defined in the performance bottleneck model; When the indicator type of the performance indicator data of the acceleration unit successfully matches the indicator type defined in the performance bottleneck model, the theoretical value tolerance range is calculated according to the error tolerance defined in the performance bottleneck model; otherwise, it is determined that the performance indicator data does not match the performance bottleneck model, and the performance indicator data is marked as abnormal performance indicator data; Check whether the actual measured value of the performance indicator data of the acceleration unit is within the tolerance range of the theoretical value; When the actual measured value of the performance indicator data of the acceleration unit is within the tolerance range of the theoretical value, it is determined that the performance indicator data of the acceleration unit does not match the performance bottleneck model; otherwise, it is determined that the performance indicator data does not match the performance bottleneck model, and the performance indicator data is marked as abnormal performance indicator data.
5. The method according to claim 1, characterized in that After determining the abnormal performance indicator data, the method further includes: Within a preset time window, according to the indicator type of the abnormal performance indicator data, record the minimum statistical value, maximum statistical value and average statistical value of the indicator actual measured value of the abnormal performance indicator data, and the indicator type includes the minimum value, maximum value and average value; The minimum statistical value, the maximum statistical value and the average statistical value of the actual measured values of the indicator are reported, and a performance measurement report is generated.
6. The method according to claim 5, characterized in that The method further comprises: Dynamically adjust configuration parameters of each acceleration unit executing the IO request according to the abnormal performance indicator data; Based on the performance measurement report, a combination of acceleration units executing the IO request is adjusted.
7. A performance detection system, characterized in that: The performance detection system, when executed, implements the steps of the method according to any one of claims 1 to 6, wherein the system comprises a plurality of acceleration units and a performance detection service module; The multiple acceleration units are used to execute IO requests sent by the host; The performance detection service module is used to obtain the performance indicator data of each acceleration unit that executes the IO request, and match the performance indicator data of each acceleration unit with a performance bottleneck model; the performance bottleneck model is pre-defined according to the test scenario of the host, and the performance bottleneck model includes an acceleration cluster ID, an acceleration unit ID, an indicator type, an indicator theoretical value, and an error tolerance; The performance indicator data includes the acceleration cluster ID, the acceleration unit ID, the indicator type and the actual measured value of the indicator; The performance detection service module is used to determine abnormal performance indicator data for each acceleration unit when the performance indicator data does not match the performance bottleneck model.
8. The system according to claim 7, characterized in that The acceleration unit includes a calculation unit and a performance detection unit, and the performance detection unit includes a performance detection submodule; The performance detection submodule is used to record the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the abnormal performance indicator data within a preset time window; and report the minimum statistical value, maximum statistical value and average statistical value of the actual measured values of the indicator.
9. The system according to claim 7, characterized in that The performance detection service module includes a performance bottleneck parameter configuration module, and the performance bottleneck parameter configuration module is used to define a corresponding performance bottleneck model according to a test scenario of the host; The performance bottleneck parameter configuration module stores the data defined by the performance bottleneck model in the form of a multi-dimensional array or a dictionary, and calculates the theoretical value tolerance range according to the error tolerance defined in the performance bottleneck model.
10. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein when the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 6 are implemented.