Storage system performance adjustment method and device, storage medium and electronic device

By collecting and filtering the execution parameters of business functions in the storage system, and performing targeted optimization operations, the problem of poor accuracy in storage system performance bottleneck analysis in the existing technology is solved, and accurate positioning and optimization of storage system performance is achieved.

CN119002829BActive Publication Date: 2025-01-21INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411484574.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-01-21
Estimated Expiration
2044-10-23

AI Technical Summary

Technical Problem

In the prior art, the accuracy of the analysis of the performance bottleneck of storage system is poor, and it is difficult to accurately determine whether the performance bottleneck is caused by the processor's computing power limitation or insufficient memory access performance.

Method used

By collecting the function execution parameters of each business function in the storage system, we filter out the target business functions whose function execution parameters meet the performance impact threshold, and perform optimization operations on them that match the read and write instruction parameters to reduce the impact on the performance of the storage system. .

Benefits of technology

It achieves accurate positioning and optimization of storage system performance bottlenecks and improves the accuracy and efficiency of storage system performance analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119002829B_ABST
    Figure CN119002829B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for adjusting the performance of a storage system, a storage medium, and an electronic device. The method for adjusting the performance of the storage system comprises: collecting function execution parameters of each business function in the storage system; screening out a target business function whose function execution parameters meet a performance impact threshold from multiple business functions; and performing a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function. The above technical solution is adopted to solve the problem of poor accuracy of performance bottleneck analysis of the storage system in the related technology, thereby achieving the technical effect of improving the accuracy of performance bottleneck analysis of the storage system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a method and device for adjusting the performance of a storage system, a storage medium, and an electronic device. Background Art

[0002] In many application scenarios, the performance of the storage system directly affects the user experience and the overall efficiency of the system. Therefore, effective statistics and analysis of storage system performance is of vital importance for system optimization and performance improvement.

[0003] In the prior art, storage system performance analysis mainly relies on performance analysis tools, such as perf. perf sets sampling points in the program and uses the processor's hardware performance counters to perform function-level sampling analysis on the program, thereby optimizing functions with long execution time. However, these performance analysis tools have obvious limitations in practical applications. On the one hand, due to the sampling method used, it is impossible to achieve full statistics on program execution, resulting in the possibility that key information may be missed in performance analysis. On the other hand, when statistics are collected, only functions with high CPU usage can be observed, while there is a lack of in-depth analysis capabilities for the specific operations within these functions, such as memory access patterns. This makes it difficult for developers to accurately determine whether performance bottlenecks are caused by processor computing power limitations or insufficient memory access performance.

[0004] In view of the problem that the performance bottleneck analysis of the storage system is poorly accurate in the related technologies, no effective solution has been proposed yet. Summary of the invention

[0005] The embodiments of the present application provide a method and device for adjusting the performance of a storage system, a storage medium, and an electronic device, so as to at least solve the problem of poor accuracy in analyzing the performance bottleneck of the storage system in the related art.

[0006] According to an embodiment of the present application, a method for adjusting performance of a storage system is provided, including:

[0007] Collecting function execution parameters of each business function in the storage system;

[0008] Filtering out a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact;

[0009] A target optimization operation matching the read and write instruction parameters of the target business function is performed on the target business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the target business function is executed during the historical operation of the storage system, and the target optimization operation is an operation that allows the degree of impact of the target business function on the performance of the storage system to be reduced.

[0010] Optionally, the collecting the function execution parameters of each business function in the storage system includes:

[0011] Obtaining a reference execution frequency level and a reference execution duration level of each of the business functions, wherein the reference execution frequency level is used to indicate the frequency of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution frequency level, the greater the frequency of execution of the corresponding business function. The reference execution duration level is used to indicate the duration of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution duration level, the greater the duration of execution of the corresponding business function.

[0012] The reference execution frequency level and the reference execution duration level of each of the business functions are determined as the function execution parameters of the corresponding business function.

[0013] Optionally, obtaining a reference execution frequency level and a reference execution duration level of each of the business functions includes:

[0014] Searching for a reference data object corresponding to each of the business functions from a target dictionary, wherein the target dictionary records data objects corresponding to different business functions, and the data objects are used to record the execution frequency level and execution duration level of the corresponding business function;

[0015] The reference execution frequency level and the reference execution duration level corresponding to the business function are extracted from the reference data object.

[0016] Optionally, searching the target dictionary for a reference data object corresponding to each of the business functions includes:

[0017] Obtaining a reference function identifier for each of the business functions;

[0018] The reference data object corresponding to the reference function identifier of each business function is searched from the target dictionary, wherein the target dictionary records function identifiers and data objects having a corresponding relationship.

[0019] Optionally, the step of selecting, from the plurality of business functions, a target business function whose function execution parameter satisfies a performance impact threshold, includes one of the following:

[0020] Determining the service function whose reference execution frequency level is greater than or equal to the target frequency level threshold as satisfying the performance impact threshold;

[0021] Determining the service function whose reference execution duration level is greater than or equal to the target execution duration level threshold as satisfying the performance impact threshold;

[0022] The service function whose reference execution frequency level is greater than or equal to a target frequency level threshold and whose reference execution duration level is greater than or equal to a target duration level threshold is determined as satisfying the performance impact threshold.

[0023] Optionally, before searching the target dictionary for a reference data object corresponding to each of the business functions, the method further includes:

[0024] Generate the reference data object for each of the business functions;

[0025] A correspondence between the reference function identifier of each of the business functions and the reference data object is constructed to obtain the target dictionary.

[0026] Optionally, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the generating of the reference data object for each of the business functions includes:

[0027] Collecting the execution frequency and execution duration of each of the business functions during the historical operation of the storage system;

[0028] Determine the reference execution frequency level of the business function according to the relationship between the execution frequency of each of the business functions and the N reference frequency level thresholds, and determine the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and the M reference duration level thresholds;

[0029] The reference data object of each of the business functions is generated according to the reference execution frequency level and the reference execution duration level of each of the business functions.

[0030] Optionally, determining the reference execution frequency level of the business function according to the relationship between the execution frequency of each of the business functions and N reference frequency level thresholds includes:

[0031] In the case where the execution frequency of the business function is greater than the i-1th reference frequency level threshold among the N reference frequency level thresholds and less than the i-th reference frequency level threshold, the reference execution frequency level of the business function is determined to be the i-1th reference execution frequency level, wherein i is an integer greater than 1 and less than or equal to N, the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the i-th reference execution frequency level is higher than the i-1th reference execution frequency level;

[0032] Determining the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and M reference duration level thresholds includes:

[0033] When the execution duration of the business function is greater than the j-1th reference duration level threshold among the M reference duration level thresholds and less than the j-th reference duration level threshold, the reference execution duration level of the business function is determined to be the j-1th reference execution duration level, wherein j is an integer greater than 1 and less than M, the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold, and the j-th reference execution time level is higher than the j-1th reference execution time level.

[0034] Optionally, after generating the reference data object of each business function according to the reference execution frequency level and the reference execution duration level of each business function, the method further includes:

[0035] Detecting whether the storage system is currently running a storage service;

[0036] In the case where it is detected that the storage system is currently running the storage service, a function identifier of a candidate service function currently executed by the storage service is detected to obtain a candidate function identifier, and a candidate execution frequency and a candidate execution duration of the candidate service function during the execution process are collected;

[0037] Detecting whether there is a reference function identifier that is consistent with the candidate function identifier in the current target dictionary;

[0038] When it is detected that there is a reference function identifier consistent with the candidate function identifier in the target dictionary, the candidate execution frequency and the candidate execution duration are used to update the reference execution frequency level and the reference execution duration level in the reference data object corresponding to the reference function identifier consistent with the candidate function identifier.

[0039] Optionally, after detecting whether the reference function identifier that is consistent with the candidate function identifier exists in the current target dictionary, the method further includes:

[0040] When it is detected that the reference function identifier that is consistent with the candidate function identifier does not exist in the target dictionary, adding the candidate function identifier to the target dictionary;

[0041] Determine the candidate execution frequency level of the candidate business function according to the relationship between the candidate execution frequency of the candidate business function and N reference frequency level thresholds, and determine the candidate execution duration level of the candidate business function according to the relationship between the candidate execution duration of the candidate business function and M reference duration level thresholds;

[0042] Generating a candidate data object of the candidate business function according to the candidate execution frequency level and the candidate execution duration level of the candidate business function;

[0043] Adding the correspondence between the candidate function identifier of the candidate business function and the candidate data object to the target dictionary.

[0044] Optionally, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the performance optimization of the storage system includes multiple rounds. Before selecting the target business function whose function execution parameters meet the performance impact threshold from the multiple business functions, the method further includes:

[0045] When detecting the performance of the storage system in the previous round of optimization, the target frequency level threshold and the target duration level threshold used by the target business function are screened to obtain the i-th reference frequency level threshold and the j-th reference duration level threshold, where i is an integer greater than 1 and less than or equal to N, and j is an integer greater than 1 and less than M;

[0046] Update the target frequency level threshold currently in use to the i-1th reference frequency level threshold, and update the target duration level threshold currently in use to the j-1th reference duration level threshold, until i-1 and j-1 are both equal to 1, wherein the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold.

[0047] Optionally, the collecting the function execution parameters of each business function in the storage system includes:

[0048] Obtaining a reference execution frequency of each of the business functions executed during a historical operation of the storage system, and obtaining a reference execution duration of each of the business functions executed during a historical operation of the storage system;

[0049] The reference execution frequency and the reference execution duration of each of the business functions are determined as the function execution parameters of the corresponding business function.

[0050] Optionally, obtaining a reference execution frequency of each of the business functions executed during a historical operation of the storage system includes:

[0051] Collecting the number of times each of the business functions is executed in a unit time period to obtain the reference execution frequency of each of the business functions;

[0052] The obtaining of a reference execution time of each of the business functions during the historical operation of the storage system includes:

[0053] The average execution time of each of the business functions in a unit time period is obtained to obtain the reference execution time of each of the business functions.

[0054] Optionally, the step of selecting a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions includes:

[0055] Determining the service function whose reference execution frequency is greater than or equal to the target frequency threshold as satisfying the performance impact threshold;

[0056] Determine the service function whose reference execution duration is greater than or equal to the target execution duration threshold as satisfying the performance impact threshold;

[0057] The service function whose reference execution frequency is greater than or equal to the target level threshold and whose reference execution duration is greater than or equal to the target duration threshold is determined as satisfying the performance impact threshold.

[0058] Optionally, the performing a target optimization operation on the target business function that matches a read / write instruction parameter of the target business function includes:

[0059] When the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system, and the number of read instructions of the read instruction is greater than a target number threshold, a read optimization operation is performed on the target business function, wherein the read optimization operation allows reducing the number of times the read instruction is triggered when the target business function is executed; and / or when the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system, and the number of write instructions of the write instruction is greater than a target number threshold, a write optimization operation is performed on the target business function, wherein the write optimization operation allows reducing the number of times the write instruction is triggered when the target business function is executed.

[0060] Optionally, the storage system is divided into P functional modules, each of the P functional modules is used to implement a part of the functions in the storage service by executing a service function, P is an integer greater than 1, and the method further includes:

[0061] The kth functional module among the P functional modules is optimized by the following steps, wherein k is an integer greater than or equal to 1 and less than or equal to P:

[0062] Collecting the function execution parameter of each of the business functions in the multiple business functions corresponding to the kth functional module;

[0063] Filter out the candidate business functions whose function execution parameters satisfy the performance impact threshold from the multiple business functions corresponding to the k-th functional module, wherein the business function whose function execution parameters satisfy the performance impact threshold is a function whose impact on the performance of the k-th functional module is greater than the target impact;

[0064] Perform an alternative optimization operation on the alternative business function that matches the read and write instruction parameters of the alternative business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the alternative business function is executed during the historical operation of the storage system, and the alternative optimization operation is an operation that allows reducing the degree of influence of the alternative business function on the performance of the kth functional module.

[0065] According to another embodiment of the present application, a performance adjustment device for a storage system is provided, including:

[0066] A collection module, used for collecting function execution parameters of each business function in the storage system;

[0067] A screening module, used to screen out a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact;

[0068] An execution module is used to perform a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the target business function is executed during the historical operation of the storage system, and the target optimization operation is an operation that allows reducing the degree of impact of the target business function on the performance of the storage system.

[0069] According to another embodiment of the present application, a computer program product is provided, including a computer program, wherein the computer program is executed by a processor to perform the steps in any of the above method embodiments.

[0070] 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.

[0071] 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.

[0072] In this embodiment, a performance adjustment method for a storage system is proposed. First, function execution parameters of each business function in the storage system are collected; then, target business functions whose function execution parameters meet the performance impact threshold are screened out from multiple business functions. The business functions whose function execution parameters meet the performance impact threshold are functions whose impact on the performance of the storage system is greater than the target impact; finally, a target optimization operation matching the read / write instruction parameters of the target business function is performed on the target business function. The read / write instruction parameters can indicate the triggering conditions of the read instruction and the write instruction when the target business function is executed during the historical operation of the storage system. The target optimization operation is an operation that allows the impact of the target business function on the performance of the storage system to be reduced. That is, the function execution parameters of the business function during the execution process can be collected first. According to these function execution parameters, the target business function whose execution process has a greater impact on the performance of the storage system can be screened out as the business function to be optimized. Then, the target optimization operation matching the read / write instruction parameters is performed on the screened target business function in a targeted manner to reduce the impact of the target business function on the performance of the storage system. The above method can accurately locate the business function that has a greater impact on the performance of the storage system, and take targeted optimization operations to optimize it, thereby effectively improving the performance of the storage system. The above technical solution solves the problem of poor accuracy in analyzing the performance bottleneck of the storage system in the related technology, and achieves the technical effect of improving the accuracy of the performance bottleneck analysis of the storage system. BRIEF DESCRIPTION OF THE DRAWINGS

[0073] Figure 1 It is a hardware structure block diagram of a computer device of a method for adjusting performance of a storage system according to an embodiment of the present application;

[0074] Figure 2 is a flow chart of a method for adjusting performance of a storage system according to an embodiment of the present application;

[0075] Figure 3 is a schematic diagram of using a dictionary to store business function addresses and reference data objects thereof according to an embodiment of the present application;

[0076] Figure 4 is a schematic diagram of a performance adjustment process of a storage system according to an embodiment of the present application;

[0077] Figure 5 is a structural block diagram of a performance adjustment device for a storage system according to an embodiment of the present application;

[0078] Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0079] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0080] 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.

[0081] 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 block diagram of a computer device of a storage system performance adjustment method according to an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (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 above-mentioned server device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art 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.

[0082] 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 adjustment method of the storage system 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.

[0083] 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.

[0084] In this embodiment, a method for adjusting the performance of a storage system is provided. Figure 2 is a flow chart of a method for adjusting performance of a storage system according to an embodiment of the present application. Figure 2 As shown, the process includes the following steps:

[0085] Step S12, collecting function execution parameters of each business function in the storage system;

[0086] Step S14, selecting a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact;

[0087] Step S16, performing a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the target business function is executed during the historical operation of the storage system, and the target optimization operation is an operation that allows reducing the impact of the target business function on the performance of the storage system.

[0088] Optionally, in this embodiment, the storage system implements storage services by executing business functions. The performance adjustment method of the storage system may be but is not limited to running in a processor. The processor may be deployed in a performance optimization system. A collector may also be deployed in the performance optimization system. The performance optimization system allows the function execution parameters of multiple business functions of the storage system to be collected through the collector. The function execution parameters may be but are not limited to parameters that can reflect the execution of the corresponding business function during the historical operation of the storage system, including the execution frequency of the business function, the execution duration of the business function, the maximum execution time of the business function, the number of read instructions in the business function, and the number of write instructions in the business function, etc.

[0089] Optionally, in this embodiment, the collector can, but is not limited to, implement the plug-in technology to insert counting and time processing logic at the entry point of each business function, and insert time processing logic at the exit point. When the business function is executed, the counting processing logic counts up by one, and the time processing logic records the execution duration of the business function, thereby collecting the execution frequency and execution duration of the business function.

[0090] Optionally, in this embodiment, the method for performance adjustment of the storage system can be implemented but is not limited to the following steps: the processor first receives a performance optimization request, that is, an instruction requesting performance optimization of the storage system; then responds to the performance optimization request, and obtains function execution parameters of multiple business functions in the storage system collected by the collector; based on the analysis of the function execution parameters of multiple business functions, the business functions whose function execution parameters meet the performance impact threshold are screened out, that is, the business functions that need to be optimized, and are determined as target business functions; finally, the target optimization operation is performed on the screened target business functions, and the target optimization operation can be performed based on the read and write instruction parameters of the target business function.

[0091] Optionally, in this embodiment, the target business function can be screened out from multiple business functions in the following manner but is not limited to: there are five business functions in the storage system, namely function A, function B, function C, function D and function E. Assuming that the business function execution frequency parameter is screened, the business function with an execution frequency greater than 8 times will affect the performance of the storage system more than the target impact level. The collector collects the execution frequencies of the five business functions as 5, 7, 3, 10 and 18 times respectively. Obviously, the execution frequencies of function D and function E exceed 8 times, and they are screened as business functions that need to be optimized, i.e., target business functions.

[0092] As an optional solution, collecting the function execution parameters of each business function in the storage system includes:

[0093] S21, obtaining a reference execution frequency level and a reference execution duration level of each of the business functions, wherein the reference execution frequency level is used to indicate the frequency of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution frequency level, the greater the frequency of execution of the corresponding business function. The reference execution duration level is used to indicate the duration of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution duration level, the greater the duration of execution of the corresponding business function.

[0094] S22: Determine the reference execution frequency level and the reference execution duration level of each of the business functions as the function execution parameters of the corresponding business function.

[0095] Optionally, in this embodiment, the function execution parameters of each business function in the storage system can be collected in but not limited to the following ways: if it is necessary to collect the function execution parameters of function A, such as the reference execution frequency level and the reference execution duration level, first collect the frequency of function A being executed and the execution duration, then determine the execution frequency level according to the frequency, determine the execution duration level according to the duration, and finally determine the execution frequency level and the execution duration level as the reference execution frequency level and reference execution duration level of function A.

[0096] As an optional solution, the obtaining of the reference execution frequency level and the reference execution duration level of each of the business functions includes:

[0097] S31, searching for a reference data object corresponding to each of the business functions from a target dictionary, wherein the target dictionary records data objects corresponding to different business functions, and the data objects are used to record the execution frequency level and execution duration level of the corresponding business functions;

[0098] S32: Extract the reference execution frequency level and the reference execution duration level corresponding to the business function from the reference data object.

[0099] Optionally, in this embodiment, obtaining the reference execution frequency level and the reference execution duration level of the reference business function may include, but is not limited to, the following methods: using a dictionary to store information related to the execution of the business function, Figure 3 is a schematic diagram of using a dictionary to store business function addresses and reference data objects according to an embodiment of the present application, such as Figure 3 As shown, each key-value pair in the dictionary stores information related to a business function and its execution status. The key is a business function return instruction pointer RIP, and the value is a data object that records the execution status of the business function. This object contains detailed information about the execution of the business function, including execution frequency level and execution duration level, etc.

[0100] As an optional solution, searching the target dictionary for a reference data object corresponding to each of the business functions includes:

[0101] S41, obtaining a reference function identifier of each of the business functions;

[0102] S42: Search the target dictionary for the reference data object corresponding to the reference function identifier of each of the business functions, wherein the target dictionary records function identifiers and data objects having a corresponding relationship.

[0103] Optionally, in this embodiment, if Figure 3As shown, assuming that the reference data object corresponding to function A is searched from the target dictionary, the reference function identifier of function A is first obtained. The reference function identifier can be but is not limited to an identifier that can distinguish each business function, including the business function return instruction pointer RIP. Assuming that the reference function identifier of function A obtained is RIP_1, the reference data object corresponding to RIP_1 can be found as object_1.

[0104] As an optional solution, the step of selecting the target business function whose function execution parameter satisfies the performance impact threshold from the plurality of business functions includes one of the following:

[0105] S51, determining the service function whose reference execution frequency level is greater than or equal to the target frequency level threshold as satisfying the performance impact threshold;

[0106] S52, determining the business function whose reference execution duration level is greater than or equal to the target execution duration level threshold as satisfying the performance impact threshold;

[0107] S53: Determine the service function whose reference execution frequency level is greater than or equal to the target frequency level threshold and whose reference execution duration level is greater than or equal to the target duration level threshold as satisfying the performance impact threshold.

[0108] Optionally, in this embodiment, the target business function can be screened out from multiple reference business functions in the following manner but is not limited to: the reference execution frequency level greater than or equal to the target frequency level threshold is regarded as condition 1, and the reference execution duration registration greater than or equal to the target duration level threshold is regarded as condition 2. The business function that meets at least one of conditions 1 and 2 can be determined to meet the performance impact threshold, that is, it is screened as the target business function.

[0109] Optionally, in this embodiment, it is assumed that there are five business functions in the storage system, namely function A, function B, function C, function D and function E, and the target frequency level threshold is set to frequency level 3, and the target duration level threshold is set to duration level 4. The reference execution frequency levels of the five business functions collected by the collector are frequency level 1, frequency level 3, frequency level 4, frequency level 2, and frequency level 5, and the reference execution time levels are duration level 2, duration level 5, duration level 4, duration level 2, and duration level 1. Obviously, functions B, C, and D are screened as target business functions.

[0110] Assuming that the business function execution frequency parameter is screened, the business function with an execution frequency greater than 8 times will have an impact on the performance of the storage system that exceeds the target impact level. The collector collects the execution frequencies of the five business functions, which are 5, 7, 3, 10, and 18 times, respectively. Obviously, the execution frequency of function D and function E exceeds 8 times, and they are screened as business functions that need to be optimized, that is, target business functions.

[0111] As an optional solution, before searching the target dictionary for the reference data object corresponding to each of the business functions, the method further includes:

[0112] S61, generating the reference data object of each of the business functions;

[0113] S62: construct a correspondence between the reference function identifier of each of the business functions and the reference data object to obtain the target dictionary.

[0114] Optionally, in this embodiment, before searching for the reference data object corresponding to the business function from the target dictionary, the following may be performed, but is not limited to: the storage system creates a reference data object for each business function, and then associates the reference function identifier of each business function with its corresponding reference data object to obtain the target dictionary.

[0115] As an optional solution, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the generation of the reference data object for each of the business functions includes:

[0116] S71, collecting the execution frequency and execution duration of each business function during the historical operation of the storage system;

[0117] S72, determining the reference execution frequency level of the business function according to the relationship between the execution frequency of each of the business functions and the N reference frequency level thresholds, and determining the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and the M reference duration level thresholds;

[0118] S73: Generate the reference data object of each of the business functions according to the reference execution frequency level and the reference execution duration level of each of the business functions.

[0119] Optionally, in the present embodiment, the method of producing a reference data object for each business function includes but is not limited to: first setting a reference frequency level threshold and a reference duration level threshold, obtaining the frequency and execution duration of the reference business function in the storage system, and then comparing the obtained execution frequency with the reference frequency level threshold to determine the reference execution frequency level of the reference business function corresponding to the execution frequency; similarly, comparing the obtained execution duration with the reference duration level threshold to determine the reference execution duration level of the reference business function corresponding to the execution duration; and finally generating a reference data object based on the reference execution frequency level and the reference execution duration level.

[0120] As an optional solution, determining the reference execution frequency level of the business function according to the relationship between the execution frequency of each business function and N reference frequency level thresholds includes:

[0121] S81: when the execution frequency of the business function is greater than the i-1th reference frequency level threshold among the N reference frequency level thresholds and less than the i-th reference frequency level threshold, determine the reference execution frequency level of the business function to be the i-1th reference execution frequency level, wherein i is an integer greater than 1 and less than or equal to N, the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the i-th reference execution frequency level is higher than the i-1th reference execution frequency level;

[0122] S82, determining the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and M reference duration level thresholds, includes:

[0123] S83. When the execution duration of the business function is greater than the j-1th reference duration level threshold among the M reference duration level thresholds and less than the j-th reference duration level threshold, determine the reference execution duration level of the business function as the j-1th reference execution duration level, wherein j is an integer greater than 1 and less than M, the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold, and the j-th reference execution time level is higher than the j-1th reference execution time level.

[0124] Optionally, in this embodiment, it is assumed that the storage system sets 4 reference frequency level thresholds, namely 5 times (frequency level 1), 10 times (frequency level 2), 15 times (frequency level 3), and 20 times (frequency level 4), and 3 reference duration level thresholds, namely 0.1 milliseconds (duration level 1), 0.5 milliseconds (duration level 2), and 1 millisecond (duration level 3), respectively. The execution frequency and execution duration of function A in the historical operation process of the storage system are collected as 13 times and 0.3 milliseconds, respectively. According to the comparison, it can be determined that the reference execution frequency level and reference execution duration level of function A are frequency level 2 and duration level 1, respectively.

[0125] As an optional solution, after generating the reference data object of each business function according to the reference execution frequency level and the reference execution duration level of each business function, the method further includes:

[0126] S91, detecting whether the storage system is currently running a storage service;

[0127] S92, when it is detected that the storage system is currently running the storage service, detecting a function identifier of a candidate service function currently executed by the storage service to obtain a candidate function identifier, and collecting a candidate execution frequency and a candidate execution duration of the candidate service function during the execution process;

[0128] S93, detecting whether there is a reference function identifier that is consistent with the candidate function identifier in the current target dictionary;

[0129] S94, when it is detected that there is a reference function identifier consistent with the candidate function identifier in the target dictionary, the reference execution frequency level and the reference execution duration level in the reference data object corresponding to the reference function identifier consistent with the candidate function identifier are updated using the candidate execution frequency and the candidate execution duration.

[0130] Optionally, in this embodiment, after generating a corresponding reference data object according to the reference execution frequency level and the reference execution duration level of each business function, the method of updating the reference data object may be, but is not limited to: when it is detected that the storage system is running a storage business, the running business function is determined as a candidate business function, and the function identifier of the candidate business function, that is, the candidate function identifier, such as RIP100, is first identified, and the candidate execution frequency and candidate execution duration of the business function are collected at the same time; then, whether RIP100 exists in the target dictionary is searched, and when the detection result is that RIP100 exists in the target dictionary, the reference data object is updated in combination with the obtained candidate execution frequency and candidate execution duration.

[0131] As an optional solution, after detecting whether the reference function identifier that is consistent with the candidate function identifier exists in the current target dictionary, the method further includes:

[0132] S101, when it is detected that the reference function identifier consistent with the candidate function identifier does not exist in the target dictionary, adding the candidate function identifier to the target dictionary;

[0133] S102, determining the candidate execution frequency level of the candidate business function according to the relationship between the candidate execution frequency of the candidate business function and N reference frequency level thresholds, and determining the candidate execution duration level of the candidate business function according to the relationship between the candidate execution duration of the candidate business function and M reference duration level thresholds;

[0134] S103, generating a candidate data object of the candidate business function according to the candidate execution frequency level and the candidate execution duration level of the candidate business function;

[0135] S104: Add the correspondence between the candidate function identifier of the candidate business function and the candidate data object to the target dictionary.

[0136] Optionally, in this embodiment, the target dictionary is searched to see whether RIP100 exists. If the detection result is that RIP100 does not exist in the target dictionary, RIP100 is added to the target dictionary, and the candidate execution frequency level and candidate execution duration level of the candidate business function are determined based on the obtained candidate execution frequency and candidate execution duration. Then, the candidate data object of the candidate business function is generated, and the correspondence between the candidate function identifier and the candidate data object is added to the target dictionary.

[0137] As an optional solution, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the performance optimization of the storage system includes multiple rounds. Before screening out the target business function whose function execution parameters meet the performance impact threshold from the multiple business functions, the method further includes:

[0138] S111, screening the target frequency level threshold and the target duration level threshold used by the target business function when detecting the last round of optimizing the performance of the storage system, and obtaining the i-th reference frequency level threshold and the j-th reference duration level threshold, wherein i is an integer greater than 1 and less than or equal to N, and j is an integer greater than 1 and less than M;

[0139] S112, update the currently used target frequency level threshold to the i-1th reference frequency level threshold, and update the currently used target duration level threshold to the j-1th reference duration level threshold, until i-1 and j-1 are both equal to 1, wherein the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold.

[0140] Optionally, in this embodiment, it is assumed that the storage system sets 4 reference frequency level thresholds and 3 reference duration level thresholds, the target frequency level threshold is frequency level 4, and the target duration level threshold is duration level 3. First, the business functions that meet the target frequency level thresholds are screened out as target business functions for optimization operations. After the current target business function is processed, the target frequency level threshold is updated to frequency level 3, and the target duration level threshold is duration level 2. The business functions continue to be screened, and the target frequency level threshold and the target duration level threshold are updated in turn until the target frequency level threshold and the target duration level threshold are frequency level 1 and duration level 1, respectively.

[0141] As an optional solution, collecting the function execution parameters of each business function in the storage system includes:

[0142] S121, obtaining a reference execution frequency of each of the business functions executed during the historical operation of the storage system, and obtaining a reference execution duration of each of the business functions executed during the historical operation of the storage system;

[0143] S122: Determine the reference execution frequency and the reference execution duration of each of the business functions as the function execution parameters of the corresponding business function.

[0144] Optionally, in this embodiment, the function execution parameters of each business function in the storage system can be collected in but not limited to the following ways: if it is necessary to collect the function execution parameters of function A, such as the reference execution frequency and the reference execution duration, first collect the execution frequency and execution duration of function A, and then determine the execution frequency and execution duration as the reference execution frequency and reference execution duration of function A.

[0145] As an optional solution, obtaining a reference execution frequency of each of the business functions executed during the historical operation of the storage system includes:

[0146] S131, collecting the number of times each of the business functions is executed in a unit time period to obtain the reference execution frequency of each of the business functions;

[0147] S132, obtaining a reference execution time of each of the business functions during the historical operation of the storage system, includes:

[0148] S133, obtaining the average execution time of each of the business functions in a unit time period, and obtaining the reference execution time of each of the business functions.

[0149] Optionally, in this embodiment, the method for obtaining the reference execution frequency of each business function executed during the historical operation of the storage system may include but is not limited to: the number of times each business function is executed within a certain period of time collected by the collector, and the number is determined as the reference execution frequency of the business function.

[0150] Optionally, in this embodiment, the method for obtaining the reference execution time of each business function executed during the historical operation of the storage system may include but is not limited to: the average execution time or maximum execution time of each business function collected by the collector within a certain period of time, and determining the parameter as the reference execution time of the business function.

[0151] As an optional solution, the step of selecting the target business function whose function execution parameter satisfies the performance impact threshold from the plurality of business functions includes:

[0152] S141, determining the service function whose reference execution frequency is greater than or equal to the target frequency threshold as satisfying the performance impact threshold;

[0153] S142, determining the service function whose reference execution duration is greater than or equal to the target execution duration threshold as satisfying the performance impact threshold;

[0154] S143: Determine the service function whose reference execution frequency is greater than or equal to the target level threshold and whose reference execution duration is greater than or equal to the target duration threshold as satisfying the performance impact threshold.

[0155] Optionally, in this embodiment, the target business function can be screened out from multiple reference business functions in the following manner but is not limited to: the reference execution frequency greater than or equal to the target frequency threshold is regarded as condition 1, and the reference execution duration greater than or equal to the target duration level is regarded as condition 2. The business function that meets at least one of conditions 1 and 2 can be determined to meet the performance impact threshold, that is, it is screened as the target business function.

[0156] As an optional solution, performing a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function includes:

[0157] S151, when the read-write instruction parameter is used to indicate that the target business function is executed during the historical operation of the storage system, and the read instruction number of the read instruction is greater than the target number threshold, a read optimization operation is performed on the target business function, wherein the read optimization operation allows reducing the number of times the read instruction is triggered when the target business function is executed; and / or S152, when the read-write instruction parameter is used to indicate that the target business function is executed during the historical operation of the storage system, and the write instruction number of the write instruction is greater than the target number threshold, a write optimization operation is performed on the target business function, wherein the write optimization operation allows reducing the number of times the write instruction is triggered when the target business function is executed.

[0158] Optionally, in this embodiment, the target optimization operation may include, but is not limited to, the following methods: the processor performs corresponding optimization operations according to the read and write instruction parameters of the target business function, presetting a target quantity threshold, and if the number of read instructions of the target business function is greater than the target quantity threshold, then performing a read optimization operation on the business function, i.e., reducing the number of times the read instruction is triggered when the business function is executed. Similarly, if the number of write instructions of the target business function is greater than the target quantity threshold, then performing a write optimization operation on the business function, i.e., reducing the number of times the write instruction is triggered when the business function is executed.

[0159] As an optional solution, the storage system is divided into P functional modules, each of the P functional modules is used to implement part of the functions in the storage service by executing the service function, P is an integer greater than 1, and the method further includes:

[0160] S161, optimizing the kth functional module among the P functional modules through the following steps, where k is an integer greater than or equal to 1 and less than or equal to P:

[0161] S162, collecting the function execution parameters of each of the multiple business functions corresponding to the kth functional module;

[0162] S163, selecting a candidate business function whose function execution parameter satisfies the performance impact threshold from the multiple business functions corresponding to the k-th functional module, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the k-th functional module is greater than the target impact;

[0163] S164, performing an alternative optimization operation on the alternative business function that matches the read and write instruction parameters of the alternative business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the alternative business function is executed during the historical operation of the storage system, and the alternative optimization operation is an operation that allows reducing the degree of influence of the alternative business function on the performance of the kth functional module.

[0164] Optionally, in this embodiment, the storage system may include multiple functional modules, each functional module includes multiple business functions, and the performance adjustment of the storage system is performed within a single functional module and is not affected by other functional modules.

[0165] In this embodiment, a method for adjusting the performance of a storage system is provided. Figure 4 is a schematic diagram of a performance adjustment process of a storage system according to an embodiment of the present application, such as Figure 4 As shown, the main steps include: first, the collector collects the execution frequency and execution duration of the business function by inserting the counting and time processing logic at the entry point of each business function and inserting the time processing logic at the exit point; then, the execution frequency level threshold and the execution duration level threshold are set according to the execution frequency and execution duration of the function respectively; then, according to the hierarchical structure of the storage system, the business functions are classified into different functional modules, and a dictionary and data structure are constructed for each functional module to store and update the business function execution record; when it is detected that the storage system is running the storage business, that is, the business function is being executed, the dictionary is searched to see whether there is the business function identifier (that is, the above RI P), if the business function identifier does not exist, a new function identifier and data object are created and added to the dictionary; if the business function identifier exists, its data object is updated, and the corresponding execution frequency and execution duration are updated; the execution frequency level and execution duration level of the corresponding business function can be obtained through the frequency level threshold and the duration level threshold, and then the execution frequency level and the target frequency level threshold, and the execution duration level and the target duration level threshold are compared respectively. If the execution frequency level is greater than or equal to the target frequency level threshold, or the execution duration level is greater than or equal to the target duration level threshold, the business function is determined as the target business function to perform the target optimization operation.

[0166] 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.

[0167] In this embodiment, a performance adjustment device for a storage system is also provided, and the device is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0168] Figure 5 is a structural block diagram of a performance adjustment device for a storage system according to an embodiment of the present application, such as Figure 5 As shown, including:

[0169] A collection module 502, used to collect function execution parameters of each business function in the storage system;

[0170] A screening module 504 is used to screen out a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact;

[0171] An execution module 506 is used to perform a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the target business function is executed during the historical operation of the storage system, and the target optimization operation is an operation that allows the degree of impact of the target business function on the performance of the storage system to be reduced.

[0172] In an exemplary embodiment, the acquisition module includes:

[0173] A first acquisition unit is used to acquire a reference execution frequency level and a reference execution duration level of each of the business functions, wherein the reference execution frequency level is used to indicate the frequency of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution frequency level, the greater the frequency of execution of the corresponding business function. The reference execution duration level is used to indicate the duration of execution of the corresponding business function during the historical operation of the storage system. The higher the reference execution duration level, the greater the duration of execution of the corresponding business function.

[0174] The first determining unit is used to determine the reference execution frequency level and the reference execution duration level of each of the business functions as the function execution parameters of the corresponding business function.

[0175] In an exemplary embodiment, the first acquiring unit is used to:

[0176] Searching for a reference data object corresponding to each of the business functions from a target dictionary, wherein the target dictionary records data objects corresponding to different business functions, and the data objects are used to record the execution frequency level and execution duration level of the corresponding business function;

[0177] The reference execution frequency level and the reference execution duration level corresponding to the business function are extracted from the reference data object.

[0178] In an exemplary embodiment, the first acquiring unit is further configured to:

[0179] Obtaining a reference function identifier for each of the business functions;

[0180] The reference data object corresponding to the reference function identifier of each business function is searched from the target dictionary, wherein the target dictionary records function identifiers and data objects having a corresponding relationship.

[0181] In an exemplary embodiment, the screening module includes one of the following:

[0182] A second determining unit, configured to determine the service function whose reference execution frequency level is greater than or equal to a target frequency level threshold as satisfying the performance impact threshold;

[0183] A third determining unit, configured to determine the service function whose reference execution duration level is greater than or equal to a target execution duration level threshold as satisfying the performance impact threshold;

[0184] The fourth determination unit is used to determine the service function whose reference execution frequency level is greater than or equal to the target frequency level threshold and whose reference execution duration level is greater than or equal to the target duration level threshold as satisfying the performance impact threshold.

[0185] In an exemplary embodiment, the apparatus further comprises:

[0186] A first generating module, configured to generate the reference data object of each of the business functions before searching the target dictionary for the reference data object corresponding to each of the business functions;

[0187] A construction module is used to construct a correspondence between a reference function identifier of each of the business functions and the reference data object to obtain the target dictionary.

[0188] In an exemplary embodiment, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the first generation module includes:

[0189] A first collection unit, used to collect the execution frequency and execution duration of each business function during the historical operation of the storage system;

[0190] a fifth determining unit, configured to determine the reference execution frequency level of the business function according to the relationship between the execution frequency of each of the business functions and the N reference frequency level thresholds, and to determine the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and the M reference duration level thresholds;

[0191] A generating unit is used to generate the reference data object of each business function according to the reference execution frequency level and the reference execution duration level of each business function.

[0192] In an exemplary embodiment, the fifth determining unit is further configured to:

[0193] In the case where the execution frequency of the business function is greater than the i-1th reference frequency level threshold among the N reference frequency level thresholds and less than the i-th reference frequency level threshold, the reference execution frequency level of the business function is determined to be the i-1th reference execution frequency level, wherein i is an integer greater than 1 and less than or equal to N, the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the i-th reference execution frequency level is higher than the i-1th reference execution frequency level;

[0194] The fifth determining unit is further configured to:

[0195] When the execution duration of the business function is greater than the j-1th reference duration level threshold among the M reference duration level thresholds and less than the j-th reference duration level threshold, the reference execution duration level of the business function is determined to be the j-1th reference execution duration level, wherein j is an integer greater than 1 and less than M, the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold, and the j-th reference execution time level is higher than the j-1th reference execution time level.

[0196] In an exemplary embodiment, the apparatus further comprises:

[0197] A first detection module, configured to detect whether the storage system is currently running a storage service after generating the reference data object of each business function according to the reference execution frequency level and the reference execution duration level of each business function;

[0198] A second detection module is used to detect the function identifier of the candidate business function currently executed by the storage business to obtain the candidate function identifier, and collect the candidate execution frequency and candidate execution duration of the candidate business function during the execution process when it is detected that the storage system is currently running the storage business;

[0199] A third detection module is used to detect whether there is a reference function identifier that is consistent with the candidate function identifier in the current target dictionary;

[0200] The first update module is used to update the reference execution frequency level and the reference execution duration level in the reference data object corresponding to the reference function identifier consistent with the candidate function identifier, using the candidate execution frequency and the candidate execution duration, when it is detected that there is a reference function identifier consistent with the candidate function identifier in the target dictionary.

[0201] In an exemplary embodiment, the apparatus further comprises:

[0202] A first adding module is used for, after detecting whether there is a reference function identifier consistent with the candidate function identifier in the current target dictionary, adding the candidate function identifier to the target dictionary if it is detected that there is no reference function identifier consistent with the candidate function identifier in the target dictionary;

[0203] a determination module, configured to determine the candidate execution frequency level of the candidate business function according to the relationship between the candidate execution frequency of the candidate business function and N reference frequency level thresholds, and to determine the candidate execution duration level of the candidate business function according to the relationship between the candidate execution duration of the candidate business function and M reference duration level thresholds;

[0204] A second generating module, configured to generate a candidate data object of the candidate business function according to the candidate execution frequency level and the candidate execution duration level of the candidate business function;

[0205] The second adding module is used to add the correspondence between the candidate function identifier of the candidate business function and the candidate data object to the target dictionary.

[0206] In an exemplary embodiment, the storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the performance optimization of the storage system includes multiple rounds, and the device further includes:

[0207] A fourth detection module is used to detect the target frequency level threshold and the target duration level threshold used to select the target business function when optimizing the performance of the storage system in the previous round, before selecting the target business function whose function execution parameters meet the performance impact threshold from the multiple business functions, to obtain the i-th reference frequency level threshold and the j-th reference duration level threshold, wherein i is an integer greater than 1 and less than or equal to N, and j is an integer greater than 1 and less than M;

[0208] The second updating module is used to update the currently used target frequency level threshold to the i-1th reference frequency level threshold, and to update the currently used target duration level threshold to the j-1th reference duration level threshold, until i-1 and j-1 are both equal to 1, wherein the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold.

[0209] In an exemplary embodiment, the acquisition module includes:

[0210] A second acquisition unit is used to acquire a reference execution frequency of each of the business functions executed during a historical operation of the storage system, and to acquire a reference execution duration of each of the business functions executed during a historical operation of the storage system;

[0211] A sixth determining unit is used to determine the reference execution frequency and the reference execution duration of each of the business functions as the function execution parameters of the corresponding business function.

[0212] In an exemplary embodiment, the second acquiring unit is used to:

[0213] Collecting the number of times each of the business functions is executed in a unit time period to obtain the reference execution frequency of each of the business functions;

[0214] The obtaining of a reference execution time of each of the business functions during the historical operation of the storage system includes:

[0215] The average execution time of each of the business functions in a unit time period is obtained to obtain the reference execution time of each of the business functions.

[0216] In an exemplary embodiment, the screening module comprises:

[0217] a seventh determining unit, configured to determine the service function whose reference execution frequency is greater than or equal to a target frequency threshold as satisfying the performance impact threshold;

[0218] An eighth determining unit, configured to determine the service function whose reference execution duration is greater than or equal to a target execution duration threshold as satisfying the performance impact threshold;

[0219] The ninth determination unit is used to determine the business function whose reference execution frequency is greater than or equal to the target level threshold and whose reference execution duration is greater than or equal to the target duration threshold as satisfying the performance impact threshold.

[0220] In an exemplary embodiment, the execution module includes:

[0221] A first execution unit is used to perform a read optimization operation on the target business function when the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system and the number of read instructions of the read instruction is greater than a target number threshold, wherein the read optimization operation allows reducing the number of times the read instruction is triggered when the target business function is executed; and / or a second execution unit is used to perform a write optimization operation on the target business function when the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system and the number of write instructions of the write instruction is greater than a target number threshold, wherein the write optimization operation allows reducing the number of times the write instruction is triggered when the target business function is executed.

[0222] In an exemplary embodiment, the storage system is divided into P functional modules, each of the P functional modules is used to implement a part of the functions in the storage service by executing a service function, P is an integer greater than 1, and the device further includes:

[0223] The optimization unit is used to optimize the kth functional module among the P functional modules through the following steps, wherein k is an integer greater than or equal to 1 and less than or equal to P:

[0224] A second collecting unit, used for collecting the function execution parameter of each of the business functions in the multiple business functions corresponding to the kth functional module;

[0225] a screening unit, configured to screen out, from the plurality of business functions corresponding to the k-th functional module, a candidate business function whose function execution parameter satisfies the performance impact threshold, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the k-th functional module is greater than a target impact;

[0226] A third execution unit is used to perform an alternative optimization operation on the alternative business function that matches the read and write instruction parameters of the alternative business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the alternative business function is executed during the historical operation of the storage system, and the alternative optimization operation is an operation that allows reducing the degree of influence of the alternative business function on the performance of the kth functional module.

[0227] 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.

[0228] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method described in each embodiment of the present application; the computer program product also includes a non-volatile computer-readable storage medium, which stores the computer program, and when executed by a processor, implements the steps of the method described in each embodiment of the present application.

[0229] 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.

[0230] 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.

[0231] An embodiment of the present application further provides an electronic device, Figure 6 is a schematic diagram of an electronic device according to an embodiment of the present application, such as Figure 6 As shown, the electronic device includes a memory and a processor, 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.

[0232] 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.

[0233] 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.

[0234] 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.

[0235] 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 method for adjusting the performance of a storage system, characterized in that: include: Collecting function execution parameters of each business function in the storage system; Filtering out a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact; Performing a target optimization operation matching the read and write instruction parameters of the target business function on the target business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the target business function is executed during the historical operation of the storage system, and the target optimization operation is an operation that allows reducing the degree of influence of the target business function on the performance of the storage system; Wherein, the collecting of the function execution parameters of each business function in the storage system includes: obtaining a reference execution frequency level and a reference execution duration level of each business function, wherein the reference execution frequency level is used to indicate the frequency of execution of the corresponding business function during the historical operation of the storage system, and the higher the reference execution frequency level, the greater the frequency of execution of the corresponding business function, and the reference execution duration level is used to indicate the duration of execution of the corresponding business function during the historical operation of the storage system, and the higher the reference execution duration level, the greater the execution duration of the corresponding business function; determining the reference execution frequency level and the reference execution duration level of each business function as the function execution parameters of the corresponding business function; and / or Among them, the collecting of the function execution parameters of each business function in the storage system includes: obtaining a reference execution frequency of each business function executed during the historical operation of the storage system, and obtaining a reference execution duration of each business function executed during the historical operation of the storage system; determining the reference execution frequency and the reference execution duration of each business function as the function execution parameters of the corresponding business function.

2. The method according to claim 1, characterized in that The obtaining of the reference execution frequency level and the reference execution duration level of each of the business functions includes: Searching for a reference data object corresponding to each of the business functions from a target dictionary, wherein the target dictionary records data objects corresponding to different business functions, and the data objects are used to record the execution frequency level and execution duration level of the corresponding business function; The reference execution frequency level and the reference execution duration level corresponding to the business function are extracted from the reference data object.

3. The method according to claim 2, characterized in that The searching the target dictionary for the reference data object corresponding to each of the business functions includes: Obtaining a reference function identifier for each of the business functions; The reference data object corresponding to the reference function identifier of each business function is searched from the target dictionary, wherein the target dictionary records function identifiers and data objects having a corresponding relationship.

4. The method according to claim 1, characterized in that: The step of selecting the target business function whose function execution parameter satisfies the performance impact threshold from the plurality of business functions comprises one of the following: Determining the service function whose reference execution frequency level is greater than or equal to the target frequency level threshold as satisfying the performance impact threshold; Determining the service function whose reference execution duration level is greater than or equal to the target execution duration level threshold as satisfying the performance impact threshold; The service function whose reference execution frequency level is greater than or equal to a target frequency level threshold and whose reference execution duration level is greater than or equal to a target duration level threshold is determined as satisfying the performance impact threshold.

5. The method according to claim 2, characterized in that: Before searching the target dictionary for the reference data object corresponding to each of the business functions, the method further includes: Generate the reference data object for each of the business functions; A correspondence between the reference function identifier of each of the business functions and the reference data object is constructed to obtain the target dictionary.

6. The method according to claim 5, characterized in that The storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1, and the reference data object for each business function is generated, including: Collecting the execution frequency and execution duration of each of the business functions during the historical operation of the storage system; Determine the reference execution frequency level of the business function according to the relationship between the execution frequency of each of the business functions and the N reference frequency level thresholds, and determine the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and the M reference duration level thresholds; The reference data object of each of the business functions is generated according to the reference execution frequency level and the reference execution duration level of each of the business functions.

7. The method according to claim 6, characterized in that Determining the reference execution frequency level of the business function according to the relationship between the execution frequency of each business function and N reference frequency level thresholds includes: In the case where the execution frequency of the business function is greater than the i-1th reference frequency level threshold among the N reference frequency level thresholds and less than the i-th reference frequency level threshold, the reference execution frequency level of the business function is determined to be the i-1th reference execution frequency level, wherein i is an integer greater than 1 and less than or equal to N, the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the i-th reference execution frequency level is higher than the i-1th reference execution frequency level; Determining the reference execution duration level of the business function according to the relationship between the execution duration of each of the business functions and M reference duration level thresholds includes: When the execution duration of the business function is greater than the j-1th reference duration level threshold among the M reference duration level thresholds and less than the j-th reference duration level threshold, the reference execution duration level of the business function is determined to be the j-1th reference execution duration level, wherein j is an integer greater than 1 and less than M, the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold, and the j-th reference execution time level is higher than the j-1th reference execution time level.

8. The method according to claim 6, characterized in that After generating the reference data object of each business function according to the reference execution frequency level and the reference execution duration level of each business function, the method further includes: Detecting whether the storage system is currently running a storage service; In the case where it is detected that the storage system is currently running the storage service, a function identifier of a candidate service function currently executed by the storage service is detected to obtain a candidate function identifier, and a candidate execution frequency and a candidate execution duration of the candidate service function during the execution process are collected; Detecting whether there is a reference function identifier that is consistent with the candidate function identifier in the current target dictionary; When it is detected that there is a reference function identifier consistent with the candidate function identifier in the target dictionary, the candidate execution frequency and the candidate execution duration are used to update the reference execution frequency level and the reference execution duration level in the reference data object corresponding to the reference function identifier consistent with the candidate function identifier.

9. The method according to claim 8, characterized in that After detecting whether there is a reference function identifier that is consistent with the candidate function identifier in the current target dictionary, the method further includes: When it is detected that the reference function identifier that is consistent with the candidate function identifier does not exist in the target dictionary, adding the candidate function identifier to the target dictionary; Determine the candidate execution frequency level of the candidate business function according to the relationship between the candidate execution frequency of the candidate business function and N reference frequency level thresholds, and determine the candidate execution duration level of the candidate business function according to the relationship between the candidate execution duration of the candidate business function and M reference duration level thresholds; Generating a candidate data object of the candidate business function according to the candidate execution frequency level and the candidate execution duration level of the candidate business function; Adding the correspondence between the candidate function identifier of the candidate business function and the candidate data object to the target dictionary.

10. The method according to claim 4, characterized in that The storage system sets N reference frequency level thresholds and M reference duration level thresholds, where N and M are both integers greater than 1. The performance optimization of the storage system includes multiple rounds. Before selecting the target business function whose function execution parameters meet the performance impact threshold from the multiple business functions, the method further includes: When detecting the performance of the storage system in the previous round of optimization, the target frequency level threshold and the target duration level threshold used by the target business function are screened to obtain the i-th reference frequency level threshold and the j-th reference duration level threshold, where i is an integer greater than 1 and less than or equal to N, and j is an integer greater than 1 and less than M; Update the target frequency level threshold currently in use to the i-1th reference frequency level threshold, and update the target duration level threshold currently in use to the j-1th reference duration level threshold, until i-1 and j-1 are both equal to 1, wherein the i-th reference frequency level threshold among the N reference frequency level thresholds is greater than the i-1th reference frequency level threshold, and the j-th reference duration level threshold among the M reference duration level thresholds is greater than the j-1th reference duration level threshold.

11. The method according to claim 1, characterized in that: The obtaining of a reference execution frequency of each of the business functions being executed during the historical operation of the storage system includes: Collecting the number of times each of the business functions is executed in a unit time period to obtain the reference execution frequency of each of the business functions; The obtaining of a reference execution time of each of the business functions during the historical operation of the storage system includes: The average execution time of each of the business functions in a unit time period is obtained to obtain the reference execution time of each of the business functions.

12. The method according to claim 1, characterized in that The step of selecting a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions includes: Determining the service function whose reference execution frequency is greater than or equal to the target frequency threshold as satisfying the performance impact threshold; Determine the service function whose reference execution duration is greater than or equal to the target execution duration threshold as satisfying the performance impact threshold; The service function whose reference execution frequency is greater than or equal to the target level threshold and whose reference execution duration is greater than or equal to the target duration threshold is determined as satisfying the performance impact threshold.

13. The method according to claim 1, characterized in that The performing of a target optimization operation on the target business function that matches the read and write instruction parameters of the target business function includes: When the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system, and the number of read instructions of the read instruction is greater than a target number threshold, a read optimization operation is performed on the target business function, wherein the read optimization operation allows reducing the number of times the read instruction is triggered when the target business function is executed; and / or when the read / write instruction parameters are used to indicate that the target business function is executed during the historical operation of the storage system, and the number of write instructions of the write instruction is greater than a target number threshold, a write optimization operation is performed on the target business function, wherein the write optimization operation allows reducing the number of times the write instruction is triggered when the target business function is executed.

14. The method according to claim 1, characterized in that The storage system is divided into P functional modules, each of the P functional modules is used to implement a part of the functions in the storage service by executing a service function, P is an integer greater than 1, and the method further includes: The kth functional module among the P functional modules is optimized by the following steps, wherein k is an integer greater than or equal to 1 and less than or equal to P: Collecting the function execution parameter of each of the business functions in the multiple business functions corresponding to the kth functional module; Filter out the candidate business functions whose function execution parameters satisfy the performance impact threshold from the multiple business functions corresponding to the k-th functional module, wherein the business function whose function execution parameters satisfy the performance impact threshold is a function whose impact on the performance of the k-th functional module is greater than the target impact; Perform an alternative optimization operation on the alternative business function that matches the read and write instruction parameters of the alternative business function, wherein the read and write instruction parameters are used to indicate the triggering conditions of read instructions and write instructions when the alternative business function is executed during the historical operation of the storage system, and the alternative optimization operation is an operation that allows reducing the degree of influence of the alternative business function on the performance of the kth functional module.

15. A performance adjustment device for a storage system, characterized in that: The device comprises: A collection module, used for collecting function execution parameters of each business function in the storage system; A screening module, used to screen out a target business function whose function execution parameter satisfies a performance impact threshold from the plurality of business functions, wherein the business function whose function execution parameter satisfies the performance impact threshold is a function whose impact on the performance of the storage system is greater than a target impact; an execution module, configured to execute, on the target business function, a target optimization operation that matches a read-write instruction parameter of the target business function, wherein the read-write instruction parameter is used to indicate a triggering condition of a read instruction and a write instruction when the target business function is executed during a historical operation of the storage system, and the target optimization operation is an operation that allows reducing the degree of influence of the target business function on the performance of the storage system; Wherein, the acquisition module includes: a first acquisition unit, used to acquire the reference execution frequency level and the reference execution duration level of each of the business functions, wherein the reference execution frequency level is used to indicate the frequency of the corresponding business function being executed during the historical operation of the storage system, and the higher the reference execution frequency level, the greater the frequency of the corresponding business function being executed, and the reference execution duration level is used to indicate the duration of the corresponding business function being executed during the historical operation of the storage system, and the higher the reference execution duration level, the greater the duration of the corresponding business function being executed; a first determination unit, used to determine the reference execution frequency level and the reference execution duration level of each of the business functions as the function execution parameters of the corresponding business function; and / or Among them, the acquisition module also includes: a second acquisition unit, used to obtain the reference execution frequency of each of the business functions executed during the historical operation of the storage system, and to obtain the reference execution duration of each of the business functions executed during the historical operation of the storage system; a sixth determination unit, used to determine the reference execution frequency and the reference execution duration of each of the business functions as the function execution parameters of the corresponding business function.

16. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 14 are implemented.

17. 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 14 when executed by a processor.

18. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 14 are implemented.

Citation Information

Patent Citations

  • Data block hierarchical storage method and device, computer equipment and storage medium

    CN118034593A

  • Test method and device for storage system

    CN118132357A