Performance tuning method and device
By acquiring and analyzing the historical performance data of the storage system, dynamically adjusting resource allocation in the storage dual-active fault recovery scenario, solving the problem of incoordinated resource allocation between host services and synchronization tasks, and achieving efficient data synchronization and business continuity.
Patent Information
- Application Number
- CN202411751005.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-30
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2044-11-30
AI Technical Summary
In the scenario of dual storage failure recovery, the resource allocation mechanism of host services and synchronization tasks is not coordinated enough, making it difficult to ensure resource utilization.
By obtaining the historical performance data generated during the storage system carrying the host task, setting the host task to be stored by the second node when the first node is abnormal, and after the first node returns to normal, predictive performance indicators are generated based on the initial performance indicators and historical performance data input by the user, thereby determining the target performance indicators and performance tuning configuration parameters, and performing data synchronization tasks to synchronize the difference data.
It realizes intelligent performance tuning, optimize resource allocation, reduce business interruption, improve data synchronization efficiency, and ensure business continuity and data consistency in storage dual-active fault recovery scenarios.
Smart Images

Figure CN119690341A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a performance tuning method and device. Background Art
[0002] Active-active storage is one of the business protection and data disaster recovery solutions commonly used by users. It realizes dual data copies by writing business data in real time at two active-active storage sites, providing highly reliable data protection. At the same time, automatic switching of storage failures ensures high availability of business. When a failure occurs at one active-active storage site, the business automatically switches to another site for operation, during which only a single copy of the data is available. After the failed site is restored, the normal site automatically synchronizes the difference data generated during the failure to the restored site in the background.
[0003] Therefore, during the differential data synchronization process in the storage active-active fault recovery scenario, the background synchronization task I / O and host I / O compete for storage resources, which may cause the host I / O performance to degrade and may also cause the synchronization cycle of differential data to be longer, resulting in insufficient coordination between the resource allocation mechanism of host services and synchronization tasks, and technical problems such as difficulty in ensuring resource utilization. Summary of the invention
[0004] The embodiments of the present application provide a performance tuning method and device to at least solve the problem in the related art that the resource allocation mechanism between the host service and the synchronization task is not coordinated enough and the resource utilization is difficult to ensure.
[0005] According to an embodiment of the present application, a performance tuning method is provided, comprising: obtaining historical performance data generated in the process of a storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system; in the event that an abnormality occurs in the first node, setting the host task to be stored by the second node; in the event that the first node returns to normal, generating and displaying a predicted performance indicator based on an initial performance indicator input by a user and the historical performance data; in response to a target interactive operation, determining a target performance indicator from the predicted performance indicator, and executing a data synchronization task based on a performance tuning configuration parameter determined based on the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task jointly use a target resource, and the allocation method of the target resource is specified by the performance tuning configuration parameter.
[0006] In an exemplary embodiment, when the first node returns to normal, generating and displaying a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data includes: obtaining the initial performance indicator input by the user; generating the predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the predicted performance indicator represents the performance indicator predicted according to the performance tuning configuration parameters; and displaying the predicted performance indicator.
[0007] In an exemplary embodiment, the management interface of the storage system is used to display the historical performance data; the method also includes: when there is an abnormality in the first node, displaying an alarm prompt message in the management interface; the displaying of the predicted performance indicator includes: when the first node returns to normal, displaying a parameter setting interface in the management interface, wherein the parameter setting interface includes the predicted performance indicator.
[0008] In an exemplary embodiment, obtaining the historical performance data generated in the process of the storage system carrying the host task includes: when it is necessary to execute the host task and the data synchronization task simultaneously, obtaining the performance indicators associated with the host task and the data synchronization task according to a preset time granularity; and generating the historical performance data based on the performance indicators.
[0009] In an exemplary embodiment, generating the historical performance data based on the performance indicators includes: generating first historical performance data based on key performance indicators associated with the host task and the data synchronization task, wherein the key performance indicators include at least one of the following: read and write times per second, bandwidth, and latency; generating second historical performance data based on secondary performance indicators associated with the host task and the data synchronization task, wherein the secondary performance indicators include at least one of the following: CPU utilization, block size, cache usage, and network transmission time; merging the first historical performance data and the second historical performance data into the historical performance data.
[0010] In an exemplary embodiment, the acquisition of historical performance data generated in the process of the storage system carrying host tasks includes: acquiring multiple business cycles set for the host business; sampling data for each of the business cycles based on multiple sampling granularities to determine multiple groups of data averages; generating the historical performance data based on the multiple groups of data averages, and storing them separately according to the multiple business cycles.
[0011] In an exemplary embodiment, after obtaining the historical performance data generated in the process of the storage system carrying the host task, the method further includes: when the historical performance data includes a delay, generating a delay threshold based on the historical delay, wherein the historical performance data includes the historical delay; when it is detected that the current delay of the host task and the delay threshold meet a preset condition, determining that an abnormality exists in the first node.
[0012] In an exemplary embodiment, in response to the target interaction operation, the target performance indicator is determined from the predicted performance indicator, and the data synchronization task is performed based on the performance tuning configuration parameters determined by the target performance indicator, including: in response to the target interaction operation, the target performance indicator is determined from the predicted performance indicator according to the business period, wherein different business periods correspond to different target performance indicators; the rationality of the target performance indicator is evaluated based on the performance of the storage system, and when the evaluation result indicates an abnormality, a prompt message is generated; when the evaluation result indicates a normal condition, the performance tuning configuration parameters are determined, and the data synchronization task is performed according to the performance tuning configuration parameters.
[0013] In an exemplary embodiment, when the evaluation result indicates that the performance tuning configuration parameters are normal, after determining the performance tuning configuration parameters and executing the data synchronization task according to the performance tuning configuration parameters, the method further includes: during the execution of the data synchronization task, monitoring the performance parameters of the storage system in real time to determine the performance performance parameters of the storage system; and updating the performance tuning configuration parameters based on the performance performance parameters.
[0014] In an exemplary embodiment, the method further includes: acquiring the historical performance data in real time and displaying the historical performance data; when an abnormality is detected in the performance indicator related to the host task in the historical performance data, determining the abnormal node where the abnormality occurs from the first node and the second node, and displaying an alarm prompt message; when the abnormal node returns to normal, acquiring the performance initial configuration parameters, wherein the performance initial configuration parameters are used to indicate the initial allocation method of the target resource; executing the initial data synchronization task based on the performance initial configuration parameters, updating the historical performance data, and acquiring the initial performance indicator input by the user, wherein the initial data synchronization task is used to synchronize the difference data between the abnormal node and the non-abnormal node according to the performance initial configuration parameters; generating an initial predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task when the initial performance indicator represents the delay of the host task, and the initial performance indicator represents In the case where the time consumption of the initial data synchronization task is greater than the time consumption of the initial data synchronization task, the initial predicted performance indicator represents the predicted delay of the host task; based on the historical performance data, a set of performance tuning configuration parameters are determined, and the initial data synchronization task is executed according to the set of performance tuning configuration parameters to determine the predicted performance indicator, wherein, in the case where the initial performance indicator represents the delay of the host task, the predicted performance indicator represents the predicted time consumption of the initial data synchronization task after tuning, and in the case where the initial performance indicator represents the time consumption of the initial data synchronization task, the predicted performance indicator represents the predicted delay of the host task after tuning; in the case where the predicted performance indicator is better than the initial predicted performance indicator, in response to the target interaction operation, the target performance indicator is determined from the predicted performance indicator; based on the target performance indicator, the performance tuning configuration parameter is determined from the set of performance tuning configuration parameters, and the data synchronization task is executed, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node according to the performance tuning configuration parameters.
[0015] According to another embodiment of the present application, a performance tuning device is provided, including: an acquisition module, used to acquire historical performance data generated in the process of a storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system; a setting module, used to set the host task to be stored by the second node when an abnormality occurs in the first node; a generation module, used to generate and display a predicted performance indicator based on an initial performance indicator input by a user and the historical performance data when the first node returns to normal; a processing module, used to determine a target performance indicator from the predicted performance indicator in response to a target interaction operation, and execute a data synchronization task based on a performance tuning configuration parameter determined by the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task jointly use a target resource, and the allocation method of the target resource is specified by the performance tuning configuration parameter.
[0016] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when run.
[0017] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0018] Through the present application, the historical performance data generated in the process of the storage system carrying the host task is first obtained, and then, when the first node is abnormal, the host task is set to be stored by the second node. After the first node returns to normal, the historical performance data and the initial performance indicators entered by the user are analyzed to generate predicted performance indicators. Then, the target performance indicators are selected from the predicted performance indicators to determine the performance tuning configuration parameters. Finally, the performance tuning configuration parameters are used to execute the data synchronization task to synchronize the difference data between the first node and the second node, thereby achieving the purpose of intelligent performance tuning in the storage active-active fault recovery scenario, thereby achieving the technical effect of optimizing resource allocation, reducing business interruptions, and improving data synchronization efficiency while ensuring business continuity and data consistency, and solving the problem that the resource allocation mechanism of the host business and the synchronization task in the related technology is not coordinated enough, and the resource utilization rate is difficult to guarantee. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 It is a hardware structure block diagram of a server device of a performance tuning method in an embodiment of the present application;
[0020] Figure 2 is a flow chart of a performance tuning method according to an embodiment of the present application;
[0021] Figure 3 is a schematic diagram of a framework of a performance tuning method according to an embodiment of the present application;
[0022] Figure 4 is a schematic diagram of a self-feedback mechanism of a performance tuning method according to an embodiment of the present application;
[0023] Figure 5 is an exemplary flow chart of a performance tuning method according to an embodiment of the present application;
[0024] Figure 6 It is a structural block diagram of a performance tuning device according to an embodiment of the present application. DETAILED DESCRIPTION
[0025] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0027] The method embodiments provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure diagram of a server device of a performance tuning method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 The server device includes a processor 102 (only one is shown) (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the server device may also include a transmission device 106 and an input / output device 108 for communication functions. A person skilled in the art can understand that Figure 1 The structure shown is only for illustration and does not limit the structure of the above server device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.
[0028] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the performance tuning method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the server device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0029] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0030] In this embodiment, a performance tuning method is provided. Figure 2 is a flow chart of a performance tuning method according to an embodiment of the present application, such as Figure 2 As shown, the process includes the following steps:
[0031] Step S202, obtaining historical performance data generated in the process of the storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system;
[0032] Step S204, when an abnormality occurs in the first node, the host task is set to be stored by the second node;
[0033] Step S206, when the first node returns to normal, generating and displaying a predicted performance indicator based on the initial performance indicator and historical performance data input by the user;
[0034] Step S208, in response to the target interaction operation, determine the target performance indicator from the predicted performance indicator, and execute the data synchronization task based on the performance tuning configuration parameters determined by the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task use the target resources together, and the allocation method of the target resources is specified by the performance tuning configuration parameters.
[0035] Through the above steps, the historical performance data generated in the process of the storage system carrying the host task is first obtained, then, when the first node is abnormal, the host task is set to be stored by the second node, and after the first node returns to normal, the historical performance data and the initial performance indicators input by the user are analyzed to generate predicted performance indicators, and then, the target performance indicators are selected from the predicted performance indicators to determine the performance tuning configuration parameters, and finally the performance tuning configuration parameters are used to execute the data synchronization task to synchronize the difference data between the first node and the second node, thereby achieving the purpose of intelligently tuning the performance in the storage active-active fault recovery scenario, thereby achieving the technical effect of optimizing resource allocation, reducing business interruption, and improving data synchronization efficiency while ensuring business continuity and data consistency, and solving the problem that the resource allocation mechanism of the host business and the synchronization task in the related technology is not coordinated enough, and the resource utilization rate is difficult to guarantee.
[0036] The execution subject of the above steps may be a server, a terminal, etc., but is not limited thereto.
[0037] The execution order of step S202 and step S204 is interchangeable, that is, step S204 may be executed first, and then step S202.
[0038] Optionally, in an embodiment of the present application, the above-mentioned historical performance data refers to the performance-related data recorded by the storage system in the process of carrying host tasks, which reflects the performance of the storage system in different time periods. Historical performance data includes, but is not limited to, key performance indicators such as read and write times per second (1OPS), bandwidth usage, and latency. These data are essential for analyzing the performance trends of storage systems, predicting future performance, and tuning storage systems. For example, historical performance data may include the peak IOPS, average bandwidth consumption, and average latency for each day in the past week. These data can help predict the performance of the storage system under high load conditions and provide a basis for performance tuning.
[0039] Optionally, in the embodiment of the present application, the above-mentioned storage system refers to a system capable of carrying and managing data storage tasks, including but not limited to disk arrays, network attached storage or storage area networks. The above-mentioned host tasks refer to data read and write operations initiated by the host, including but not limited to database transaction processing, file read and write requests, online transaction processing or online analytical processing tasks. The above-mentioned abnormality refers to any abnormal state in the storage system, including but not limited to hardware failure, software error, network interruption or performance bottleneck.
[0040] It should be noted that the host tasks in the storage system can be various forms of data operations, including but not limited to database query, file transfer, video stream processing, etc. These tasks have different performance requirements for the storage system. For example, database query may focus more on IOPS, while video stream processing may focus more on bandwidth. This application does not limit this. The anomaly of the first node may be caused by various reasons such as hardware failure, software crash, network problem, etc. The detection and processing mechanism of these anomalies can be based on automatic detection of the monitoring system or manual intervention. This application does not limit this.
[0041] Optionally, in an embodiment of the present application, the first node and the second node refer to two key components in the storage system, which may be physical storage devices, such as a disk array, or logical storage partitions. The two nodes work together to achieve high data availability and business continuity. For example, the first node may be responsible for processing daily data read and write requests, while the second node serves as a backup to store a copy of the data of the first node. When the first node fails, the second node can take over the task to ensure that data is not lost and the business can continue to run. This synchronous storage setting improves the reliability of the data and allows for rapid recovery in the event of a failure.
[0042] It should be noted that the synchronous storage of the first node and the second node can be implemented using a variety of technologies, including but not limited to mirroring, replication, snapshots, etc. These technologies have different performances and applicable scenarios in terms of data consistency, synchronization delay, resource consumption, etc. This application does not limit this.
[0043] Optionally, in an embodiment of the present application, the above-mentioned initial performance indicators refer to performance parameters preset by the user based on business requirements and system capabilities, and these parameters serve as the starting point for performance tuning. The initial performance indicators may include but are not limited to expected IOPS values, bandwidth requirements, latency requirements, etc. These indicators are crucial for evaluating whether the storage system can meet business needs. For example, a database application may require at least 10,000 IOPS and a latency of less than 5 milliseconds to ensure its performance. Users can configure the storage system based on these initial performance indicators to ensure that the business can still run smoothly under high load conditions.
[0044] It should be noted that the initial performance indicators input by the user can be derived based on different business requirements and historical data analysis. For example, the financial industry may focus more on low latency, while video services may focus more on high bandwidth. The setting of the initial performance indicators can be static or dynamically adjusted to adapt to changes in business load. This application does not limit this.
[0045] Optionally, in an embodiment of the present application, the above-mentioned predicted performance index refers to future performance predicted by an algorithm based on historical performance data and current system status. Predicted performance indicators can help users understand the performance level that a storage system may achieve under different loads and configurations. For example, a predictive performance indicator can predict that under high load conditions, the IOPS of a storage system may drop to 8,000, or that bandwidth usage may reach a peak during a specific time period. These predictions are very useful for users because they can adjust business strategies based on these predictions, or perform performance tuning in advance to avoid potential performance issues.
[0046] It should be noted that the generation of the prediction performance index can be based on a variety of algorithms and models, including but not limited to machine learning, time series analysis, statistical prediction, etc. These methods have their own advantages in terms of accuracy, complexity and resource consumption. This application does not limit this.
[0047] Optionally, in an embodiment of the present application, the above-mentioned target performance indicators refer to the expected performance levels determined by the user based on business requirements and system capabilities. These indicators are the ultimate goals of performance tuning, and they define the expected values of system performance, such as the maximum allowed latency, minimum IOPS requirements, etc. The target performance indicators are key references in the performance tuning process, and they directly affect the setting of performance tuning configuration parameters. For example, if the target performance indicator of an online transaction processing system is to ensure that 99% of requests are responded to within 10 milliseconds, then the performance tuning configuration parameters will be set around this goal to ensure that the system can meet this performance requirement.
[0048] It should be noted that the target performance indicator can be determined based on a variety of factors, including business priority, service level agreement (SLA), cost-benefit analysis, etc. These factors can help users balance performance and cost. This application does not limit this.
[0049] Optionally, in an embodiment of the present application, the above-mentioned performance tuning configuration parameters refer to a series of parameters used to adjust the storage system to meet the target performance indicators. These parameters may include I / O priority settings, CPU allocation, cache strategy, RAID configuration, etc. The setting of performance tuning configuration parameters directly affects the performance of the storage system, and they can be dynamically adjusted according to the target performance indicators. For example, if the target performance indicator requires an increase in IOPS, then the performance tuning configuration parameters may increase the I / O priority of the storage system, or adjust the RAID settings to increase the read and write speeds.
[0050] It should be noted that the determination of performance tuning configuration parameters may involve multiple levels, including parameter adjustment at the operating system level, configuration optimization of storage hardware, adjustment of network settings, etc. The adjustment of these parameters may be manual or automatic, depending on the intelligent tuning algorithm of the system. This application does not limit this.
[0051] Optionally, in an embodiment of the present application, the above-mentioned data synchronization task refers to the process of synchronizing the data difference between the first node and the second node. This task ensures that the data on the two nodes remain consistent, and the integrity of the data can be maintained even if the first node fails. The data synchronization task may include operations such as data replication, data verification, and log application. This task is crucial to ensuring the consistency and reliability of data, especially in storage active-active fault recovery scenarios. For example, when the first node returns to normal, the data synchronization task will synchronize the difference data generated by the second node during the failure of the first node back to the first node to ensure that the data of the two nodes are completely consistent.
[0052] It should be noted that the way in which the data synchronization task and the host task share target resources can be statically allocated or dynamically scheduled, which depends on business requirements and system performance. For example, under high load conditions, more complex scheduling strategies may be required to ensure the performance of key tasks. This application does not limit this.
[0053] Optionally, in an embodiment of the present application, the above-mentioned target resources refer to the resources in the storage system used to execute host tasks and data synchronization tasks, and these resources include but are not limited to CPU resources, memory resources, I / O channels, storage space, etc. The allocation method of the target resources directly affects the performance of the storage system, so it is necessary to reasonably allocate them according to the performance tuning configuration parameters. For example, if the performance tuning configuration parameters require that host tasks be processed first, then more CPU resources and I / O channels may be allocated to host tasks to ensure that the performance requirements of the host tasks are met. At the same time, data synchronization tasks will also be scheduled according to the remaining resources to ensure the efficiency of data synchronization and the performance requirements of the host tasks.
[0054] For example, the following is a specific application scenario and its implementation process:
[0055] S1: Get historical performance data:
[0056] In the banking business system, the storage system needs to carry a large number of transaction data processing tasks. These host tasks are set to be stored synchronously by the first node and the second node in the storage system to ensure high data availability and business continuity. The system monitors and records the performance data of these tasks in real time, including key indicators such as IOPS, bandwidth utilization, and response latency.
[0057] S2: Handle the first node exception:
[0058] When the first node is abnormal due to hardware failure or software error, the system will automatically switch all new host tasks to the second node for storage to ensure uninterrupted business. At the same time, the system will record this abnormal event and use it as part of the historical performance data for subsequent performance analysis and prediction.
[0059] S3: Performance prediction after the first node returns to normal:
[0060] Once the first node is back to normal, the system generates predictive performance indicators based on the initial performance indicators entered by the user (for example, the maximum allowable latency of transaction processing) and historical performance data (including performance data during abnormal periods). These predictive indicators can help banks predict the performance of storage systems under different business loads, such as predicting IOPS and bandwidth requirements under high transaction volumes.
[0061] S4: Determine target performance indicators:
[0062] The bank's operations team will determine target performance indicators through target interaction based on business needs and predicted performance indicators. For example, in order to ensure fast response to customer transactions, the operations team may set a goal that the response delay of all transactions should not exceed 5 milliseconds.
[0063] S5: Execute data synchronization task:
[0064] Based on the determined target performance indicators, the system automatically adjusts the performance tuning configuration parameters, such as adjusting the I / O priority and CPU allocation ratio, to optimize the performance of the data synchronization task. The data synchronization task synchronizes the difference data between the first node and the second node to ensure data consistency. At the same time, these tasks share target resources with the host tasks, such as CPU and I / O channels, and their allocation method is specified by the performance tuning configuration parameters.
[0065] Through the above process, the banking business system can achieve high performance and high reliability of the storage system. When an abnormality occurs in the first node, the system can seamlessly switch to the second node to ensure business continuity. After the first node returns to normal, the system can intelligently adjust performance parameters based on historical and predicted performance data to meet business needs. This intelligent tuning mechanism not only improves the efficiency of data synchronization and reduces the risk of business interruption, but also reduces operation and maintenance costs, because the system can automatically adjust performance parameters and reduce the need for manual intervention. In addition, by optimizing resource allocation, the system can better balance the performance requirements of host tasks and data synchronization tasks, ensuring that the performance of key businesses is prioritized, thereby improving customer satisfaction and business competitiveness.
[0066] As an optional solution, when the first node returns to normal, a predicted performance indicator is generated and displayed based on the initial performance indicator input by the user and the historical performance data, including: obtaining the initial performance indicator input by the user; generating a predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the predicted performance indicator represents the performance indicator predicted according to the performance tuning configuration parameters; and displaying the predicted performance indicator.
[0067] Optionally, in an embodiment of the present application, the initial performance indicators input by the user refer to a set of baseline performance parameters input by the user based on business requirements and expected service quality, which provide a starting point for the performance tuning system for analysis and prediction in combination with historical performance data. The initial performance indicators may include but are not limited to IOPS value, bandwidth utilization, response time, etc. For example, in an online trading platform, the user may set the initial performance indicator to an IOPS value of not less than 5000 to ensure the timeliness of transaction processing; or set the bandwidth utilization rate to not less than 80% to meet the needs of large-scale data transmission.
[0068] It should be noted that obtaining the initial performance indicators input by the user can be done in a variety of ways, including but not limited to direct input through a graphical user interface, input through a command line tool, or automatic import through an API interface. These input methods can be selected according to the user's technical proficiency and operating habits to improve the convenience and efficiency of the operation. This application does not limit this. The process of generating predicted performance indicators based on initial performance indicators and historical performance data can adopt a variety of algorithms, including but not limited to machine learning algorithms, statistical analysis methods, time series prediction techniques, etc. These algorithms can be selected according to the characteristics of the data and different business needs to improve the accuracy and reliability of the prediction. This application does not limit this.
[0069] Optionally, in an embodiment of the present application, the above-mentioned display of predicted performance indicators refers to displaying the predicted performance indicators to the user in graphical or textual form so that the user can intuitively understand the performance expectations of the storage system. The display of predicted performance indicators may include but is not limited to charts, line graphs, bar graphs, tables and the like. For example, in the management interface of a storage system, the predicted performance indicators can be displayed in the form of real-time updated charts, and users can see the changing trends of the predicted IOPS values and bandwidth utilization rates in different time periods; or in the system report, the predicted performance indicators can be listed in a table to show in detail the performance prediction results under different configuration parameters. Such a display method helps users adjust performance tuning strategies based on the prediction results to meet business needs and performance goals.
[0070] It should be noted that the display of predicted performance indicators can be in a variety of display forms, including but not limited to real-time charts, historical trend charts, forecast reports, etc. These display forms can be customized according to the user's preferences and business analysis needs to provide intuitive and easy-to-understand performance forecast information. This application does not limit this. The application scenarios of predicted performance indicators are very wide and can be applied to multiple fields such as database management, cloud computing services, and big data processing. In these fields, predicted performance indicators can help users optimize resource allocation, improve service quality, and reduce operating costs. This application does not limit this.
[0071] By way of example, the following is a specific implementation process of storage system performance management in a data center environment:
[0072] S 1: Get initial performance indicators from user input:
[0073] In a data center, system administrators enter initial performance indicators through the management interface. These indicators are based on business requirements and service quality agreements (SLAs). For example, administrators may set IOPS to not be less than 10,000, bandwidth to not be less than 1Gbps, and response time to not exceed 10 milliseconds. These indicators reflect the performance requirements of key business applications.
[0074] S2: Collect historical performance data:
[0075] The system automatically collects historical performance data from the storage system, including past IOPS, bandwidth usage, response time, etc. This data can come from different time periods, such as hourly, daily or weekly averages, as well as peak and valley data. Historical data provides the basis for performance prediction.
[0076] S3: Generate prediction performance indicators:
[0077] Based on the initial performance indicators entered by the user and the historical performance data collected, the system uses built-in algorithm models, such as linear regression, time series analysis, or machine learning models, to predict future performance indicators. The prediction model takes into account a variety of factors, including business growth trends, seasonal fluctuations, historical performance bottlenecks, etc. For example, if historical data shows that business volume grows by 20% each year, the prediction model will take this trend into account and predict the IOPS and bandwidth requirements for the next few months.
[0078] S4: Adjust performance tuning configuration parameters:
[0079] The system automatically adjusts the storage system's performance tuning configuration parameters based on predicted performance indicators and preset performance tuning rules. For example, if the forecast shows that bandwidth demand will increase in the future, the system may allocate more network resources in advance or adjust the RAID configuration to improve read and write performance.
[0080] S5: Displays the prediction performance indicators:
[0081] The system displays the predicted performance indicators in a graphical manner on the management interface, including predicted IOPS, bandwidth, response time, etc. These indicators can help administrators understand the possible performance of the storage system in the future and make corresponding resource adjustments and optimization decisions.
[0082] Through the above process, the data center can realize the active management and optimization of storage system performance. First, by obtaining the initial performance indicators input by the user, the system can understand the performance requirements of the business. Secondly, by combining historical performance data and prediction models, the system can predict future performance trends, which helps to identify potential performance bottlenecks in advance. Then, by automatically adjusting the performance tuning configuration parameters, the system can ensure that the storage system can quickly adapt and maintain optimal performance when business needs change. Finally, displaying the predicted performance indicators provides decision support for administrators, allowing them to adjust resource allocation and business strategies based on the prediction results, thereby improving service quality, reducing costs, and improving overall business continuity. This intelligent performance management not only improves the performance and reliability of the storage system, but also reduces human errors and operation and maintenance workload, providing strong support for the efficient operation of the data center.
[0083] As an optional solution, the management interface of the storage system is used to display historical performance data; the above method also includes: when there is an abnormality in the first node, an alarm prompt message is displayed in the management interface; displaying predicted performance indicators, including: when the first node returns to normal, a parameter setting interface is displayed in the management interface, wherein the parameter setting interface includes predicted performance indicators.
[0084] Optionally, in an embodiment of the present application, the management interface of the above-mentioned storage system refers to a user interactive platform that allows administrators to monitor, configure and manage various functions and performance parameters of the storage system. The management interface usually includes a graphical user interface (GUI) that displays real-time data, historical trends, configuration options and system status. For example, the management interface can display historical data of key performance indicators such as IOPS, bandwidth utilization and response time of the storage system, and provide a visual display of data synchronization status, resource allocation and performance tuning configuration. The management interface can be a local console, a remote web interface or dedicated management software.
[0085] It should be noted that the management interface of the storage system is used to display historical performance data, which may include statistical information at different time granularities, such as average IOPS, bandwidth utilization, and response time per hour, day, or week. These historical data can be analyzed from multiple dimensions, including time series analysis, comparative analysis of business peaks and troughs, and performance comparative analysis of different storage resources. The management interface can intuitively display this information in the form of charts, graphs, or data tables to help administrators understand the performance trends and patterns of the system. This application does not limit this.
[0086] Optionally, in an embodiment of the present application, the above-mentioned alarm prompt message refers to a warning message sent by the system to the administrator through the management interface when an abnormality is detected in the first node. This information is intended to promptly notify the administrator to pay attention to and deal with potential problems to avoid business interruption or data loss. The alarm prompt message may include the type, time, scope of impact and recommended action steps of the abnormality. For example, if the disk array of the first node fails, the alarm prompt message may detail the location of the failed disk, the estimated repair time, and recommend immediate checking of backups or switching to the second node to ensure business continuity.
[0087] It should be noted that when an abnormality occurs in the first node, an alarm prompt message is displayed in the management interface. These alarms can be based on different abnormality types, such as hardware failure, software error, network problem or performance degradation. Alarm prompt messages can be classified from multiple dimensions, including the urgency of the alarm, the scope of impact and the possible business impact. The alarm message can include fault diagnosis information, the timestamp of the fault, the estimated recovery time and the recommended response measures. In addition, the alarm prompt can be integrated into email, text message or instant messaging tools to ensure that the administrator can receive notifications in a timely manner. This application does not limit this.
[0088] Optionally, in an embodiment of the present application, the above-mentioned parameter setting interface refers to the part of the management interface used to adjust and configure the performance parameters of the storage system. This interface allows administrators to set and adjust various performance-related parameters according to business needs and performance goals. The parameter setting interface may include input boxes, drop-down menus, sliders and other controls for entering and adjusting predicted performance indicators such as IOPS, bandwidth, and latency. For example, an administrator can set the expected IOPS value through the parameter setting interface to ensure the performance of database transaction processing; or adjust bandwidth allocation to optimize the user experience of video streaming services. The parameter setting interface is designed to provide an intuitive, easy-to-use tool to help administrators optimize the performance of storage systems to meet business needs.
[0089] It should be noted that when the first node returns to normal, the parameter setting interface is displayed in the management interface. This interface may include a variety of configuration options, such as I / O scheduling strategy, storage pool configuration, RAID level and cache strategy. The parameter setting interface can provide customized performance tuning from multiple dimensions, including adjusting resource allocation according to business needs, optimizing configuration parameters according to performance prediction results, and adjusting system settings according to historical performance data. In addition, the parameter setting interface can provide real-time feedback, displaying the adjusted predicted performance indicators, to help administrators evaluate the tuning effect. This application does not limit this.
[0090] Through the embodiment of the present application, the management interface of the storage system is used to display historical performance data. By displaying an alarm prompt message when an abnormality occurs in the first node and providing a parameter setting interface when it returns to normal, the purpose of real-time monitoring and intelligent management of the storage system performance is achieved, thereby achieving the technical effect of improving data reliability and system efficiency. First, the management interface displays historical performance data so that administrators can analyze the performance trends and patterns of the storage system, which provides data support for performance optimization. Secondly, when an abnormality occurs in the first node, the management interface immediately displays an alarm prompt message. This mechanism ensures that the problem can be quickly identified and responded to, reducing the impact of system failures on the business. Finally, after the first node returns to normal, the management interface provides a parameter setting interface, including predicted performance indicators, so that the administrator can adjust the system configuration according to the predicted results to optimize performance and resource allocation. This series of measures work together to not only improve the response speed and processing power of the system, but also enhance the reliability of data, and realize intelligent management and optimization of storage system performance.
[0091] As an optional solution, historical performance data generated by the storage system in the process of carrying out host tasks is obtained, including: when it is necessary to execute host tasks and data synchronization tasks at the same time, performance indicators associated with host tasks and data synchronization tasks are obtained according to preset time granularity; historical performance data is generated based on the performance indicators.
[0092] Optionally, in an embodiment of the present application, the above-mentioned data synchronization task refers to the process of copying data from one node to another node in the storage system to ensure data consistency and reliability. The performance indicators of the data synchronization task include but are not limited to data replication rate, synchronization delay and data consistency error rate. For example, in a multi-data center environment, the data synchronization task may involve copying transaction data from one data center to another data center to achieve disaster recovery and load balancing.
[0093] Optionally, in the embodiment of the present application, the above-mentioned preset time granularity refers to the frequency at which the system collects performance data at a predetermined time interval, and this time interval can be seconds, minutes, hours, etc. The selection of the preset time granularity depends on the business requirements and the availability of system resources. For example, for a business that requires real-time monitoring, a time granularity of every second or every minute may be selected to collect performance data, while for a business that does not require such fine monitoring, a time granularity of every hour or every day may be selected.
[0094] It should be noted that, in the case where the host task and the data synchronization task need to be executed simultaneously, there are multiple implementation forms for obtaining performance indicators according to the preset time granularity. These implementation forms may include but are not limited to real-time monitoring, timed acquisition, and event-driven acquisition. Real-time monitoring can obtain the performance indicators of the host task and the data synchronization task in a timely manner by continuously tracking the system performance; timed acquisition can regularly record performance data within a set time interval, such as every minute, every hour, or every day; event-driven acquisition triggers the recording of performance data when a specific event occurs, such as automatically recording the current performance indicator when the system load exceeds a certain threshold. This application does not limit this. The selection of the preset time granularity can be adjusted according to different business requirements and system resources. The time granularity can be seconds, minutes, hours, etc., and the specific selection depends on the nature of the task and the requirements for performance monitoring. For example, for high-frequency trading systems, a time granularity of seconds may be required to capture instantaneous performance changes; for data backup tasks, a time granularity of hours may be selected to reduce system overhead; in some low-frequency applications, even a time granularity of days may be selected for performance monitoring. This application does not limit this.
[0095] Optionally, in the embodiments of the present application, the above-mentioned performance indicators refer to key parameters for measuring the operating status and efficiency of the storage system, including but not limited to IOPS, throughput, response time, CPU and memory usage, etc. The collection and analysis of performance indicators are essential for evaluating system performance, predicting potential problems, and optimizing resource allocation. For example, in a cloud storage service, performance indicators may include the access frequency and data transfer volume of each storage bucket, which can help service providers optimize storage resource allocation and improve service quality.
[0096] It should be noted that the types of performance indicators can be defined in a variety of ways according to the characteristics of the host tasks and data synchronization tasks. These indicators may include, but are not limited to, IOPS, bandwidth utilization, response time, CPU and memory utilization, etc. For example, in database applications, IOPS and response time are key performance indicators; in file transfer tasks, bandwidth utilization and transmission delay are more important; in virtualized environments, CPU and memory utilization may be the main indicators for evaluating performance. This application is not limited to this. There may also be multiple forms of generating historical performance data based on performance indicators. These forms may include data aggregation, data storage, and data analysis. For example, data aggregation can aggregate performance indicators of different time granularities into daily averages, weekly averages, etc.; data storage can save historical performance data in a database for subsequent query and analysis; data analysis can use statistical methods or machine learning algorithms to conduct in-depth analysis of historical performance data to identify performance trends and potential problems. This application is not limited to this.
[0097] Through the embodiments of the present application, a preset time granularity is used to obtain performance indicators of host tasks and data synchronization tasks, and historical performance data is generated based on these performance indicators, so as to achieve the purpose of accurately monitoring and analyzing the performance of the storage system, thereby realizing the technical effect of optimizing the performance of the storage system and improving data reliability.
[0098] As an optional solution, generating historical performance data based on performance indicators includes: generating first historical performance data based on key performance indicators associated with host tasks and data synchronization tasks, wherein the key performance indicators include at least one of the following: read and write times per second, bandwidth, and latency; generating second historical performance data based on secondary performance indicators associated with host tasks and data synchronization tasks, wherein the secondary performance indicators include at least one of the following: CPU utilization, block size, cache usage, and network transmission time; and merging the first historical performance data and the second historical performance data into historical performance data.
[0099] Optionally, in an embodiment of the present application, the above-mentioned key performance indicators refer to those main parameters that directly affect the performance of the storage system and the user experience, including but not limited to the number of reads and writes per second (IOPS), bandwidth and latency. The number of reads and writes per second measures the ability of the storage system to handle input / output requests, which is particularly important for applications such as databases and online transaction processing that have extremely high requirements for response speed. Bandwidth refers to the rate of data transmission. For application scenarios that require a large amount of data transmission, such as video stream processing and large-scale data analysis, bandwidth is a key performance indicator. Latency refers to the time interval from the initiation of an I / O request to the completion of the processing. For businesses that require a fast response, such as online games and high-frequency trading systems, the length of the latency directly affects the user experience. Monitoring and recording of these key performance indicators is crucial for evaluating and optimizing the performance of storage systems.
[0100] It should be noted that when generating the first historical performance data based on the key performance indicators associated with the host task and the data synchronization task, the selection of key performance indicators can be diversified according to different business needs and system characteristics. For example, for an online trading system, the number of reads and writes per second may be the most critical indicator because it directly affects the transaction processing speed; for video streaming services, bandwidth and latency are more important because they determine the smoothness of video playback. In addition, the threshold settings of key performance indicators can also be adjusted according to the peak hours and performance requirements of different businesses. This application does not limit this.
[0101] Optionally, in an embodiment of the present application, the above-mentioned secondary performance indicators refer to those parameters that, although not as directly affecting the user experience as the key performance indicators, still have an important impact on the system performance, including but not limited to CPU utilization, block size, cache usage and network transmission time. CPU utilization reflects the workload of the processing unit and has an important impact on the overall performance and stability of the system. Block size refers to the size of the allocation unit when data is stored, which affects data access efficiency and storage space utilization. Cache utilization involves the effective use of data cache, which plays an important role in improving data access speed and reducing latency. Network transmission time involves the transmission efficiency of data in the network, which is particularly important for distributed storage systems and remote data synchronization. Monitoring of these secondary performance indicators helps to deeply analyze system performance and assist in system optimization.
[0102] It should be noted that when the second historical performance data is generated based on the secondary performance indicators associated with the host task and the data synchronization task, the monitoring of the secondary performance indicators can help to deeply analyze the performance bottlenecks and potential problems of the system. For example, CPU utilization can reflect whether the processing power of the system is fully utilized; block size and cache usage can affect the efficiency of data reading and writing; network transmission time involves the efficiency of data transmission in the network. The monitoring of these secondary performance indicators can be selected and configured according to different system architectures and business scenarios to meet different performance analysis requirements. This application is not limited to this.
[0103] Optionally, in an embodiment of the present application, the above-mentioned process of merging the first historical performance data and the second historical performance data into historical performance data refers to integrating the historical data of key performance indicators and secondary performance indicators to form a comprehensive system performance profile. This merging can be achieved through data fusion technology to ensure that performance data from different sources and types can be aligned in time series and can be referenced to each other. The merged historical performance data not only includes key indicators that have a direct impact on system performance, but also secondary indicators that have auxiliary analysis value for system performance, providing system administrators with a comprehensive performance analysis view, which helps to more accurately diagnose problems, predict performance trends, and formulate optimization strategies.
[0104] It should be noted that in the process of merging the first historical performance data and the second historical performance data into historical performance data, the merging method can be diversified according to the type of data and the purpose of analysis. For example, the data of different indicators can be merged through time series alignment to facilitate comparative analysis on the same time axis; the degree of influence of different indicators can also be combined through data weighting to obtain a comprehensive performance score; data from different sources can also be integrated through data fusion technology to build a comprehensive system performance profile. These merging methods can be selected and adjusted according to the specific needs and analysis objectives of the system. This application is not limited to this.
[0105] Through the embodiment of the present application, a method for monitoring the key performance indicators and secondary performance indicators of host tasks and data synchronization tasks is adopted, and the first historical performance data and the second historical performance data generated by these indicators are merged, so as to achieve the purpose of comprehensively recording and analyzing the performance of the storage system, thereby achieving the technical effect of comprehensively evaluating and optimizing the performance of the storage system. This process involves monitoring key performance indicators such as the number of reads and writes per second, bandwidth, and latency, as well as tracking secondary performance indicators such as CPU utilization, block size, cache usage, and network transmission time, ensuring the comprehensiveness and accuracy of performance data. The merged historical performance data can provide system administrators with a complete performance view, which helps to identify performance bottlenecks, predict future trends, and formulate corresponding tuning strategies to improve the overall efficiency and reliability of the storage system.
[0106] As an optional solution, historical performance data generated by the storage system in the process of carrying host tasks is obtained, including: obtaining multiple business cycles set for the host business; sampling data for each business cycle based on multiple sampling granularities to determine the average values of multiple groups of data; generating historical performance data based on the average values of multiple groups of data, and storing them separately according to multiple business cycles.
[0107] Optionally, in an embodiment of the present application, the above-mentioned business cycle refers to different time periods for the operation of the host business, and these time periods can be divided according to the operating characteristics of the business and the needs of performance monitoring. Business cycles may include, but are not limited to, working days and non-working days, business peak hours and non-peak hours, specific events or promotional periods, etc. For example, in the retail industry, business cycles may include holiday sales peaks, daily business hours, and seasonal promotions; in the financial services industry, business cycles may include the opening and closing hours of trading days, month-end settlement cycles, etc. The setting of these business cycles helps to monitor and analyze the business operation status in a targeted manner, thereby optimizing performance tuning strategies.
[0108] It should be noted that the multiple business cycles set for the host business can be diversified according to the characteristics and business needs of different industries. For example, in the financial services industry, the business cycle may be related to the trading time, including the opening and closing periods; in the e-commerce industry, the business cycle may be related to promotional activities, such as "Double Eleven", "Black Friday" and other shopping festivals. In addition, the business cycle can also be set according to the regularity of data changes, such as daily cycle, weekly cycle or monthly cycle, to meet different analysis needs. This application is not limited to this.
[0109] Optionally, in an embodiment of the present application, the above-mentioned sampling granularity refers to the time interval or data volume size used in the data sampling process, and these intervals or sizes can be adjusted according to the precision requirements of performance monitoring and the availability of system resources. The sampling granularity may include but is not limited to seconds, minutes, hours, etc. For example, in a high-frequency trading system that requires real-time monitoring, a sampling granularity of seconds or minutes may be used to capture instantaneous performance changes; when performing trend analysis on daily business, a sampling granularity of hours or days may be used to reduce the amount of data and reduce the system load. Reasonable sampling granularity settings can effectively utilize storage and computing resources while ensuring data representativeness.
[0110] It should be noted that when data is sampled for each business cycle based on multiple sampling granularities, the selection of sampling granularity can be very flexible. For example, for businesses that require real-time monitoring, a sampling granularity of seconds or minutes may be used; and for trend analysis, a sampling granularity of hours or days may be used. The sampling granularity can also be dynamically adjusted according to changes in business load, such as increasing the sampling frequency during business peaks and reducing the sampling frequency during off-peak periods. In addition, the selection of sampling granularity is also limited by system performance and storage capacity. This application does not limit this.
[0111] Optionally, in an embodiment of the present application, the above-mentioned average values of multiple sets of data refer to a set of values obtained by averaging the data collected in each business cycle at different sampling granularities. These average values may include, but are not limited to, key performance indicators such as average IOPS, average bandwidth utilization, and average response time. For example, when monitoring the business cycle of a database system, the average IOPS in each business cycle can be calculated to evaluate the processing capacity of the system; or the average response time can be calculated to evaluate the response speed of the system. The calculation of the average values of multiple sets of data helps to grasp the performance within the business cycle from a macro perspective and provide a basis for performance prediction and tuning.
[0112] It should be noted that when historical performance data is generated based on the average values of multiple groups of data, these data can be used for a variety of analysis purposes. For example, historical performance data can be used to identify performance bottlenecks and discover potential performance problems by comparing the average IOPS and bandwidth utilization rates of different business cycles; it can be used to predict future performance trends and predict the impact of business growth on system performance by analyzing historical data; it can also be used to formulate performance optimization strategies and adjust resource allocation and system configuration through historical data analysis. In addition, the storage of historical performance data can adopt different data structures and database systems to meet different query and analysis efficiency requirements. This application is not limited to this.
[0113] Optionally, in an embodiment of the present application, the above-mentioned historical performance data refers to a data set generated based on the average value of multiple groups of data, reflecting the performance of the host business in different business cycles. These data sets may include, but are not limited to, long-term performance trends, periodic performance fluctuations, abnormal performance events, etc. For example, in a cloud computing environment, historical performance data can record resource usage in different business cycles to help cloud service providers schedule and optimize resources; in large enterprises, historical performance data can be used to analyze the stability and reliability of business systems and guide IT departments to upgrade and maintain systems. Storing historical performance data separately according to multiple business cycles helps to compare and analyze performance changes on different time scales and provide support for business decision-making.
[0114] Through the embodiment of the present application, a method of setting multiple business cycles for host business is adopted. By sampling data based on multiple sampling granularities for each business cycle and determining the average values of multiple groups of data, the purpose of accurately capturing changes in system performance in different time periods is achieved, thereby achieving the technical effect of detailed analysis and optimization of storage system performance. This process allows the system to flexibly adjust the sampling strategy according to the characteristics and needs of the business cycle to ensure that the collected performance data is both comprehensive and representative. By generating historical performance data from these data averages and storing them separately according to business cycles, a solid data foundation can be provided for subsequent performance trend analysis, fault diagnosis and resource planning, thereby improving the overall performance and reliability of the storage system.
[0115] As an optional solution, after obtaining the historical performance data generated in the process of the storage system carrying the host task, the above method also includes: when the historical performance data includes delay, generating a delay threshold based on the historical delay, wherein the historical performance data includes historical delay; when it is detected that the current delay of the host task and the delay threshold meet the preset conditions, determining that there is an abnormality in the first node.
[0116] Optionally, in an embodiment of the present application, the above-mentioned historical delay refers to the delay data recorded by the storage system in the process of processing host tasks, which reflects the time from the initiation of the I / O request to the completion of the processing. Historical delay is one of the key indicators for evaluating system performance, which directly affects the efficiency of business processing and user experience. Historical delay data includes but is not limited to I / O request response time in different business cycles and different time periods, for example, the average response time of database queries, the average delay of file transfers, etc. By analyzing these historical delay data, the bottlenecks and abnormal modes of system performance can be identified, providing a basis for performance optimization.
[0117] It should be noted that the historical delays included in the historical performance data can be recorded and analyzed in a variety of ways according to different business scenarios and performance requirements. These delay data can be considered from multiple dimensions, including but not limited to the average delay, peak delay and distribution of delays in different time periods. For example, in the financial services industry, historical delays may include the average response time and peak response time of transaction processing; in cloud services, they may include the response time distribution of user requests in different time periods. The collection and analysis of these data helps to generate accurate delay thresholds, thereby effectively monitoring system performance. This application does not limit this.
[0118] Optionally, in an embodiment of the present application, the above-mentioned delay threshold refers to one or more thresholds set based on historical delay data, which are used to determine whether the current system performance is normal. The delay threshold can be determined based on statistical analysis methods, such as the average, median, percentile, etc. of historical delay data, and can also be set in combination with business requirements and service quality agreements (SLA). For example, in an online payment system, the delay threshold may be set to 200 milliseconds to ensure rapid response to transaction processing; in a large-scale data analysis system, the delay threshold may be set to a time of no more than 1 second to process each data batch. The setting of the delay threshold helps to detect performance degradation and anomalies in a timely manner, so that corresponding optimization measures can be taken.
[0119] It should be noted that the delay threshold generated based on historical delays can be dynamically adjusted according to a variety of factors. These factors include but are not limited to changes in business load, updates to system configuration, and the impact of the external environment. For example, during holidays or promotional activities, the business load may increase, and the delay threshold may need to be adjusted accordingly to adapt to higher performance requirements; after the system is upgraded, the performance may be improved, and the delay threshold may also be reduced. By flexibly adjusting the delay threshold, the actual performance status of the system can be more accurately reflected, and potential performance issues can be responded to in a timely manner. This application is not limited to this.
[0120] Optionally, in an embodiment of the present application, the above-mentioned preset conditions refer to a series of rules or standards for determining whether there is an abnormality in the first node. These conditions can be set based on the comparison result of the delay threshold and the current delay, including but not limited to the proportion of the current delay exceeding the delay threshold, the duration, etc. For example, if the current delay exceeds twice the set delay threshold, and this state lasts for more than 5 minutes, it can be considered that there is an abnormality in the first node. The setting of preset conditions needs to comprehensively consider the tolerance of the business, the stability of the system and the possible causes of the abnormality to ensure the accuracy and timeliness of abnormality detection. In this way, performance anomalies can be responded to quickly, the risk of business interruption can be reduced, and the reliability and service quality of the system can be improved.
[0121] It should be noted that when it is detected that the current delay of the host task and the delay threshold meet the preset conditions, there are multiple ways to implement the method of determining that the first node has an abnormality. The preset conditions may include the duration of the delay exceeding the threshold, the amplitude exceeding the threshold, and the number of times the abnormality occurs. For example, the preset condition may be that the current delay exceeds 50% of the threshold for 10 consecutive minutes, or exceeds the threshold 3 times within 1 hour. In addition, the preset conditions can also be combined with other performance indicators, such as CPU utilization or memory usage, for comprehensive judgment. By comprehensively considering the preset conditions of multiple dimensions, the abnormal situation of the first node can be more accurately identified and located, so that corresponding maintenance measures can be taken. This application is not limited to this.
[0122] Through the embodiments of the present application, a method for generating delay thresholds by collecting and analyzing delay information in historical performance data is adopted. By comparing the current delay of the host task with these preset delay thresholds in real-time monitoring, the purpose of timely detecting and identifying the performance anomaly of the first node is achieved, thereby achieving the technical effect of improving the reliability and response speed of the storage system. The historical delay data reflects the performance of the system under normal operating conditions, and the delay thresholds generated based on these data can be used as a performance benchmark. When real-time monitoring finds that the current delay exceeds these thresholds and meets the preset conditions (such as the magnitude and duration of the excess), it can be inferred that the system may have encountered an abnormal situation and needs to take corresponding maintenance or optimization measures. This method can reduce the impact of system failures and ensure business continuity and performance stability.
[0123] As an optional solution, in response to a target interaction operation, a target performance indicator is determined from the predicted performance indicators, and a data synchronization task is performed based on the performance tuning configuration parameters determined by the target performance indicator, including: in response to the target interaction operation, the target performance indicator is determined from the predicted performance indicators according to the business period, wherein different business periods correspond to different target performance indicators; based on the performance of the storage system, a rationality evaluation is performed on the target performance indicator, and when the evaluation result indicates an abnormality, a prompt message is generated; when the evaluation result indicates a normal condition, the performance tuning configuration parameters are determined, and the data synchronization task is performed according to the performance tuning configuration parameters.
[0124] Optionally, in an embodiment of the present application, the above-mentioned target interaction operation refers to a series of command inputs or parameter settings performed by the user through the interface and the system, and these operations are used to guide the system to adjust performance indicators according to specific business needs. The target interaction operation may include but is not limited to selecting a specific business period, adjusting performance thresholds, setting performance monitoring parameters, etc. For example, during a promotional activity of an e-commerce platform, an administrator may increase the system's performance monitoring threshold through a target interaction operation to cope with the expected high traffic and high IOPS requirements.
[0125] It should be noted that when responding to the target interactive operation, the system can identify and execute the user's instructions based on multiple dimensions. These dimensions include but are not limited to the user's role permissions, the context of the operation, and the specific time of the operation. For example, a system administrator may adjust performance indicators before peak business hours to ensure system stability; while ordinary users may perform data backup operations during non-peak hours. The system can provide customized interactive operation responses based on the needs and permissions of different users. This application does not limit this.
[0126] Optionally, in the embodiment of the present application, the above-mentioned business period refers to a time period divided according to the characteristics and rules of business activities, and the business load and performance requirements may be different during these time periods. Business periods may include but are not limited to weekdays and weekends, holidays, promotional activity periods, etc. For example, in the retail industry, there will be obvious business peaks during business periods during shopping festivals such as Black Friday or Double Eleven. At this time, higher target performance indicators need to be set to ensure the response speed and processing capacity of the system.
[0127] It should be noted that the correspondence between business time periods and target performance indicators can be set in a variety of ways according to the characteristics of the business and historical data. These settings can be considered from three dimensions: business type, business scale, and business growth trend. For example, for e-commerce platforms, the target performance indicators during holiday shopping peak hours may involve high concurrent processing capabilities; while for the financial services industry, the target performance indicators during trading hours may focus more on low latency and high throughput. The system can set appropriate performance indicators for different business time periods based on these dimensions. This application does not limit this.
[0128] Optionally, in the embodiment of the present application, the above rationality evaluation refers to a judgment process of whether the target performance indicator meets the system performance capability. The rationality evaluation may include but is not limited to comparing the target performance indicator with historical performance data, evaluating the current system resource usage, predicting future performance trends, etc. For example, in a cloud service environment, the system may evaluate whether the current CPU and memory resources can meet the set target performance indicators. If the resources are insufficient, the system may prompt the user to reduce performance requirements or increase resource configuration.
[0129] It should be noted that when the rationality of the target performance indicator is evaluated based on the performance of the storage system, the evaluation process can be carried out from multiple dimensions. These dimensions include the current resource usage of the system, trend analysis of historical performance data, and expected changes in business load. For example, the system may evaluate whether the current CPU and memory usage can meet the set performance indicators, or predict the performance bottlenecks that may occur in a specific business period by analyzing historical data. If the evaluation result shows that the target performance indicator is set too high or too low, the system will generate a corresponding prompt message to help the user adjust the setting. This application is not limited to this. The determination of performance tuning configuration parameters and the execution of data synchronization tasks can be adjusted according to various business needs and system status. These adjustments can be made from three dimensions: business priority, urgency of data synchronization, and availability of system resources. For example, in a disaster recovery scenario where a service needs to be quickly restored, the performance tuning configuration parameters may give priority to speed rather than cost; while in conventional data backup operations, more attention may be paid to data integrity and consistency. The system will dynamically adjust the performance tuning configuration parameters and perform data synchronization tasks based on these dimensions. This application is not limited to this.
[0130] Through the embodiments of the present application, a method is adopted that responds to target interactive operations and determines target performance indicators from predicted performance indicators according to business periods. By evaluating the rationality of the performance of the storage system, and generating prompt messages or determining performance tuning configuration parameters based on the evaluation results, the purpose of accurately regulating the performance of the storage system to meet the needs of different business periods is achieved, thereby achieving the technical effect of optimizing the execution efficiency of data synchronization tasks and ensuring business continuity. Specifically, by analyzing the relationship between business periods and predicted performance indicators, the system can set appropriate target performance indicators for each business period to ensure that performance tuning matches business needs. When the system evaluation finds that the target performance indicator setting is unreasonable, the administrator can be notified in time to avoid excessive performance load or waste of resources. When the evaluation results are normal, the system automatically adjusts the performance tuning configuration parameters, executes data synchronization tasks, and ensures data consistency and high business availability.
[0131] As an optional solution, when the evaluation result indicates that everything is normal, after determining the performance tuning configuration parameters and executing the data synchronization task according to the performance tuning configuration parameters, the above method also includes: during the execution of the data synchronization task, monitoring the performance parameters of the storage system in real time to determine the performance parameters of the storage system; and updating the performance tuning configuration parameters based on the performance parameters.
[0132] Optionally, in an embodiment of the present application, the above-mentioned performance parameters refer to key indicators in the storage system for measuring and monitoring the operating status of the system, including but not limited to IOPS (input / output operations per second), throughput (data transfer rate), response time (time required for request processing), CPU and memory utilization, etc. These performance parameters can reflect the efficiency and stability of the storage system when processing data synchronization tasks. For example, when performing data backup, IOPS and throughput are key indicators for measuring data write speed; when performing database synchronization, response time and CPU utilization are more concerned because they directly affect the speed of transaction processing and the overall performance of the system. Through real-time monitoring of these performance parameters, system administrators can promptly understand the performance of the storage system under different workloads and optimize accordingly.
[0133] It should be noted that in the process of real-time monitoring of the performance parameters of the storage system during the execution of the data synchronization task, multiple performance parameters can be monitored, and these parameters can be considered from different dimensions, including but not limited to the types of performance indicators, the time granularity of monitoring, and the purpose of the monitored data. For example, the types of performance indicators can include key indicators such as IOPS, bandwidth utilization, and response time; the time granularity of monitoring can be seconds, minutes, or hours to meet different monitoring needs; the purpose of monitored data can be for performance optimization, fault diagnosis, or resource planning. This application does not limit this.
[0134] Optionally, in an embodiment of the present application, the above-mentioned performance parameters refer to specific values or statistical results obtained based on performance parameter monitoring, which reflect the actual operating status of the storage system within a specific time period. Performance parameters include, but are not limited to, average IOPS, average response time, peak bandwidth usage, average CPU load, etc. For example, during the execution of a data synchronization task, the system may record the average IOPS and average response time per hour, as well as the peak bandwidth usage during peak hours. These performance parameters are an important basis for performance tuning because they are directly related to the performance requirements of the business and user experience. By analyzing the performance parameters, the performance bottlenecks and potential risks of the system can be identified, so that the performance tuning configuration parameters can be updated in a targeted manner to improve the overall performance and stability of the system.
[0135] It should be noted that when determining the performance parameters of the storage system, these parameters can be analyzed and applied from multiple dimensions, including but not limited to the statistical methods of the parameters, the application scenarios of the parameters, and the threshold settings of the parameters. For example, the statistical methods of the parameters may include the average, maximum, minimum, and percentile; the application scenarios of the parameters may include performance assurance during business peak hours, performance comparison analysis after system upgrades, and tracking of long-term performance trends; the threshold settings of the parameters may be based on historical data, business requirements, and service quality agreements (SLAs). This application does not limit this. When updating the performance tuning configuration parameters based on the performance parameters, these updates can be adjusted according to multiple dimensions, including but not limited to the allocation of system resources, changes in business requirements, and the impact of the external environment. For example, the allocation of system resources may involve the optimization of CPU, memory, and storage resources; changes in business requirements may require adjustment of the target values of IOPS and bandwidth; the impact of the external environment may include changes in network conditions or hardware upgrades. The update of the performance tuning configuration parameters is intended to ensure that the storage system can adapt to changing business requirements and system status to maintain optimal performance and stability. This application does not limit this.
[0136] Through the embodiments of the present application, a method for real-time monitoring of the performance parameters of the storage system during the execution of the data synchronization task is adopted, and the performance tuning configuration parameters are updated based on the performance parameters obtained by monitoring, so as to achieve the purpose of dynamically optimizing the performance of the storage system to adapt to the current workload, thereby achieving the technical effect of improving data synchronization efficiency and ensuring business continuity. The reasoning process is that real-time monitoring can capture performance fluctuations and bottlenecks during data synchronization, and these performance parameters reflect the real state of the system in actual operation. Updating the performance tuning configuration parameters according to these parameters can ensure that the storage system configuration always matches the current business needs, optimize resource allocation, reduce potential performance problems, and improve the success rate and efficiency of data synchronization tasks.
[0137] As an optional solution, the method further includes: acquiring historical performance data in real time and displaying the historical performance data; when an abnormality is detected in a performance indicator related to a host task in the historical performance data, determining the abnormal node where the abnormality occurs from the first node and the second node, and displaying an alarm prompt message; when the abnormal node returns to normal, acquiring the initial performance configuration parameters, wherein the initial performance configuration parameters are used to indicate the initial allocation method of the target resources; executing the initial data synchronization task based on the initial performance configuration parameters, updating the historical performance data, and acquiring the initial performance indicators input by the user, wherein the initial data synchronization task is used to synchronize the difference data between the abnormal node and the non-abnormal node according to the initial performance configuration parameters; generating an initial predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task when the initial performance indicator represents the delay of the host task, and the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task. When the performance indicator represents the time consumption of the initial data synchronization task, the initial predicted performance indicator represents the predicted delay of the host task; a set of performance tuning configuration parameters are determined based on the historical performance data, and the initial data synchronization task is executed according to the set of performance tuning configuration parameters to determine the predicted performance indicator, wherein, when the initial performance indicator represents the delay of the host task, the predicted performance indicator represents the predicted time consumption of the initial data synchronization task after tuning, and when the initial performance indicator represents the time consumption of the initial data synchronization task, the predicted performance indicator represents the predicted delay of the host task after tuning; when the predicted performance indicator is better than the initial predicted performance indicator, in response to the target interactive operation, a target performance indicator is determined from the predicted performance indicators; based on the target performance indicator, a performance tuning configuration parameter is determined from a set of performance tuning configuration parameters, and a data synchronization task is executed, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node according to the performance tuning configuration parameters.
[0138] Optionally, in the embodiment of the present application, the real-time acquisition of historical performance data refers to the system continuously collecting the performance data of the storage system in the past operation, which includes but is not limited to key indicators such as IOPS, bandwidth usage, response time, etc. For example, in a cloud storage service, real-time acquisition of historical performance data may involve monitoring the read and write request processing speed and data transmission rate of the storage node to ensure that the performance of the service meets the user's expectations and the requirements of the service quality agreement (SLA).
[0139] Optionally, in the embodiment of the present application, the abnormal node refers to a node in the storage system that has performance degradation or service interruption due to hardware failure, software error or other reasons. For example, in a multi-node distributed storage system, a node may not be able to provide services normally due to disk damage. At this time, the system will determine that the node is an abnormal node through performance monitoring and comparison, and display an alarm prompt message so that the operation and maintenance personnel can take timely measures to repair it.
[0140] Optionally, in an embodiment of the present application, the above-mentioned initial performance configuration parameters refer to a set of parameters used to guide resource allocation and system configuration after system initialization or abnormal recovery. These parameters include but are not limited to the allocation ratio of CPU and memory, the allocation strategy of storage space, the allocation of network bandwidth, etc. For example, in a database synchronization scenario, the initial performance configuration parameters may include the priority setting of synchronization tasks, the size selection of data blocks, and the synchronization frequency, etc. These parameters will directly affect the efficiency of data synchronization and the overall performance of the system.
[0141] Optionally, in an embodiment of the present application, the above-mentioned initial data synchronization task refers to the process of synchronizing the data differences between abnormal nodes and non-abnormal nodes under the guidance of the initial performance configuration parameters. For example, during the data center migration process, the initial data synchronization task may involve copying the data of the old data center to the new data center to ensure the consistency and integrity of the data.
[0142] Optionally, in an embodiment of the present application, the above-mentioned initial predicted performance indicators refer to performance indicators predicted by algorithms based on the initial performance indicators input by the user and historical performance data. These indicators include, but are not limited to, the predicted time consumption of data synchronization tasks and the predicted latency of host tasks. For example, in a video streaming service, the initial predicted performance indicators may include the estimated time for video content to be synchronized to each node, and the estimated response time for user requests for video content.
[0143] Optionally, in an embodiment of the present application, the above-mentioned performance tuning configuration parameters refer to a set of parameters determined based on historical performance data and prediction models for optimizing system performance. These parameters include, but are not limited to, I / O scheduling strategies, cache allocation, RAID configuration, etc. For example, in a big data processing system, the performance tuning configuration parameters may involve the size of data partitions, the number of processing nodes, and the degree of parallelism of tasks, etc., to achieve high efficiency and high throughput of data processing.
[0144] For example, the following is a specific implementation process of data synchronization and performance tuning of a data center storage system:
[0145] S 1: Get historical performance data in real time and display historical performance data:
[0146] The storage system in the data center collects performance data such as IOPS, bandwidth utilization, response time, etc. in real time through built-in monitoring tools, and dynamically displays this data in the form of charts on the management interface. This data helps administrators understand the performance trends and potential problems of the system.
[0147] S2: Detect abnormal performance indicators and identify abnormal nodes:
[0148] When the monitoring system finds that a performance indicator exceeds the preset threshold, such as a sudden increase in response time, the system will automatically compare the performance data of the first node and the second node, determine which node has the abnormality through an algorithm, and display an alarm prompt message on the management interface.
[0149] S3: Get initial performance configuration parameters:
[0150] Once the abnormal node returns to normal, the system will obtain the initial performance configuration parameters from the configuration database. These parameters define the initial allocation of resources, such as the allocation ratio of CPU and memory, and the priority setting of storage resources.
[0151] S4: Perform the initial data synchronization task:
[0152] According to the initial performance configuration parameters, the system performs data synchronization tasks to synchronize the difference data between abnormal nodes and non-abnormal nodes. During the synchronization process, the system updates historical performance data and prompts users to enter initial performance indicators, such as expected latency and synchronization time.
[0153] S5: Generate initial prediction performance indicators:
[0154] The system generates the initial predicted performance indicator using the prediction algorithm based on the initial performance indicator and historical performance data entered by the user. If the initial performance indicator is the latency of the host task, the predicted indicator will be the predicted duration of the data synchronization task; conversely, if the initial performance indicator is the duration of the data synchronization task, the predicted indicator will be the predicted latency of the host task.
[0155] S6: Determine performance tuning configuration parameters:
[0156] The system determines a set of performance tuning configuration parameters based on historical performance data and prediction models, which are designed to optimize the performance of data synchronization tasks. For example, adjusting I / O priority or increasing bandwidth allocation to reduce the time spent on data synchronization.
[0157] S7: Execute the optimized data synchronization task:
[0158] According to the performance tuning configuration parameters, the system performs the data synchronization task to synchronize the difference data between the first node and the second node. During this process, the system will continuously monitor the performance indicators and adjust the tuning parameters according to the actual performance.
[0159] S8: Respond to target interaction operations and determine target performance indicators: If the tuned predicted performance indicators are better than the initial predicted performance indicators, the system will respond to the administrator's target interaction operations and determine the target performance indicators from the predicted performance indicators to guide subsequent performance tuning work.
[0160] The data center's storage system can respond quickly to performance issues and accurately tune them. Real-time monitoring and alarm mechanisms ensure that the system can detect and respond to performance anomalies in the first place, reducing the risk of business interruption. The use of performance initial configuration parameters and tuning configuration parameters enables the system to flexibly adjust resource allocation and optimize data synchronization performance according to actual business needs. The application of prediction models not only improves the accuracy of performance tuning, but also improves the system's ability to adapt to business changes. Ultimately, these measures work together to improve the performance and reliability of the data center storage system and ensure business continuity and data consistency.
[0161] Through the embodiment of the present application, a method for real-time acquisition and display of historical performance data is adopted, and the purpose of timely discovering and responding to storage system performance problems is achieved by detecting abnormalities of host task-related performance indicators in historical performance data and determining abnormal nodes to display alarm prompt messages, thereby achieving the technical effect of improving system reliability and response speed. Further, by obtaining initial performance configuration parameters after the abnormal node returns to normal, and executing initial data synchronization tasks based on these parameters, updating historical performance data, and obtaining initial performance indicators input by users at the same time, the system can generate initial predicted performance indicators to provide a basis for performance tuning. Combined with the performance tuning configuration parameters determined by historical performance data, the system can execute data synchronization tasks, predict the time or delay after tuning, and optimize data synchronization performance. When the predicted performance indicator is better than the initial predicted performance indicator, the system responds to the target interactive operation, determines the target performance indicator, and executes the data synchronization task based on these indicators, further improving the efficiency and accuracy of data synchronization. This process realizes closed-loop control from performance monitoring to tuning, ensuring that data synchronization tasks can be dynamically optimized according to real-time performance data and user input, and improving the overall performance and stability of the storage system.
[0162] The following is a further explanation of this application with reference to specific examples:
[0163] This application proposes an intelligent performance tuning system in a storage active-active fault recovery scenario. It implements performance monitoring by selecting key performance indicators and reports alarms in case of abnormalities. It combines historical business and storage capabilities to complete performance prediction during differential data synchronization, guide customers to set performance goals, trigger intelligent tuning of the storage system, and dynamically adjust it to maximize the performance of the storage system, minimize the impact on the host business, ensure that differential data is synchronized as soon as possible, restore dual copies of data, improve data reliability, and reduce manpower investment and human operational errors.
[0164] Figure 3 is a schematic diagram of a performance tuning method according to an embodiment of the present application, and an implementation scheme of a performance tuning system in a storage active-active fault recovery scenario is as follows Figure 3 shown.
[0165] The system is divided into five modules: WEB interface, performance monitoring, performance prediction, target setting, and intelligent performance tuning:
[0166] WEB interface module: A graphical interactive page provided to customers, supporting functions such as alarm display, performance data viewing, parameter setting, etc., to facilitate customer management. It can be integrated into the storage management interface as a functional module.
[0167] Performance monitoring module: Real-time detection of storage system performance, and when anomalies are detected, alarms are reported to prompt customers; historical performance data is recorded, which is the basis for performance prediction / tuning. Performance detection uses a certain time granularity (such as 5 seconds) to distinguish between host business I / O and background synchronization task I / O. A. Capture key performance data of the storage system, IOPS, bandwidth, and latency. These are the main indicators of storage system performance and key indicators for performance tuning. IOPS measures the I / O processing of the storage system. For example, database OLTP business has high IOPS requirements. Bandwidth measures the throughput of the storage system. For example, database OLAP business and video surveillance business have high bandwidth requirements. Latency refers to the time interval from initiating an I / O request to completing the I / O processing. Database OLTP business generally requires milliseconds for latency, and some industries require 1 ms for OLTP business latency, while office desktop business generally requires tens of milliseconds for latency. B. Capture the CPU utilization, block size, cache usage, network transmission time, etc. of these two types of I / O at each layer of the storage I / O stack, and can increase / reduce monitoring data as needed, and record them internally in the system as important parameters for performance tuning. Changes in I / O latency directly affect business performance. The latency value is selected as the basis for alarm judgment. At the same time, in order to avoid false alarms caused by interference, the average latency of multiple sampling granularities is calculated (for example, the I / O latency of the last 5 minutes). The alarm threshold is manually set according to business needs, or it can be selected according to the latency of the host business I / O cycle under normal circumstances (for example, some business I / O changes show a regular pattern of a 7-day cycle) (for example, select 2 times the maximum latency as the threshold). Historical performance data under normal circumstances, record business I / O and storage performance of different cycles (for example, the default is 1 day, 3 days, 7 days, and can also be manually set according to the business cycle), measure the maximum business satisfaction of storage system performance, guide customers to select alarm thresholds and performance targets in fault recovery scenarios, and also serve as a reference for storage system performance tuning; record performance data and tuning information in historical fault recovery scenarios.
[0168] Performance prediction: There are two key indicators in the storage active-active fault recovery scenario, namely the performance of host I / O (mainly latency) and the time taken to complete the synchronization of active-active differential data. Because the host business I / O and the background synchronization task I / O compete for storage system resources, the performance prediction module needs to be based on the customer's business needs. The module evaluates the duration of the entire fault recovery (background data synchronization is completed) and the host I / O latency during the period according to the established resource allocation plan for the two tasks, the performance capability of the storage system, the differential data to be synchronized, and the historical business pressure, and gives performance tuning recommendations, such as the recommended maximum bandwidth value for background task synchronization under the specified host I / O latency, or the recommended host I / O latency value under the specified time taken to complete the background synchronization task. The host business pressure has certain regularity and periodicity. The above predictions are given based on historical data of different periods, such as the business pressure 1 day, 3 days, and 7 days before the failure. The time period can also be manually specified.
[0169] The prediction example (based on the initial performance configuration parameter prediction) is shown in Table 1:
[0170]
[0171] Table 1 Performance tuning recommendation example (specified host I / O latency, predicted based on performance tuning parameters) is shown in Table 2:
[0172]
[0173]
[0174] Table 2
[0175] Target setting: Accordingly, the main target of performance tuning in the active-active storage fault recovery phase is also the host I / O latency and the time required to complete active-active differential data synchronization. You can select the appropriate target value based on the recommended value of performance prediction and business rules. For example, during daytime working hours, when you need to give priority to host business, you can set a lower latency value. During the low business peak period at night, set a higher latency value or a lower synchronization time value to ensure that differential data synchronization is completed as soon as possible and restore the dual copies of data. According to the storage performance capability, the rationality of the target value is detected. When the target value cannot be achieved or there is a risk, a prompt is given. For example, setting a very low host I / O latency target value may result in a long time for differential data synchronization to complete, and during this period, the storage has no dual data copy protection.
[0176] Intelligent performance tuning: After setting the target, the system automatically adjusts the scheduling of host I / O tasks and background synchronous I / O tasks, storage system parameters (such as CPU allocation, cache partition, RAID I / O merging algorithm, dirty data expiration time, queue depth, hard disk access algorithm, network bandwidth resource ratio) at each layer of the I / O stack, and continuously monitors the performance after tuning, establishes a self-feedback and adjustment mechanism, and dynamically optimizes in a certain period (such as 1 hour) to achieve the best storage performance. To adjust the scheduling of host I / O tasks and background synchronous I / O tasks, a simple priority scheduling algorithm can be used. When the host I / O delay requirement is high, the priority of the host I / O task is increased, and vice versa, the priority of the background synchronous task is increased. At the same time, an "aging" strategy is set to adjust the priority of the task according to the waiting time to avoid low-priority tasks from being "starved" due to waiting for the CPU. A combination of multiple scheduling algorithms (such as priority scheduling algorithm and shortest job first scheduling algorithm) can also be used, but the overhead of the system scheduling itself will increase accordingly. Storage is a complete system. The various layers of the I / O stack are interdependent. Task scheduling, CPU core allocation, RAID I / O merging algorithm, dirty data expiration time, queue depth, hard disk access algorithm, network bandwidth resource ratio and other factors affect each other. Figure 4 is a schematic diagram of a self-feedback mechanism of a performance tuning method according to an embodiment of the present application, such as Figure 4 As shown in the figure, by continuously monitoring the performance after tuning, multiple self-feedback mechanisms are established, and through continuous adjustments, various factors are balanced to achieve the best performance of the storage system.
[0177] Figure 5 is an exemplary flow chart of a performance tuning method according to an embodiment of the present application, such as Figure 5As shown in the figure, the intelligent performance tuning system in the storage active-active fault recovery scenario can be used to select key performance indicators to implement performance monitoring, report alarms in the event of anomalies, and complete performance prediction during differential data synchronization in combination with historical business and storage capabilities. It guides customers to set performance goals, triggers intelligent tuning of the storage system, and dynamically adjusts to maximize the performance of the storage system. The intelligent performance tuning system in the storage active-active fault recovery scenario is divided into five modules: WEB interface, performance monitoring, performance prediction, target setting, and intelligent performance tuning. The WEB interface module provides customers with a graphical interactive page that supports functions such as alarm display, performance data viewing, and parameter setting, which facilitates customer management. It can be integrated into the storage management interface as a functional module. The performance monitoring module detects the performance of the storage system in real time and reports an alarm to prompt the customer when an anomaly is detected. It records historical performance data as the basis for performance prediction / tuning. The performance prediction module evaluates the duration of the entire fault recovery (background data synchronization is completed) and the host I / O delay during the period according to the resource allocation plan of the host I / O task and the background synchronization I / O task, the performance capability of the storage system, the difference data to be synchronized, and the historical business pressure, and gives performance tuning recommendations. The target setting module detects the rationality of the target value and guides the customer to complete the target setting. The performance intelligent tuning module automatically adjusts the scheduling of the host I / O task and the background synchronization I / O task, storage system parameters (such as CPU allocation, cache partitioning, RAID I / O merging algorithm, dirty data expiration time, queue depth, hard disk access algorithm, network bandwidth resource ratio) at each layer of the I / O stack according to the set target value, and continuously monitors the performance after tuning, establishes a self-feedback and adjustment mechanism, and dynamically optimizes at a certain period (such as 1 hour) to achieve the best storage performance.
[0178] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0179] In this embodiment, a performance tuning device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0180] Figure 6 is a structural block diagram of a performance tuning device according to an embodiment of the present application, such as Figure 6 As shown, the device comprises:
[0181] An acquisition module 602 is used to acquire historical performance data generated in the process of the storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system;
[0182] A setting module 604, configured to set the host task to be stored by the second node when an abnormality occurs in the first node;
[0183] A generating module 606, configured to generate and display a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data when the first node returns to normal;
[0184] Processing module 608 is used to determine a target performance indicator from the predicted performance indicator in response to a target interaction operation, and execute a data synchronization task based on the performance tuning configuration parameters determined by the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task jointly use target resources, and the allocation method of the target resources is specified by the performance tuning configuration parameters.
[0185] As an optional solution, the above-mentioned device is used to generate and display a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data when the first node returns to normal in the following manner: obtaining the initial performance indicator input by the user; generating a predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the predicted performance indicator represents the performance indicator predicted according to the performance tuning configuration parameters; and displaying the predicted performance indicator.
[0186] As an optional solution, the management interface of the storage system is used to display historical performance data; the above-mentioned device is also used to: when there is an abnormality in the first node, display an alarm prompt message in the management interface; the above-mentioned device is used to display predicted performance indicators in the following manner: when the first node returns to normal, display a parameter setting interface in the management interface, wherein the parameter setting interface includes predicted performance indicators.
[0187] As an optional solution, the above-mentioned device is used to obtain historical performance data generated by the storage system in the process of carrying host tasks in the following manner, including: when it is necessary to execute the host task and the data synchronization task at the same time, obtaining performance indicators associated with the host task and the data synchronization task according to a preset time granularity; generating historical performance data based on the performance indicators.
[0188] As an optional solution, the above-mentioned device is used to generate historical performance data based on performance indicators in the following manner: generating first historical performance data based on key performance indicators associated with host tasks and data synchronization tasks, wherein the key performance indicators include at least one of the following: read and write times per second, bandwidth, and latency; generating second historical performance data based on secondary performance indicators associated with host tasks and data synchronization tasks, wherein the secondary performance indicators include at least one of the following: CPU utilization, block size, cache usage, and network transmission time; merging the first historical performance data and the second historical performance data into historical performance data.
[0189] As an optional solution, the above-mentioned device is used to obtain historical performance data generated in the process of the storage system carrying host tasks in the following manner: obtain multiple business cycles set for the host business; sample data for each business cycle based on multiple sampling granularities to determine the average values of multiple groups of data; generate historical performance data based on the average values of multiple groups of data, and store them separately according to multiple business cycles.
[0190] As an optional solution, the above-mentioned device is also used to: after obtaining the historical performance data generated in the process of the storage system carrying the host task, when the historical performance data includes the delay, generate a delay threshold based on the historical delay, wherein the historical performance data includes the historical delay; when it is detected that the current delay of the host task and the delay threshold meet the preset conditions, determine that the first node has an abnormality.
[0191] As an optional solution, the above-mentioned device is used to respond to the target interaction operation in the following manner, determine the target performance indicator from the predicted performance indicators, and perform the data synchronization task based on the performance tuning configuration parameters determined by the target performance indicators: in response to the target interaction operation, determine the target performance indicator from the predicted performance indicators according to the business period, wherein different business periods correspond to different target performance indicators; perform a rationality evaluation on the target performance indicator based on the performance of the storage system, and generate a prompt message when the evaluation result indicates an abnormality; when the evaluation result indicates a normal state, determine the performance tuning configuration parameters, and perform the data synchronization task according to the performance tuning configuration parameters.
[0192] As an optional solution, the above-mentioned device is also used to: when the evaluation result indicates that the performance tuning configuration parameters are normal, and after executing the data synchronization task according to the performance tuning configuration parameters, during the execution of the data synchronization task, monitor the performance parameters of the storage system in real time to determine the performance parameters of the storage system; and update the performance tuning configuration parameters based on the performance parameters.
[0193] As an optional solution, the above-mentioned device is also used to: obtain historical performance data in real time and display the historical performance data; when an abnormality is detected in the performance indicators related to the host task in the historical performance data, determine the abnormal node where the abnormality occurs from the first node and the second node, and display an alarm prompt message; when the abnormal node returns to normal, obtain the performance initial configuration parameters, wherein the performance initial configuration parameters are used to indicate the initial allocation method of the target resources; execute the initial data synchronization task based on the performance initial configuration parameters, update the historical performance data, and obtain the initial performance indicators input by the user, wherein the initial data synchronization task is used to synchronize the difference data between the abnormal node and the non-abnormal node according to the performance initial configuration parameters; generate an initial predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task when the initial performance indicator represents the delay of the host task, and the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task. When the performance indicator represents the time consumption of the initial data synchronization task, the initial predicted performance indicator represents the predicted delay of the host task; a set of performance tuning configuration parameters are determined based on the historical performance data, and the initial data synchronization task is executed according to the set of performance tuning configuration parameters to determine the predicted performance indicator, wherein, when the initial performance indicator represents the delay of the host task, the predicted performance indicator represents the predicted time consumption of the initial data synchronization task after tuning, and when the initial performance indicator represents the time consumption of the initial data synchronization task, the predicted performance indicator represents the predicted delay of the host task after tuning; when the predicted performance indicator is better than the initial predicted performance indicator, in response to the target interactive operation, a target performance indicator is determined from the predicted performance indicators; based on the target performance indicator, a performance tuning configuration parameter is determined from a set of performance tuning configuration parameters, and a data synchronization task is executed, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node according to the performance tuning configuration parameters.
[0194] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0195] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.
[0196] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0197] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
[0198] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0199] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.
[0200] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.
[0201] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.
Claims
1. A performance tuning method, characterized in that: include: Acquire historical performance data generated in the process of the storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system; In the case that an abnormality occurs in the first node, setting the host task to be stored by the second node; When the first node returns to normal, generating and displaying a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data; In response to a target interaction operation, a target performance indicator is determined from the predicted performance indicator, and a data synchronization task is performed based on the performance tuning configuration parameters determined by the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task jointly use target resources, and the allocation method of the target resources is specified by the performance tuning configuration parameters.
2. The method according to claim 1, characterized in that The generating and displaying of a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data when the first node returns to normal includes: Acquire the initial performance indicator input by a user; Generate the predicted performance indicator based on the initial performance indicator and the historical performance data, wherein the predicted performance indicator represents the performance indicator predicted according to the performance tuning configuration parameters; The forecast performance indicators are displayed.
3. The method according to claim 1, characterized in that The obtaining of historical performance data generated during the storage system carrying host tasks includes: In the case where the host task and the data synchronization task need to be executed simultaneously, obtaining performance indicators associated with the host task and the data synchronization task according to a preset time granularity; The historical performance data is generated based on the performance indicator.
4. The method according to claim 1, characterized in that The obtaining of historical performance data generated during the storage system carrying host tasks includes: Acquire multiple service cycles set for the host service; Performing data sampling on each of the business cycles based on multiple sampling granularities to determine average values of multiple groups of data; The historical performance data is generated based on average values of the multiple groups of data, and is stored respectively according to the multiple business cycles.
5. The method according to claim 4, characterized in that After obtaining the historical performance data generated in the process of the storage system carrying the host task, the method further includes: In a case where the historical performance data includes a delay, generating a delay threshold based on the historical delay, wherein the historical performance data includes the historical delay; When it is detected that the current delay of the host task and the delay threshold satisfy a preset condition, it is determined that an abnormality exists in the first node.
6. The method according to claim 1, characterized in that The step of determining a target performance indicator from the predicted performance indicator in response to the target interaction operation, and executing a data synchronization task based on a performance tuning configuration parameter determined by the target performance indicator, includes: In response to the target interaction operation, determining the target performance indicator from the predicted performance indicators according to the business period, wherein different business periods correspond to different target performance indicators; Performing a rationality evaluation on the target performance indicator based on the performance of the storage system, and generating a prompt message when the evaluation result indicates an abnormality; When the evaluation result indicates that it is normal, the performance tuning configuration parameters are determined, and the data synchronization task is performed according to the performance tuning configuration parameters.
7. The method according to claim 6, characterized in that When the evaluation result indicates that the data synchronization task is normal, the method further includes: determining the performance tuning configuration parameter, and executing the data synchronization task according to the performance tuning configuration parameter. During the execution of the data synchronization task, the performance parameters of the storage system are monitored in real time to determine the performance parameters of the storage system; The performance tuning configuration parameters are updated based on the performance performance parameters.
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: Acquire the historical performance data in real time and display the historical performance data; When an abnormality is detected in a performance indicator related to the host task in the historical performance data, determining an abnormal node where the abnormality occurs from the first node and the second node, and displaying an alarm prompt message; When the abnormal node returns to normal, obtaining initial performance configuration parameters, wherein the initial performance configuration parameters are used to indicate an initial allocation method of the target resource; An initial data synchronization task is performed based on the initial performance configuration parameters, the historical performance data is updated, and the initial performance index input by the user is obtained, wherein the initial data synchronization task is used to synchronize the difference data between the abnormal node and the non-abnormal node according to the initial performance configuration parameters; Generate an initial predicted performance indicator according to the initial performance indicator and the historical performance data, wherein, when the initial performance indicator represents the delay of the host task, the initial predicted performance indicator represents the predicted time consumption of the initial data synchronization task, and when the initial performance indicator represents the time consumption of the initial data synchronization task, the initial predicted performance indicator represents the predicted delay of the host task; Determine a set of performance tuning configuration parameters based on the historical performance data, and execute the initial data synchronization task according to the set of performance tuning configuration parameters to determine the predicted performance index, wherein, when the initial performance index represents the latency of the host task, the predicted performance index represents the predicted time consumption of the initial data synchronization task after tuning, and when the initial performance index represents the time consumption of the initial data synchronization task, the predicted performance index represents the predicted latency of the host task after tuning; In a case where the predicted performance indicator is better than the initial predicted performance indicator, in response to the target interaction operation, determining the target performance indicator from the predicted performance indicator; The performance tuning configuration parameter is determined from the set of performance tuning configuration parameters based on the target performance indicator, and the data synchronization task is executed, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node according to the performance tuning configuration parameter.
9. A performance tuning device, characterized in that: include: An acquisition module, used for acquiring historical performance data generated in the process of the storage system carrying a host task, wherein the host task is set to be synchronously stored by a first node and a second node in the storage system; A setting module, configured to set the host task to be stored by the second node when an abnormality occurs in the first node; A generating module, configured to generate and display a predicted performance indicator based on the initial performance indicator input by the user and the historical performance data when the first node returns to normal; A processing module is used to determine a target performance indicator from the predicted performance indicator in response to a target interaction operation, and execute a data synchronization task based on the performance tuning configuration parameters determined by the target performance indicator, wherein the data synchronization task is used to synchronize the difference data between the first node and the second node, and the data synchronization task and the host task jointly use target resources, and the allocation method of the target resources is specified by the performance tuning configuration parameters.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 8 when executed by a processor.
Citation Information
Patent Citations
Disaster recovery method, device and equipment and storage medium
CN115134213A
Parameter adjusting method and device, storage medium and electronic device
CN117076195A
Active-active arbitration method, system and device and storage medium
CN117743218A
Data management method and device, electronic equipment, storage medium and program product
CN118550465A
Load resource configuration method and device, equipment and storage medium
CN118740840A
Cited By
Parameter adjustment method and device, electronic equipment and storage medium
CN120386662A
Parameter adjustment method, device, electronic device and storage medium
CN120386662B