Storage backend performance tuning method, device, system and electronic device

By obtaining the cascade depth of the protocol components of the storage backend and the business model statistical results, dynamically adjusting the arbitration parameters of the SAS device, solving the performance reduction problem caused by excessive arbitration parameters in the existing technology, and achieving more efficient storage backend performance.

CN119201799BActive Publication Date: 2025-02-28INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411735919.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-02-28
Estimated Expiration
2044-11-29

AI Technical Summary

Technical Problem

In the prior art, the arbitration parameters of SAS devices usually use default fixed values, resulting in excessive arbitration parameters in most business scenarios, which reduces the performance of the storage backend.

Method used

By obtaining the cascade depth of the protocol components of the storage backend, configuring the basic arbitration parameters, and iteratively tuning the basic arbitration parameters, the target arbitration parameters are determined based on the business model statistical results to optimize the performance of the storage backend.

Benefits of technology

By dynamically adjusting the arbitration parameters, we ensure that the target arbitration parameters match the actual business scenarios, improve the performance of the storage backend and improve the overall performance of the storage device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201799B_ABST
    Figure CN119201799B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of computer technology, and discloses a storage backend performance tuning method, device, system and electronic device, the method comprising: obtaining the cascade depth of the protocol components of the storage backend; configuring the basic arbitration parameters of the storage backend according to the cascade depth of the protocol components of the storage backend; performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include the business volume information of the business model of the storage backend within a preset period and the distribution ratio corresponding to each business volume; according to the business model statistical results, iteratively tuning the basic arbitration parameters to obtain target arbitration parameters. By iteratively optimizing the arbitration parameters according to the actual business scenarios represented by the business model statistical results of the storage backend, it is ensured that the target arbitration parameters of the final application match the actual business scenarios of the storage backend, thereby improving the performance of the storage backend and laying a foundation for improving the overall performance of the storage device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a storage backend performance tuning method, device, system and electronic device. Background Art

[0002] In storage device networking, the storage backend mainly connects to the hard disk through the Serial Attached SCSI (SAS) protocol. The SAS protocol is a point-to-point protocol, and each transmission only allows communication between two SAS devices. Therefore, how to perform bus permission arbitration for SAS devices has become a key research topic.

[0003] In the related art, arbitration parameters are usually configured in the SAS card firmware. The arbitration parameters include the time and number of attempts to establish a connection. SAS devices such as SAS protocol components on the bus apply for arbitration according to the arbitration parameters.

[0004] However, the current arbitration parameters generally use default fixed values. In most business scenarios, the arbitration parameters are generally too large, which reduces the performance of the storage backend. Therefore, there is an urgent need for a storage backend performance tuning method that can reasonably adjust the arbitration parameters, which is of great significance to improving the overall performance of storage devices. Summary of the invention

[0005] The present application provides a storage backend performance tuning method, device, system and electronic device to solve the defects of related technologies such as reducing the performance of the storage backend.

[0006] The first aspect of the present application provides a storage backend performance tuning method, comprising:

[0007] Get the protocol component cascade depth of the storage backend;

[0008] According to the cascading depth of the protocol components of the storage backend, configuring the basic arbitration parameters of the storage backend;

[0009] Performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include business volume information of the business model of the storage backend within a preset period and the allocation ratio corresponding to each business volume;

[0010] Iteratively tuning the basic arbitration parameters according to the statistical results of the business model to obtain target arbitration parameters;

[0011] Wherein, the storage backend has the best performance under the target arbitration parameters.

[0012] In an optional implementation, obtaining the cascade depth of the protocol components of the storage backend includes:

[0013] Sending a topology discovery command to the protocol component of the storage backend to obtain a command response result fed back by the protocol component;

[0014] The protocol component cascading depth of the storage backend is determined according to the topology information represented by the command response result fed back by the protocol component.

[0015] In an optional implementation, the sending a topology discovery command to the protocol component of the storage backend includes:

[0016] When the current scenario meets the preset command triggering condition, triggering a topology discovery command, and sending the topology discovery command to the protocol component of the storage backend;

[0017] When the storage backend enters the system startup phase or a topology change occurs in a protocol component of the storage backend, it is determined that the current scenario satisfies a preset command trigger condition.

[0018] In an optional implementation, determining the cascading depth of the protocol components of the storage backend according to the topology information represented by the command response result fed back by the protocol component includes:

[0019] Determine the configuration port attribute information of each of the protocol components of the storage backend according to the topology information represented by the command response result fed back by the protocol component;

[0020] The protocol component cascading depth of the storage backend is determined according to the configuration port attribute information of each of the protocol components.

[0021] In an optional implementation, configuring the basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend includes:

[0022] Obtaining a default arbitration parameter configuration table of the storage backend;

[0023] According to the protocol component cascade depth of the storage backend, in the default arbitration parameter configuration table, a default arbitration parameter matching the protocol component cascade depth is selected;

[0024] According to the default arbitration parameters, basic arbitration parameters of the storage backend are configured.

[0025] In an optional implementation, the step of selecting, in the default arbitration parameter configuration table, a default arbitration parameter that matches the protocol component cascade depth of the storage backend according to the protocol component cascade depth includes:

[0026] According to the protocol component cascade depth of the storage backend, selecting the command class default arbitration parameter that matches the protocol component cascade depth in the command class default arbitration parameter configuration table;

[0027] According to the protocol component cascade depth of the storage backend, selecting a data class default arbitration parameter that matches the protocol component cascade depth in a data class default arbitration parameter configuration table;

[0028] The default arbitration parameter configuration table is divided into a command class default arbitration parameter configuration table and a data class default arbitration parameter configuration table, and the default arbitration parameters are divided into command class default arbitration parameters and data class default arbitration parameters.

[0029] In an optional implementation, the step of selecting, in a data class default arbitration parameter configuration table, a data class default arbitration parameter that matches the protocol component cascade depth of the storage backend according to the protocol component cascade depth includes:

[0030] According to the protocol component cascade depth of the storage backend, selecting a target arbitration parameter determination rule that matches the protocol component cascade depth in the data class default arbitration parameter configuration table;

[0031] According to the target arbitration parameter determination rule and based on a preset default determination coefficient, a data class default arbitration parameter matching the protocol component cascade depth is determined.

[0032] In an optional implementation, the iteratively tuning the basic arbitration parameters according to the business model statistical results includes:

[0033] According to the allocation ratios corresponding to the various business volumes, the business volume with the highest allocation ratio is used as the typical model business volume of the storage backend within the preset period;

[0034] Determining the maximum model business volume of the storage backend within the preset period according to the business volume information of the business model within the preset period;

[0035] The basic arbitration parameters are iteratively tuned according to the typical model traffic and the maximum model traffic of the storage backend within the preset period.

[0036] In an optional implementation, the iteratively tuning the basic arbitration parameters according to the typical model traffic and the maximum model traffic of the storage backend within the preset period includes:

[0037] Determining a current first arbitration time parameter of the storage backend according to a typical model traffic volume of the storage backend within the preset period;

[0038] Determining a current second arbitration time parameter of the storage backend according to a maximum model traffic volume of the storage backend within a preset period;

[0039] Iteratively tuning the basic arbitration parameter according to a current first arbitration time parameter and a current second arbitration time parameter of the storage backend;

[0040] The business model statistics include the typical model business volume and the maximum model business volume of the storage backend within the preset period.

[0041] In an optional implementation manner, determining the current first arbitration time parameter of the storage backend according to the typical model traffic of the storage backend in the preset period includes:

[0042] The current first arbitration time parameter of the storage backend is determined based on the following formula:

[0043]

[0044] in, represents the current first arbitration time parameter of the storage backend, Indicates the protocol component cascade depth of the storage backend, represents a basic arbitration time parameter in the basic arbitration parameter, represents the typical model business volume of the storage backend in the preset period, represents the minimum model business volume of the storage backend within the preset period, Indicates the data transmission delay of the minimum model service volume.

[0045] In an optional implementation, the iteratively tuning the basic arbitration parameter according to the current first arbitration time parameter and the current second arbitration time parameter of the storage backend includes:

[0046] In the case of performing the first iterative tuning, replacing the basic arbitration time parameter in the basic arbitration parameter with the current first arbitration time parameter;

[0047] Determine a current optimal arbitration number parameter according to a basic arbitration number parameter in the basic arbitration parameter, a current first arbitration time parameter of the storage backend, and a current second arbitration time parameter;

[0048] The basic arbitration times parameter in the basic arbitration parameters is replaced with the current optimal arbitration times parameter.

[0049] In an optional implementation, determining the current optimal arbitration number parameter according to the basic arbitration number parameter in the basic arbitration parameter, the current first arbitration time parameter of the storage backend, and the current second arbitration time parameter includes:

[0050] The current optimal arbitration times parameter is determined based on the following formula:

[0051]

[0052] in, Indicates the current optimal arbitration times parameter, Indicates the basic arbitration times parameter in the basic arbitration parameters. represents the current first arbitration time parameter, Indicates the current second arbitration time parameter.

[0053] In an optional embodiment, the method further includes:

[0054] Determine whether the read and write performance indicators of the storage backend have increased after the previous round of arbitration parameter iterative optimization, and whether the increase has reached a preset threshold;

[0055] When the read / write performance index of the storage backend increases after the previous round of arbitration parameter iterative optimization, and the increase reaches a preset amplitude threshold, the current optimal arbitration time parameter in the current optimal arbitration parameter obtained through the previous round of arbitration parameter iterative optimization is reduced according to the preset minimum time step to obtain the optimized current optimal arbitration time parameter;

[0056] According to the optimized current optimal arbitration time parameter, the current optimal arbitration number parameter in the current optimal arbitration parameter is adjusted, and the step of returning to the step of determining whether the read and write performance indicators of the storage backend have increased after the previous round of iterative optimization of the arbitration parameters, and whether the increase has reached the preset amplitude threshold.

[0057] In an optional embodiment, the method further includes:

[0058] If the read / write performance index of the storage backend does not increase after the previous round of iterative optimization of arbitration parameters, or the increase does not reach the preset amplitude threshold, the current optimal arbitration parameter obtained through the previous iterative optimization of arbitration parameters is used as the target arbitration parameter of the storage backend.

[0059] In an optional embodiment, the method further includes:

[0060] With the protocol component cascade depth of the storage backend, the typical model business volume and the maximum model business volume of the storage backend in the preset period as table headers, the target arbitration parameters corresponding to the protocol component cascade depth of the storage backend and the business model statistics are written into the preset performance tuning parameter fixed table;

[0061] When the business scenario of the storage backend changes, the target arbitration parameters matching the new business scenario are selected in the preset performance tuning parameter fixation table according to the protocol component cascading depth corresponding to the new business scenario, the typical model business volume and the maximum model business volume of the storage backend within the preset period.

[0062] A second aspect of the present application provides a storage backend performance tuning device, comprising:

[0063] The acquisition module is used to obtain the cascade depth of the protocol components of the storage backend;

[0064] A basic configuration module, used to configure basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend;

[0065] A statistics module, used to perform business model statistics on the storage backend to obtain business model statistics results; wherein the business model statistics results include business volume information of the business model of the storage backend within a preset period and the distribution ratio corresponding to each business volume;

[0066] A tuning module, configured to iteratively tune the basic arbitration parameters according to the statistical results of the business model to obtain target arbitration parameters;

[0067] Wherein, the storage backend has the best performance under the target arbitration parameters.

[0068] A third aspect of the present application provides a storage backend performance tuning system, including: a backend controller and a protocol component;

[0069] The back-end controller determines the target arbitration parameters of the storage back-end based on the method described in the first aspect and various possible designs of the first aspect, so as to perform bus arbitration on each of the protocol components according to the target arbitration parameters.

[0070] A fourth aspect of the present application provides an electronic device, comprising: at least one processor and a memory;

[0071] The memory stores computer-executable instructions;

[0072] The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method described in the first aspect and various possible designs of the first aspect.

[0073] A fifth aspect of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When a processor executes the computer-executable instructions, the method described in the first aspect and various possible designs of the first aspect are implemented.

[0074] The sixth aspect of the present application provides a computer program product, including computer instructions, which are used to enable a computer to execute the method described in the first aspect and various possible designs of the first aspect.

[0075] The technical solution of this application has the following advantages:

[0076] The present application provides a storage backend performance tuning method, device, system and electronic device, the method comprising: obtaining the cascade depth of the protocol components of the storage backend; configuring the basic arbitration parameters of the storage backend according to the cascade depth of the protocol components of the storage backend; performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include the business volume information of the business model of the storage backend within a preset period and the distribution ratio corresponding to each business volume; according to the business model statistical results, iteratively tuning the basic arbitration parameters to obtain the target arbitration parameters; wherein the storage backend has the best performance under the target arbitration parameters. The method provided by the above scheme iteratively optimizes the arbitration parameters according to the actual business scenarios represented by the business model statistical results of the storage backend to ensure that the target arbitration parameters of the final application match the actual business scenarios of the storage backend, thereby improving the performance of the storage backend and laying a foundation for improving the overall performance of the storage device. BRIEF DESCRIPTION OF THE DRAWINGS

[0077] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the following is a brief introduction to the drawings required for use in the embodiments or the related technical descriptions. Obviously, the drawings described below are some embodiments of the present application, and a person skilled in the art can also obtain other drawings based on these drawings.

[0078] Figure 1 A schematic diagram of the structure of the cascaded networking of the protocol components of the storage backend provided in an embodiment of the present application;

[0079] Figure 2 A schematic diagram of the structure of the SAS bus arbitration architecture of the storage backend provided in an embodiment of the present application;

[0080] Figure 3 A schematic diagram of the network structure based on which the embodiments of the present application are based;

[0081] Figure 4A flowchart of a storage backend performance tuning method provided in an embodiment of the present application;

[0082] Figure 5 A schematic diagram of an exemplary protocol component topology structure provided for an embodiment of the present application;

[0083] Figure 6 Another exemplary protocol component topology diagram provided for an embodiment of the present application;

[0084] Figure 7 A schematic diagram of the application architecture of the storage backend performance tuning method provided in an embodiment of the present application;

[0085] Figure 8 A schematic diagram of the overall process of the storage backend performance tuning method provided in an embodiment of the present application;

[0086] Fig. 9 A schematic diagram of the structure of a storage backend performance tuning device provided in an embodiment of the present application;

[0087] Fig.10 A schematic diagram of the structure of the storage backend performance tuning system provided in an embodiment of the present application;

[0088] Fig.11 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.

[0089] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present disclosure in any way, but to illustrate the concepts of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0090] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0091] In addition, the terms "first", "second", etc. are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. In the description of the following embodiments, the meaning of "multiple" is more than two, unless otherwise clearly and specifically defined.

[0092] In related technologies, the front end of storage devices is mainly connected to the server running the customer business through Ethernet and FC, and the back end of storage devices is mainly connected to the hard disk through SAS and NVMe. The SAS back end occupies a large proportion in the storage market. Usually, the SAS back end will cascade JBOD, usually 2~3 levels, and there are also up to 10 levels of JBOD cascade. Figure 1 As shown, it is a structural diagram of the cascaded networking of the protocol components of the storage backend provided in the embodiment of the present application. Taking the storage backend including two controllers (controller-1 and controller-2) and the protocol component cascade depth of N as an example, the protocol component (JBOD) includes a number of hard disks, upstream ports and cascade ports, etc., and the arbitration parameters are configured in the SAS card of the controller. The SAS protocol is a point-to-point protocol. Each transmission only allows communication between two SAS devices. If multiple SAS devices are hung on the bus, there will inevitably be bus contention. Whether it is SAS-INI->SAS-TGT transmission or SAS-TGT->SAS-INI transmission, it is necessary to arbitrate the SAS bus authority before transmitting data. Among them, SAS-INI represents the SAS initiator, which refers to the SAS host. Figure 1 SAS-TGT stands for SAS target, which refers to SAS devices, such as hard disks in protocol components.

[0093] Among them, Figure 2 As shown, it is a structural diagram of the SAS bus arbitration architecture of the storage backend provided by the embodiment of the present application. The part of the protocol component other than the hard disk is the SAS Expander (SAS device expander, referred to as: Exp). The upstream port in the SAS device expander is connected to the HOST (SAS card) and is composed of multiple physical SAS-PHYs (SAS port physical layer). The cascade port is connected to the JBOD of the next level and is composed of multiple physical SAS-PHYs. Narrow port: connected to the hard disk, only one physical SAS-PHY is used. I / O access path: MCS-VL->SAS driver->Expander (I / O forwarding)->hard disk, MCS-VL is a miniaturized SAS connector, and I / O forwarding includes forwarding I / O commands (CMD) and I / O data (DATA).

[0094] In a multi-level JBOD cascade network, SAS arbitration often occurs. If the arbitration timeout configuration of SAS-INI or SAS-TGT is unreasonable, it will have a great impact on SAS performance. For example, if link 1 is a connection established between the third-level protocol component and controller-1 through the second-level protocol component and the first-level protocol component, after link 1 obtains arbitration control, SAS-INI (controller 1) cannot successfully establish a connection with SAS-TGT (a hard disk of the third-level JBOD) for a long time, it will affect link 2 (link 2 is a connection established between the second-level protocol component and controller-1 through the first-level protocol component). This is because link 1 and link 1 share the first-level and second-level SAS device expander paths.

[0095] The common method used by current storage vendors is to configure a set of SAS connection timeout parameters (connect_timeout and connect_timeout_RetryCnt) into the SAS card firmware when the SAS driver is loaded. connect_timeout: the time for a connection attempt (including arbitration for bus rights and completion of SAS link establishment with the hard disk). When the time is up, arbitration is exited; connect_timeout_RetryCnt: the number of attempts.

[0096] The general method has the following problems because of the fixed default parameters:

[0097] 1. The connect_timeout is too large or too small. After obtaining arbitration rights, if it takes a long time to establish a link between the SAS-INI (controller) and some SAS-TGTs (hard disks), the performance of the entire storage array will be low because the bus resources are occupied for too long.

[0098] 2. The arbitration waiting time (i.e., the time from obtaining the bus transmission right to completing the current transmission) is strongly related to the I / O size and the SAS path depth. The general method can only cope with one scenario. There is no performance advantage in other scenarios.

[0099] In response to the above problems, the embodiments of the present application provide a storage backend performance tuning method, device, system and electronic device, the method comprising: obtaining the cascade depth of the protocol components of the storage backend; configuring the basic arbitration parameters of the storage backend according to the cascade depth of the protocol components of the storage backend; performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include the business volume information of the business model of the storage backend within a preset period and the allocation ratio corresponding to each business volume; according to the business model statistical results, iteratively tuning the basic arbitration parameters to obtain the target arbitration parameters; wherein the storage backend has the best performance under the target arbitration parameters. The method provided by the above scheme iteratively optimizes the arbitration parameters according to the actual business scenarios represented by the business model statistical results of the storage backend to ensure that the target arbitration parameters of the final application match the actual business scenarios of the storage backend, thereby improving the performance of the storage backend and laying a foundation for improving the overall performance of the storage device.

[0100] The following specific embodiments may be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.

[0101] First, the network structure on which this application is based is described:

[0102] The storage backend performance tuning method, device, system and electronic device provided in the embodiments of the present application are suitable for iteratively optimizing the arbitration parameters of the storage backend during the operation of the storage backend. Figure 3 As shown, it is a schematic diagram of the network structure based on the embodiment of the present application, which mainly includes a user end and a storage device. The storage device includes a storage front end and a storage back end. The user end sends a service request to the storage back end through the storage front end. The storage back end performs business model statistics in the corresponding business request process, and iteratively tunes the arbitration parameters according to the business model statistical results to ensure that the target arbitration parameters of the final application match the actual business scenario.

[0103] The embodiment of the present application provides a storage backend performance tuning method for iteratively optimizing arbitration parameters of the storage backend with the goal of improving the performance of the storage backend. The execution subject of the embodiment of the present application is an electronic device, such as a server, a desktop computer, a laptop computer, a tablet computer, and other electronic devices that can be used for storage backend performance tuning.

[0104] like Figure 4 FIG. 1 is a flow chart of a storage backend performance tuning method provided in an embodiment of the present application, the method comprising:

[0105] Step 401, obtaining the cascading depth of the protocol components of the storage backend.

[0106] The protocol component cascade depth can also be referred to as the SAS device expander cascade depth, such as Figure 1 The protocol components of the storage backend are shown to be cascaded to a depth of N.

[0107] Step 402: configure basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend.

[0108] Among them, the basic arbitration parameters of the storage backend are generally configured as larger parameters. The basic arbitration parameters include the basic arbitration time parameter and the basic arbitration number parameter. The arbitration time parameter is the time connect_timeout for attempting to establish a connection, and the arbitration number parameter is the number of attempts connect_timeout_RetryCnt. When the protocol component obtains the SAS bus arbitration right to establish a connection with the controller, the time for each connection establishment shall not exceed connect_timeout, and the number of attempts to establish a connection shall not exceed connect_timeout_RetryCnt. If the connection attempt is established after connect_timeout_RetryCnt and the connection is still not successfully established, the SAS bus arbitration right of the protocol component is released.

[0109] Step 403, performing business model statistics on the storage backend to obtain business model statistical results.

[0110] The business model statistics include the business volume information of the business model of the storage backend within a preset period and the allocation ratio corresponding to each business volume.

[0111] It should be noted that the business model in the embodiment of the present application is an I / O model, which describes the way data is transmitted between the storage backend and the outside, including at least the data access mode, frequency, size and order. Different business models are used to respond to different business requests to adapt to different data access modes and requirements. For example, a video data storage business request is based on a video data business model response, and a picture data storage business request is based on a picture data business model response.

[0112] Specifically, when the I / O service flow of the storage backend starts to run, a timer may be started to perform service model statistics on the storage backend according to a preset period.

[0113] Step 404: iteratively tune the basic arbitration parameters according to the business model statistical results to obtain target arbitration parameters.

[0114] Among them, the storage backend performs best under the target arbitration parameters.

[0115] Specifically, the current business scenario of the storage backend can be analyzed based on the statistical results of the business model obtained through statistics, and then the basic arbitration parameters can be iteratively tuned according to the current business scenario so that the target arbitration parameters match the current business scenario, thereby improving the performance of the storage backend.

[0116] Based on the above embodiment, since the arbitration parameters of the storage backend are highly correlated with the cascade depth of its protocol components, in order to improve the accuracy of the arbitration parameter configuration result, as an implementable method, in one embodiment, obtaining the cascade depth of the protocol components of the storage backend includes:

[0117] Step 4011, sending a topology discovery command to the protocol component of the storage backend to obtain a command response result fed back by the protocol component;

[0118] Step 4012: Determine the cascading depth of the protocol components of the storage backend according to the topology information represented by the command response result fed back by the protocol component.

[0119] The topology discovery command specifically refers to the SMP-Discover command, which sends the SMP-Discover command to the protocol component (SAS device expander) of the storage backend to obtain a command response result, and then determines the cascading depth of the protocol component of the storage backend by analyzing the topology structure information represented by the command response result.

[0120] Specifically, in one embodiment, when the current scenario satisfies a preset command triggering condition, a topology discovery command may be triggered, and the topology discovery command may be sent to a protocol component of a storage backend.

[0121] When the storage backend enters the system startup phase or a topology change occurs in a protocol component of the storage backend, it is determined that the current scenario satisfies a preset command trigger condition.

[0122] Specifically, there are two scenarios for triggering the discovery of the cascade depth of the protocol component: 1. During the system startup phase, SCSI will receive the BoardCast event (trigger event) sent by the SAS device expander Expander, and then send the SMP-Discover command to the Expander. By parsing the SMP-Discover command response, the SAS topology and Expander cascade depth are obtained, that is, the topology information and the cascade depth of the protocol component are obtained. 2. When a new SAS disk frame is connected, the protocol component topology changes, and the newly connected SAS disk frame Expander will also send a BoardCast event. The rest is consistent with the first scenario, generating the SAS topology and Expander cascade depth.

[0123] Specifically, in one embodiment, the configuration port attribute information of each protocol component of the storage backend can be determined based on the topology information represented by the command response result fed back by the protocol component; and the cascading depth of the protocol components of the storage backend can be determined based on the configuration port attribute information of each protocol component.

[0124] The configuration port attribute information of the protocol component represents the attributes of each port configured by the protocol component. The attributes of the port are at least divided into three types: downstream narrow port, downstream wide port and upstream wide port. Figure 5 As shown, it is a schematic diagram of an exemplary protocol component topology structure provided in an embodiment of the present application, in which the wide port is composed of multiple physical PHYs, and the narrow port is composed of a single physical PHY. The narrow port is used to connect the hard disk, and the wide port is used to connect the SAS host or the cascaded Expander. The wide port connected to the host / connected to the upper-level Expander is called the upstream port, and the wide port connected to the lower-level Expander is called the downstream port.

[0125] Specifically, by analyzing the configuration port attribute information of each protocol component, it can be determined whether each protocol component is connected to an upper-level and / or lower-level protocol component, thereby determining the cascading depth of the protocol components of the entire storage backend. Figure 6 As shown, it is another exemplary protocol component topology structure diagram provided in an embodiment of the present application. The SAS device expander in the protocol component is directly connected to the SAS card on the controller through an upstream wide port and has no downstream wide port, then the protocol component cascade depth of the storage backend is determined to be 1. If the SAS device expander in a protocol component in the storage backend is directly connected to the SAS card on the controller through an upstream wide port and has a downstream wide port, and the other protocol component has an upstream wide port but no downstream wide port, then the protocol component cascade depth of the storage backend is determined to be 2.

[0126] Based on the above embodiment, as an implementable manner, in one embodiment, according to the cascading depth of the protocol components of the storage backend, the basic arbitration parameters of the storage backend are configured, including:

[0127] Step 4021, obtaining a default arbitration parameter configuration table of a storage backend;

[0128] Step 4022, according to the protocol component cascade depth of the storage backend, select the default arbitration parameter matching the protocol component cascade depth in the default arbitration parameter configuration table;

[0129] Step 4023: configure the basic arbitration parameters of the storage backend according to the default arbitration parameters.

[0130] Specifically, the default arbitration parameter configuration table represents the association between the default arbitration parameters and the protocol component cascade depth. Therefore, according to the protocol component cascade depth of the storage backend, the default arbitration parameters that match the protocol component cascade depth can be screened in the default arbitration parameter configuration table, and the default arbitration parameters can be configured as basic arbitration parameters to the configuration items of the controller's SAS card.

[0131] Specifically, in one embodiment, according to the cascade depth of the protocol components of the storage backend, the command class default arbitration parameters that match the cascade depth of the protocol components can be filtered in the command class default arbitration parameter configuration table; according to the cascade depth of the protocol components of the storage backend, the data class default arbitration parameters that match the cascade depth of the protocol components can be filtered in the data class default arbitration parameter configuration table.

[0132] Among them, the default arbitration parameter configuration table is divided into the command class default arbitration parameter configuration table and the data class default arbitration parameter configuration table, and the default arbitration parameters are divided into the command class default arbitration parameters and the data class default arbitration parameters. Among them, the number of bytes transmitted by the command class is small, and the number of bytes transmitted by the data class is large, so the timeout parameters (arbitration time parameters) of the two parts are also configured differently. Therefore, the command class default arbitration parameter configuration table and the data class default arbitration parameter configuration table are used to configure the command class default arbitration parameters and the data class default arbitration parameters.

[0133] For example, the default arbitration parameter configuration table of the command class is shown in Table 1 below:

[0134] Table 1

[0135]

[0136] The default arbitration parameter configuration table for data classes is shown in Table 2 below:

[0137] Table 2

[0138]

[0139] Specifically, in one embodiment, according to the cascading depth of the protocol components of the storage backend, the target arbitration parameter determination rule that matches the cascading depth of the protocol components is screened in the data class default arbitration parameter configuration table; according to the target arbitration parameter determination rule, the data class default arbitration parameter that matches the cascading depth of the protocol components is determined according to the preset default determination coefficient.

[0140] Exemplarily, if the protocol component cascade depth is 2, when determining the data class default arbitration parameter, the cascade depth is brought into Table 2, and the target arbitration parameter determination rule is determined to be 2×T1+(traffic volume / 8KB)×D1, and the traffic volume adopts a preset default determination coefficient, such as 256KB, to determine the data class default arbitration time parameter in the data class default arbitration parameter. The values ​​of the command class default arbitration number parameter M and the data class default arbitration number parameter K can be defined as 3, and the command class default arbitration time parameter is 2×T1.

[0141] Based on the above embodiment, as an implementable manner, in one embodiment, the basic arbitration parameters are iteratively tuned according to the business model statistical results, including:

[0142] Step 4041, according to the allocation ratios corresponding to the various business volumes, the business volume with the highest allocation ratio is used as the typical model business volume of the storage backend within a preset period;

[0143] Step 4042, determining the maximum model business volume of the storage backend within the preset period according to the business volume information of the business model within the preset period;

[0144] Step 4043, iteratively tune the basic arbitration parameters according to the typical model business volume and the maximum model business volume of the storage backend within a preset period.

[0145] It should be noted that each I / O read or I / O write of the storage backend requires the use of CMD commands and DATA commands, that is, it is divided into two parts: command transmission and data transmission. The transmission time of the CMD command is the same for read / write operations, and only the DATA transmission time is related to the I / O size. Therefore, the embodiment of the present application mainly iteratively optimizes the data-type basic arbitration parameters in the basic arbitration parameters.

[0146] For example, if the business model statistics obtained through statistics indicate that the business volume (I / O size) is 64KB accounting for 80%, 8KB accounting for 10%, and 256KB accounting for 10%, then the typical model business volume is determined to be 64KB, and the maximum model business volume is 256KB. The business model statistical result record table is shown in Table 3 below, and Table 3 records the counts corresponding to each business volume, thereby determining the proportion of each business volume:

[0147] Table 3

[0148]

[0149] Specifically, in one embodiment, the current first arbitration time parameter of the storage backend can be determined based on the typical model business volume of the storage backend within a preset period; the current second arbitration time parameter of the storage backend can be determined based on the maximum model business volume of the storage backend within the preset period; and the basic arbitration parameters can be iteratively tuned based on the current first arbitration time parameter and the current second arbitration time parameter of the storage backend.

[0150] The business model statistics include the typical model business volume and the maximum model business volume of the storage backend within a preset period.

[0151] Specifically, in one embodiment, the current first arbitration time parameter of the storage backend may be determined based on the following formula:

[0152]

[0153] in, Indicates the current first arbitration time parameter of the storage backend. Indicates the cascade depth of the protocol components of the storage backend. Indicates the basic arbitration time parameter in the basic arbitration parameters. Indicates the typical model business volume of the storage backend within the preset period. Indicates the minimum model business volume of the storage backend within the preset period. represents the data transmission delay of the minimum model traffic, such as .

[0154] Accordingly, in one embodiment, the current second arbitration time parameter of the storage backend may be determined based on the following formula:

[0155]

[0156] in, Indicates the current first arbitration time parameter of the storage backend. Indicates the cascade depth of the protocol components of the storage backend. Indicates the basic arbitration time parameter in the basic arbitration parameters. Indicates the maximum model business volume of the storage backend within the preset period. Indicates the minimum model business volume of the storage backend within the preset period. represents the data transmission delay of the minimum model traffic, such as .

[0157] Specifically, in one embodiment, when performing the first iterative tuning, the basic arbitration time parameter in the basic arbitration parameters can be replaced with the current first arbitration time parameter; the current optimal arbitration time parameter is determined according to the basic arbitration number parameter in the basic arbitration parameters, the current first arbitration time parameter of the storage backend, and the current second arbitration time parameter; and the basic arbitration number parameter in the basic arbitration parameters is replaced with the current optimal arbitration number parameter.

[0158] It should be noted that since the total arbitration timeout Time(total) = arbitration time parameter connect_timeout × arbitration number parameter connect_timeout_RetryCnt, if you want to ensure that the largest I / O service can successfully establish a connection within Time(total) and that the I / O services that account for the largest proportion can successfully establish a connection in a timely manner, while iteratively optimizing the arbitration time parameter, you also need to adaptively adjust the arbitration number parameter.

[0159] Specifically, in one embodiment, the current optimal arbitration number parameter may be determined based on the following formula:

[0160]

[0161] in, Indicates the current optimal arbitration times parameter, Indicates the basic arbitration times parameter in the basic arbitration parameters. Indicates the current first arbitration time parameter, Indicates the current second arbitration time parameter.

[0162] For example, assuming that the protocol component cascade depth is 2, the typical model traffic volume is 64KB, the maximum model traffic volume is 256KB, and the connect_timeout time T1 of 64KB and the connect_timeout time T2 of 256KB are obtained through business model statistics. Then (T2 / T1+1)×K is used to obtain the new , so far, we have obtained the current cascade depth and the current optimal arbitration time parameters and the current optimal arbitration times parameters that need to be configured to the SAS card in the current business scenario.

[0163] On the basis of the above embodiments, since the ultimate purpose of the method provided in the embodiments of the present application is to improve the performance of the storage backend, in order to further ensure that the target arbitration parameters finally adopted can enable the storage backend to achieve optimal performance, as an implementable manner, in one embodiment, the method further includes:

[0164] Step 501, determining whether the read and write performance indicators of the storage backend have increased after the previous round of arbitration parameter iterative optimization, and whether the increase has reached a preset threshold;

[0165] Step 502: When the read / write performance index of the storage backend increases after the previous round of arbitration parameter iterative optimization, and the increase reaches a preset amplitude threshold, the current optimal arbitration time parameter in the current optimal arbitration parameter obtained through the previous round of arbitration parameter iterative optimization is reduced according to the preset minimum time step to obtain the optimized current optimal arbitration time parameter;

[0166] Step 503, according to the optimized current optimal arbitration time parameter, adjust the current optimal arbitration number parameter in the current optimal arbitration parameter, and return to the step of determining whether the read and write performance indicators of the storage backend have increased after the previous round of arbitration parameter iterative optimization, and whether the increase has reached the preset amplitude threshold.

[0167] Among them, the read and write performance indicators specifically refer to the IOPS indicators.

[0168] It should be noted that if the arbitration parameter is set too large or too small, it will affect the storage performance of the storage backend. Therefore, in actual applications, if the performance is significantly reduced after reducing the current optimal arbitration time parameter, the current optimal arbitration time parameter can be increased later.

[0169] Specifically, when the read and write performance indicators of the storage backend increase after the last round of arbitration parameter iterative optimization, and the increase reaches the preset amplitude threshold, it is determined that there is still room for performance optimization of the storage backend, so the preset minimum time step can be used, such as is the current optimal arbitration time parameter determined by the step pair To reduce it, the optimized current optimal arbitration time parameter is determined as , and further adaptively adjust the current optimal arbitration times parameters. The specific adjustment method is as follows:

[0170]

[0171] in, Indicates the adjusted current optimal arbitration times parameter, Indicates the basic arbitration time parameter, Indicates the basic arbitration times parameter in the basic arbitration parameters. Represents the iterative optimization round.

[0172] Specifically, Figure 7As shown, it is a schematic diagram of the application architecture of the storage backend performance tuning method provided by the embodiment of the present application, and the whole method is divided into a basic arbitration parameter configuration stage and an iterative optimization stage. In the basic arbitration parameter configuration stage, dynamic SAS topology identification is first performed to determine the cascading depth of the protocol components of the storage backend, and the default SAS arbitration parameter configuration table is determined, and finally the basic arbitration parameters of the storage backend are configured to the SAS card. According to the typical model business volume and the maximum model business volume characterized by the business model statistical results, the first adjustment of the basic arbitration parameters is also completed in the basic arbitration parameter configuration stage. In the iterative optimization stage, during the operation of the I / O business in the storage backend, the performance statistics of the storage backend are performed to determine its read and write performance indicators, and then the arbitration parameters are adjusted according to the read and write performance indicators, and finally the determined target arbitration parameters are imported into the SAS card. Among them, in the I / O model recording process, when it is found that its I / O model changes, that is, the business scenario changes, it returns to execute steps 4041 to 4043.

[0173] Accordingly, in one embodiment, when the read and write performance indicators of the storage backend do not increase after the previous round of iterative optimization of arbitration parameters, or the increase does not reach a preset amplitude threshold, the current optimal arbitration parameters obtained through the previous iterative optimization of arbitration parameters are used as the target arbitration parameters of the storage backend.

[0174] Specifically, if the read / write performance index of the storage backend does not increase after the last round of iterative optimization of arbitration parameters, or the increase does not reach the preset amplitude threshold, it is determined that there is no room for performance optimization of the storage backend, and the iterative optimization of the arbitration parameters is stopped. The preset amplitude threshold may be 3%, that is, if the fluctuation range of the read / write performance index is within 3%, it is determined that the read / write performance index of the storage backend has stabilized.

[0175] Specifically, during the iterative optimization of arbitration parameters, the size of the read and write performance indicators of each iterative optimization can be recorded based on the following Table 4. After stopping the iterative optimization of the arbitration parameters, the arbitration time parameter and arbitration number parameter (current optimal arbitration parameter) with the highest read and write performance indicators in Table 4 are used as the target arbitration parameters of the storage backend.

[0176] Table 4

[0177]

[0178] Specifically, in one embodiment, the cascading depth of the protocol components of the storage backend, the typical model business volume and the maximum model business volume of the storage backend within a preset period are used as table headers, and the target arbitration parameters corresponding to the cascading depth of the protocol components of the storage backend and the business model statistics are written into a preset performance tuning parameter fixed table; when the business scenario of the storage backend is changed, the target arbitration parameters matching the new business scenario are screened in the preset performance tuning parameter fixed table according to the cascading depth of the protocol components corresponding to the new business scenario, the typical model business volume and the maximum model business volume of the storage backend within a preset period.

[0179] The preset performance tuning parameter fixed table is shown in Table 5 below:

[0180] Table 5

[0181]

[0182] Specifically, when the business scenario of the storage backend changes, first query Table 5 to determine whether Table 5 contains target arbitration parameters that match the new business scenario. If so, it can be directly called to save the iterative optimization process of the above arbitration parameters, thereby improving the arbitration parameter configuration efficiency of the storage backend.

[0183] To facilitate those skilled in the art to understand the storage backend performance tuning method provided in the embodiment of the present application, Figure 8As shown, it is a schematic diagram of the overall process of the storage backend performance tuning method provided by the embodiment of the present application, wherein, when a BoardCast event (trigger event) sent by a SAS device expander Expander is received, it is determined that a topology change occurs in the protocol component, so when a trigger event sent by a SAS device expander is received or the storage backend enters the system startup phase, a topology discovery command can be sent to obtain a command response result fed back by the protocol component. By parsing the command response result fed back by the protocol component, the cascade depth of the protocol component of the storage backend is determined, and then the basic arbitration parameters of the storage backend are determined, and the current optimal arbitration time parameter and the current optimal arbitration number parameter are further determined, and the current optimal arbitration parameters of the storage backend (the current optimal arbitration time parameter and the current optimal arbitration number parameter) are written into the entry corresponding to the iteration optimization round 0 in the above Table 4, and the basic arbitration parameters are written into the SAS card, so that the storage backend first performs I / O business operation based on the basic arbitration parameters, and the I / O business operation includes I / O data business and I / O command business. When the storage backend performs I / O business operation based on the basic arbitration parameters, start the timer to record the model data of the storage backend and count the I / O read performance and I / O write performance, that is, determine the read and write performance indicators of the storage backend. When the preset period is reached, determine the typical model business volume and the maximum model business volume to determine whether the business scenario of the storage backend has changed. If there is no change in the business scenario, determine whether the local read and write performance of the storage backend is higher than the previous read and write performance. If so, derive the parameters of the last configuration from Table 5 and is the current optimal arbitration time parameter determined by the step pair If the local read / write performance of the storage backend is not higher than the previous read / write performance, the iterative optimization is terminated, that is, the performance tuning is completed, and the target arbitration parameters are determined and written into the preset performance tuning parameter fixed table for subsequent query.

[0184] The storage backend performance tuning method provided in the embodiment of the present application includes: obtaining the cascade depth of the protocol components of the storage backend; configuring the basic arbitration parameters of the storage backend according to the cascade depth of the protocol components of the storage backend; performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include the business volume information of the business model of the storage backend within a preset period and the allocation ratio corresponding to each business volume; according to the business model statistical results, iteratively tuning the basic arbitration parameters to obtain the target arbitration parameters; wherein the storage backend has the best performance under the target arbitration parameters. The method provided by the above scheme, through the actual business scenario represented by the business model statistical results of the storage backend, iteratively optimizes the arbitration parameters to ensure that the target arbitration parameters of the final application match the actual business scenario of the storage backend, improves the performance of the storage backend, and lays the foundation for improving the overall performance of the storage device. In addition, the arbitration parameter determination logic provided by the embodiment of the present application not only improves the accuracy of the target arbitration parameters finally adopted, but also improves the iterative optimization efficiency of the arbitration parameters.

[0185] An embodiment of the present application provides a storage backend performance tuning device, which is used to execute the storage backend performance tuning method provided in the above embodiment.

[0186] like Fig. 9 , which is a schematic diagram of the structure of a storage backend performance tuning device provided in an embodiment of the present application. The storage backend performance tuning device 90 comprises: an acquisition module 901 , a basic configuration module 902 , a statistics module 903 and an optimization module 904 .

[0187] Among them, the acquisition module is used to obtain the cascading depth of the protocol components of the storage backend; the basic configuration module is used to configure the basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend; the statistical module is used to perform business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include the business volume information of the business model of the storage backend within a preset period and the distribution ratio corresponding to each business volume; the tuning module is used to iteratively tune the basic arbitration parameters according to the business model statistical results to obtain the target arbitration parameters.

[0188] Among them, the storage backend performs best under the target arbitration parameters.

[0189] Regarding the storage backend performance tuning device in this embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0190] The storage backend performance tuning device provided in the embodiment of the present application is used to execute the storage backend performance tuning method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.

[0191] An embodiment of the present application provides a storage backend performance tuning system, which is used to execute the storage backend performance tuning method provided in the above embodiment.

[0192] like Fig.10 FIG. 1 is a schematic diagram of the structure of a storage backend performance tuning system provided in an embodiment of the present application. The storage backend performance tuning system includes: a backend controller and a protocol component.

[0193] The back-end controller determines the target arbitration parameters of the storage back-end based on the storage back-end performance tuning method provided in the above embodiment, so as to perform bus arbitration on each protocol component according to the target arbitration parameters. Figure 1 Any controller in the storage backend can also be the central controller.

[0194] Regarding the storage backend performance tuning system in this embodiment, its specific implementation method has been described in detail in the embodiment of the method, and will not be elaborated here.

[0195] The storage backend performance tuning system provided in the embodiment of the present application is used to execute the storage backend performance tuning method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.

[0196] An embodiment of the present application provides an electronic device for executing the storage backend performance tuning method provided in the above embodiment.

[0197] like Fig.11 , which is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device 110 includes: at least one processor 1101 and a memory 1102.

[0198] The memory stores computer-executable instructions; at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor executes the storage backend performance tuning method provided in the above embodiment.

[0199] The electronic device provided in the embodiment of the present application is used to execute the storage backend performance tuning method provided in the above embodiment. Its implementation method and principle are the same and will not be repeated here.

[0200] An embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, a storage backend performance tuning method provided in any of the above embodiments is implemented.

[0201] The storage medium containing computer executable instructions provided in the embodiment of the present application can be used to store computer executable instructions of the storage backend performance tuning method provided in the aforementioned embodiment. Its implementation method and principle are the same and will not be repeated here.

[0202] An embodiment of the present application provides a computer program product, including computer instructions, which are used to enable a computer to execute the storage backend performance tuning method provided in the aforementioned embodiment.

[0203] The embodiments of the present application provide a computer program product that can be used to execute computer instructions of the storage backend performance tuning method provided in the aforementioned embodiments. The implementation method and principle are the same and will not be repeated here.

[0204] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0205] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0206] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0207] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to perform some steps of the methods of each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program codes.

[0208] A part of the present application may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.

[0209] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional modules is used as an example for illustration. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the device described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0210] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A storage backend performance tuning method, characterized in that: include: Get the protocol component cascade depth of the storage backend; According to the cascading depth of the protocol components of the storage backend, configuring the basic arbitration parameters of the storage backend; Performing business model statistics on the storage backend to obtain business model statistical results; wherein the business model statistical results include business volume information of the business model of the storage backend within a preset period and the allocation ratio corresponding to each business volume; Iteratively tuning the basic arbitration parameters according to the statistical results of the business model to obtain target arbitration parameters; Wherein, the storage backend has the best performance under the target arbitration parameters; The iteratively tuning the basic arbitration parameters according to the business model statistical results includes: According to the allocation ratios corresponding to the various business volumes, the business volume with the highest allocation ratio is used as the typical model business volume of the storage backend within the preset period; Determining the maximum model business volume of the storage backend within the preset period according to the business volume information of the business model within the preset period; The basic arbitration parameters are iteratively tuned according to the typical model traffic and the maximum model traffic of the storage backend within the preset period.

2. The method according to claim 1, characterized in that The obtaining of the storage backend protocol component cascade depth includes: Sending a topology discovery command to the protocol component of the storage backend to obtain a command response result fed back by the protocol component; The protocol component cascading depth of the storage backend is determined according to the topology information represented by the command response result fed back by the protocol component.

3. The method according to claim 2, characterized in that The sending of a topology discovery command to the protocol component of the storage backend includes: When the current scenario meets the preset command triggering condition, triggering a topology discovery command, and sending the topology discovery command to the protocol component of the storage backend; When the storage backend enters the system startup phase or a topology change occurs in a protocol component of the storage backend, it is determined that the current scenario satisfies a preset command trigger condition.

4. The method according to claim 2, characterized in that: The determining, according to the topology information represented by the command response result fed back by the protocol component, the cascading depth of the protocol component of the storage backend includes: Determine the configuration port attribute information of each of the protocol components of the storage backend according to the topology information represented by the command response result fed back by the protocol component; The protocol component cascading depth of the storage backend is determined according to the configuration port attribute information of each of the protocol components.

5. The method according to claim 1, characterized in that: The configuring the basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend includes: Obtaining a default arbitration parameter configuration table of the storage backend; According to the cascading depth of the protocol components of the storage backend, in the default arbitration parameter configuration table, a default arbitration parameter matching the cascading depth of the protocol components is selected; According to the default arbitration parameters, basic arbitration parameters of the storage backend are configured.

6. The method according to claim 5, characterized in that The step of selecting, in the default arbitration parameter configuration table, a default arbitration parameter that matches the protocol component cascade depth according to the protocol component cascade depth of the storage backend includes: According to the protocol component cascade depth of the storage backend, selecting the command class default arbitration parameter that matches the protocol component cascade depth in the command class default arbitration parameter configuration table; According to the protocol component cascade depth of the storage backend, selecting a data class default arbitration parameter that matches the protocol component cascade depth in a data class default arbitration parameter configuration table; The default arbitration parameter configuration table is divided into a command class default arbitration parameter configuration table and a data class default arbitration parameter configuration table, and the default arbitration parameters are divided into command class default arbitration parameters and data class default arbitration parameters.

7. The method according to claim 6, characterized in that The step of selecting, according to the protocol component cascade depth of the storage backend, a data class default arbitration parameter that matches the protocol component cascade depth in a data class default arbitration parameter configuration table includes: According to the protocol component cascade depth of the storage backend, selecting a target arbitration parameter determination rule that matches the protocol component cascade depth in the data class default arbitration parameter configuration table; According to the target arbitration parameter determination rule and based on a preset default determination coefficient, a data class default arbitration parameter matching the protocol component cascade depth is determined.

8. The method according to claim 1, characterized in that: The iteratively tuning the basic arbitration parameters according to the typical model traffic and the maximum model traffic of the storage backend in the preset period includes: Determining a current first arbitration time parameter of the storage backend according to a typical model traffic volume of the storage backend within the preset period; Determining a current second arbitration time parameter of the storage backend according to a maximum model traffic volume of the storage backend within a preset period; Iteratively tuning the basic arbitration parameter according to a current first arbitration time parameter and a current second arbitration time parameter of the storage backend; The business model statistics include the typical model business volume and the maximum model business volume of the storage backend within the preset period.

9. The method according to claim 8, characterized in that The determining, according to the typical model traffic volume of the storage backend in the preset period, a current first arbitration time parameter of the storage backend includes: The current first arbitration time parameter of the storage backend is determined based on the following formula: in, represents the current first arbitration time parameter of the storage backend, Indicates the protocol component cascade depth of the storage backend, represents a basic arbitration time parameter in the basic arbitration parameter, represents the typical model business volume of the storage backend in the preset period, represents the minimum model business volume of the storage backend within the preset period, Indicates the data transmission delay of the minimum model service volume.

10. The method according to claim 8, characterized in that The iteratively tuning the basic arbitration parameter according to the current first arbitration time parameter and the current second arbitration time parameter of the storage backend includes: In the case of performing the first iterative tuning, replacing the basic arbitration time parameter in the basic arbitration parameter with the current first arbitration time parameter; Determine a current optimal arbitration number parameter according to a basic arbitration number parameter in the basic arbitration parameter, a current first arbitration time parameter of the storage backend, and a current second arbitration time parameter; The basic arbitration times parameter in the basic arbitration parameters is replaced with the current optimal arbitration times parameter.

11. The method according to claim 9, characterized in that The determining the current optimal arbitration number parameter according to the basic arbitration number parameter in the basic arbitration parameter, the current first arbitration time parameter and the current second arbitration time parameter of the storage backend includes: The current optimal arbitration times parameter is determined based on the following formula: in, Indicates the current optimal arbitration times parameter, Indicates the basic arbitration times parameter in the basic arbitration parameters. represents the current first arbitration time parameter, Indicates the current second arbitration time parameter.

12. The method according to claim 9, characterized in that The method further comprises: Determine whether the read and write performance indicators of the storage backend have increased after the previous round of arbitration parameter iterative optimization, and whether the increase has reached a preset threshold; When the read / write performance index of the storage backend increases after the previous round of arbitration parameter iterative optimization, and the increase reaches a preset amplitude threshold, the current optimal arbitration time parameter in the current optimal arbitration parameter obtained through the previous round of arbitration parameter iterative optimization is reduced according to the preset minimum time step to obtain the optimized current optimal arbitration time parameter; According to the optimized current optimal arbitration time parameter, the current optimal arbitration number parameter in the current optimal arbitration parameter is adjusted, and the step of returning to the step of determining whether the read and write performance indicators of the storage backend have increased after the previous round of iterative optimization of the arbitration parameters, and whether the increase has reached the preset amplitude threshold.

13. The method according to claim 12, characterized in that The method further comprises: If the read / write performance index of the storage backend does not increase after the previous round of iterative optimization of arbitration parameters, or the increase does not reach the preset amplitude threshold, the current optimal arbitration parameter obtained through the previous iterative optimization of arbitration parameters is used as the target arbitration parameter of the storage backend.

14. The method according to claim 12, characterized in that The method further comprises: With the protocol component cascade depth of the storage backend, the typical model business volume and the maximum model business volume of the storage backend in the preset period as table headers, the target arbitration parameters corresponding to the protocol component cascade depth of the storage backend and the business model statistics are written into the preset performance tuning parameter fixed table; When the business scenario of the storage backend changes, the target arbitration parameters matching the new business scenario are selected in the preset performance tuning parameter fixation table according to the protocol component cascading depth corresponding to the new business scenario, the typical model business volume and the maximum model business volume of the storage backend within the preset period.

15. A storage backend performance tuning device, characterized in that: include: The acquisition module is used to obtain the cascade depth of the protocol components of the storage backend; A basic configuration module, used to configure basic arbitration parameters of the storage backend according to the cascading depth of the protocol components of the storage backend; A statistics module, used to perform business model statistics on the storage backend to obtain business model statistics results; wherein the business model statistics results include business volume information of the business model of the storage backend within a preset period and the distribution ratio corresponding to each business volume; A tuning module, configured to iteratively tune the basic arbitration parameters according to the statistical results of the business model to obtain target arbitration parameters; Wherein, the storage backend has the best performance under the target arbitration parameters; The tuning module is specifically used for: According to the allocation ratios corresponding to the various business volumes, the business volume with the highest allocation ratio is used as the typical model business volume of the storage backend within the preset period; Determining the maximum model business volume of the storage backend within the preset period according to the business volume information of the business model within the preset period; The basic arbitration parameters are iteratively tuned according to the typical model traffic and the maximum model traffic of the storage backend within the preset period.

16. A storage backend performance tuning system, characterized in that: include: Backend controller and protocol components; The back-end controller determines the target arbitration parameters of the storage back-end based on the method according to any one of claims 1 to 14, so as to perform bus arbitration on each of the protocol components according to the target arbitration parameters.

17. An electronic device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 14.

18. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when a processor executes the computer-executable instructions, the method according to any one of claims 1 to 14 is implemented.

19. A computer program product, characterized in that The method comprises computer instructions for causing a computer to execute the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Server link configuration control method, device and system

    CN118981441A

  • Apparatus and method for arbitrating access to a set of resources

    US10990543B1