Parameter determination method and device, storage medium and electronic equipment
By training a random forest model to calculate the Gini importance and variance importance of configuration parameters, identifying configuration parameters that have a greater impact on software performance, solving the problem that it is difficult to effectively identify configuration parameters that affect software performance in the prior art, and achieving more efficient and accurate performance tuning.
Patent Information
- Application Number
- CN202411638828.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-11-15
AI Technical Summary
It is difficult for the prior art to effectively determine configuration parameters that have a greater impact on software performance from the software configuration parameter set. Especially when the system complexity is improved and the parameter interaction increases, traditional statistical analysis methods are inefficient and are prone to ignore or misjudgment of important parameters.
By training the random forest model, the Gini importance and variance importance of configuration parameters are calculated, and the target parameter value is determined by combining the two, so as to identify configuration parameters that have a greater impact on software performance.
This method can accurately identify configuration parameters that have a greater impact on software performance, reduce deviations caused by human factors, increase the accuracy of parameter importance evaluation, and improve the efficiency and accuracy of performance tuning.
Smart Images

Figure CN119718855A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and more specifically, to a parameter determination method and device, a storage medium, and an electronic device. Background Art
[0002] In modern software systems, with the diversification of user needs and the differentiation of specific scenarios, the management of software configuration parameters is particularly important. In order to ensure that the software can perform optimally under different demand scenarios, developers and operation and maintenance personnel must identify key sensitive parameters from the configuration parameter set. These sensitive parameters have a particularly significant impact on software performance. Traditional sensitive parameter identification methods mainly rely on manual experience and determine the parameters that affect performance through repeated trial and error. For experienced operation and maintenance personnel, when there are fewer parameters to be adjusted, they can identify performance sensitive parameters through repeated testing. Another method is based on statistical analysis. This method usually involves designing experiments or using existing performance data to identify configuration parameters that are significantly related to system performance through statistical techniques such as regression analysis and variance analysis. These methods rely on building mathematical models between parameters and performance to determine which parameters have the most significant impact on performance fluctuations under specific conditions. However, with the increase in system complexity and the increase in interactions between parameters, it is difficult to meet actual needs by simply relying on traditional statistical analysis methods. Moreover, methods based on statistical analysis often rely on a large amount of historical data and preset experimental designs, which may lead to the neglect or misjudgment of certain important parameters. Since these methods usually require hypothesis testing on the data, if the hypothesis is not true, it will affect the accuracy of recognition. In addition, these methods are inefficient when dealing with high-dimensional parameter spaces, and multiple experiments may be required to obtain reliable results.
[0003] In view of the problem in the related art that it is impossible to determine the configuration parameters that have a greater impact on the performance of the software from the configuration parameter set of the software, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present application provide a parameter determination method and device, a storage medium, and an electronic device to at least solve the problem that it is impossible to better determine the configuration parameters that have a greater impact on the performance of the software from the configuration parameter set of the software.
[0005] According to an embodiment of the present application, a parameter determination method is provided, comprising: determining a first data set, wherein the first data set has M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2; training a first random forest model based on the first data set, and determining the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value when the target software is running under the group of parameter values according to the group of parameter values of the N configuration parameters; determining the variance importance of each of the N configuration parameters according to a second data set, wherein the second number There are P groups of data in the data set, each group of the P groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: multiple groups of data in the P groups of data in which the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2; the target parameter value of each configuration parameter is determined according to the Gini importance and variance importance of each configuration parameter to obtain the target parameter values of the N configuration parameters; the target configuration parameter is determined from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than the preset influence degree.
[0006] In an exemplary embodiment, after determining the Gini importance of each of the N configuration parameters based on the first random forest model, the method further includes: calculating the value correlation between the i-th configuration parameter and the j-th configuration parameter in the N configuration parameters through the following steps S1 to S3 to determine the value correlation between any two configuration parameters in the N configuration parameters: Step S1: normalizing the parameter value of each configuration parameter in the first data set to obtain a normalized first data set; Step S2: calculating the value correlation between the i-th configuration parameter and the j-th configuration parameter in the N configuration parameters according to the following steps S1 to S3 to determine the value correlation between any two configuration parameters in the N configuration parameters: Step S1: normalizing the parameter value of each configuration parameter in the first data set to obtain a normalized first data set; Step S2: calculating the value correlation between the i-th configuration parameter and the j-th configuration parameter in the N configuration parameters according to the following steps S1 to S3 The processed first data set determines the value vector of the ith configuration parameter and the jth configuration parameter, wherein the value of the mth element in the value vector of the ith configuration parameter is the value of the ith configuration parameter in the mth group of data in the M groups of data, and the value of the mth element in the value vector of the jth configuration parameter is the value of the jth configuration parameter in the mth group of data in the M groups of data, and m is an integer greater than or equal to 1 and less than or equal to M; step S3: using the following formula to calculate the value correlation between the ith configuration parameter and the jth configuration parameter: Among them, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, V i is the value vector of the i-th configuration parameter, V j is the value vector of the j-th configuration parameter; the Gini importance of the ith configuration parameter among the N configuration parameters is corrected by the following formula to correct the Gini importance of the N configuration parameters: Among them, VIM i ′ is the modified Gini importance of the i-th configuration parameter, VIM i is the Gini importance of the i-th configuration parameter, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, VIM j is the Gini importance of the j-th configuration parameter.
[0007] In an exemplary embodiment, before determining the variance importance of each of the N configuration parameters according to the second data set, the method also includes: determining a set of initial parameter values for the N configuration parameters, and cyclically performing the following operations until i equals N+1 to obtain the second data set, wherein i equals 1 when the following operations are performed for the first time: obtaining multiple sets of parameter values for the N configuration parameters based on the initial parameter values, wherein the parameter values of the i-th configuration parameters in the multiple sets of parameter values are different from each other, and the parameter values of the configuration parameters other than the i-th configuration parameter in the multiple sets of parameter values are the corresponding parameter values in the initial parameter values; obtaining multiple sets of data based on the multiple sets of parameter values and the first random forest model, wherein the z-th set of data in the multiple sets of data includes: the z-th set of parameter values in the multiple sets of parameter values and the performance indicator values of the target software when running under the z-th set of parameter values predicted by the first random forest model; the second data set includes the multiple sets of data; updating the value of i to i+1.
[0008] In an exemplary embodiment, determining the variance importance of each of the N configuration parameters according to the second data set includes: calculating the variance of P performance indicator values in the second data set to obtain a target variance value: calculating the variance importance of the i-th configuration parameter in the N configuration parameters by the following formula to determine the variance importance of each of the N configuration parameters:
[0009] Wherein, I(i) is the variance importance of the i-th configuration parameter, Var(S) is the target variance value, A is equal to the number of values of the i-th configuration parameter in the second data set, |M k | is equal to the number of groups of data in the kth group of data set corresponding to the i-th configuration parameter, and the kth group of data set includes multiple groups of data having the kth value of the i-th configuration parameter; Var(M kj ) is equal to the variance of the j performance indicator values in the kth group of data sets.
[0010] In an exemplary embodiment, determining the target parameter value of each configuration parameter based on the Gini importance and variance importance of each configuration parameter includes: determining a first weight value of the Gini importance and a second weight value of the variance importance, wherein the first weight value is less than the second weight value, and the sum of the first weight value and the second weight value is equal to 1; determining the target parameter value of each configuration parameter based on the Gini importance of each configuration parameter, the first weight value, the variance importance of each configuration parameter, and the second weight value.
[0011] In an exemplary embodiment, determining the target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters includes: determining the configuration parameter whose target parameter value is greater than a preset threshold value among the N configuration parameters as the target configuration parameter; or sorting the N configuration parameters from large to small according to the corresponding target parameter values to obtain a sorting result; and determining the first B configuration parameters among the N configuration parameters as the target configuration parameters according to the sorting result, wherein B is a preset number and B is an integer greater than or equal to 1 and less than N.
[0012] In an exemplary embodiment, determining, from the N configuration parameters according to the target parameter values of the N configuration parameters, configuration parameters whose influence on the performance of the target software is greater than a preset influence degree includes: deleting the configuration parameter with the lowest target parameter value among the N configuration parameters; determining whether N-1 is less than or equal to B, wherein B is a preset number and B is an integer greater than or equal to 1 and less than N; when N-1 is less than or equal to B, determining the N-1 configuration parameters as the target configuration parameters; when N-1 is greater than B, determining a third data set, wherein the third data set has C groups of data, each group of data in the C groups of data includes a group of parameter values of N-1 configuration parameters and a performance indicator value when the target software is running under the group of parameter values, each group of parameter values in the C groups of data is different from each other, and C is an integer greater than or equal to 2; training a second random forest model based on the third data set, and determining the Gini importance of each configuration parameter in the N-1 configuration parameters based on the second random forest model, wherein the second random forest model is used to Predicting the performance index value of the target software when running under the set of parameter values according to the set of parameter values of the N-1 configuration parameters; determining the variance importance of each configuration parameter in the N-1 configuration parameters according to the fourth data set, wherein the fourth data set has D groups of data, each group of data in the D groups of data includes a set of parameter values of the N-1 configuration parameters and the performance index value of the target software when running under the set of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance index value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the D groups of data in which the configuration parameter is the specified parameter value; D is an integer greater than or equal to 2; determining the target parameter value of each configuration parameter according to the Gini importance and variance importance of each configuration parameter, and obtaining the target parameter values of the N-1 configuration parameters; determining the target configuration parameter from the N-1 configuration parameters according to the target parameter values of the N-1 configuration parameters.
[0013] According to another embodiment of the embodiment of the present application, a parameter determination device is also provided, including: a first determination module, used to determine a first data set, wherein the first data set has M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2; a processing module, used to train a first random forest model based on the first data set, and determine the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when it is running under the group of parameter values based on the group of parameter values of the N configuration parameters; a second determination module, used to determine the variance importance of each of the N configuration parameters based on a second data set, wherein , the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: multiple groups of data in the P groups of data in which the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2; a third determination module is used to determine the target parameter value of each configuration parameter according to the Gini importance and variance importance of each configuration parameter, and obtain the target parameter values of the N configuration parameters; a fourth determination module is used to determine the target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than the preset influence degree.
[0014] 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.
[0015] 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.
[0016] According to another embodiment of the present application, a computer program product is provided. The computer program product includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0017] Through this application, by calculating the Gini importance and variance importance of each parameter in N configuration parameters, the target parameter value of each configuration parameter is determined according to the Gini importance and variance importance of each configuration parameter, and the target configuration parameter is determined from the N configuration parameters according to the target parameter values of the N configuration parameters. Since the identification mechanism of Gini importance can effectively reduce the deviation caused by human factors, and the identification mechanism of variance importance can identify possible linear features, the overall importance evaluation of the configuration parameters is increased, and then the identification method based on the Gini importance and variance importance of the configuration parameters can accurately and well determine the configuration parameters with a greater degree of influence on the performance of the software from the configuration parameter set of the software, solving the problem in the related art that the configuration parameters with a greater degree of influence on the performance of the software cannot be well determined from the configuration parameter set of the software. In addition, the above method can also reduce the parameter dimension in the performance tuning work, reduce the consumption of computing resources and labor costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0019] Figure 1 is a hardware structure block diagram of a server device according to a parameter determination method of an embodiment of the present application;
[0020] Figure 2 is a flow chart of a parameter determination method according to an embodiment of the present application;
[0021] Figure 3 is a flow chart of another parameter determination method according to an embodiment of the present application;
[0022] Figure 4 is a structural block diagram of a parameter determination device according to an embodiment of the present application;
[0023] Figure 5 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0024] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0025] 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.
[0026] The parameter determination method embodiment provided in the embodiment 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 server device of a parameter determination method in 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 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.
[0027] 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 parameter determination method in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, the above method is implemented. 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.
[0028] 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.
[0029] In order to solve the above problems existing in the related art, this embodiment provides a parameter determination method, such as Figure 2 As shown, the process includes the following steps S202-S210:
[0030] Step S202: determining a first data set, wherein the first data set includes M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2;
[0031] It should be noted that in different scenarios, the target configuration parameters to be identified may be different depending on the required performance indicators. The target parameter group (i.e., the N configuration parameters mentioned above) can be determined according to actual needs. The target parameter group may include one or more configuration parameters. If the target parameter group only includes one configuration parameter, the configuration parameter can be directly determined as the target configuration parameter. When selecting performance evaluation indicators, specific evaluation criteria should be designed based on the selected benchmark tool. For example, key performance indicators such as response time, throughput, and resource utilization can be focused on.
[0032] It should be noted that before specific identification, the target parameter group to be identified needs to be initialized and assigned multiple times to obtain an initial data set (including the above-mentioned first data set) to provide data support for the subsequent establishment of a random forest model. In this process, by randomly assigning values to configuration parameters, multiple groups of parameter values with different value combinations [Conf1, Conf2, Conf3, ..., ConfM] can be obtained. Then, after modifying the software configuration file for each group of parameter values, a performance test is performed using the benchmark tool to obtain the performance data corresponding to the group of parameter values.
[0033] Optionally, the first data set obtained by the above method is [(Conf1, Y1), (Conf2, Y2), (Conf3, Y3), ..., (ConfM, YM)], wherein Conf1, ...ConfM are a set of parameter values of N configuration parameters, respectively. Y1, ...YM are corresponding performance indicator values.
[0034] It should be noted that the first data set is used to identify target configuration parameters for a single performance indicator, that is, YM is a performance indicator value of a performance indicator.
[0035] Step S204: training a first random forest model based on the first data set, and determining the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters;
[0036] Step S206: determining the variance importance of each of the N configuration parameters according to the second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data when the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2;
[0037] Optionally, the second data set may be the first data set.
[0038] Step S208: determining the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, and obtaining the target parameter values of the N configuration parameters;
[0039] Step S210: determining a target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
[0040] The above steps calculate the Gini importance and variance importance of each parameter in the N configuration parameters, and then determine the target parameter value of each configuration parameter according to the Gini importance and variance importance of each configuration parameter, and determine the target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters. Since the identification mechanism of Gini importance can effectively reduce the deviation caused by human factors, and the identification mechanism of variance importance can identify possible linear features, the overall importance evaluation of the configuration parameters is increased, and then the identification method based on the Gini importance and variance importance of the configuration parameters can accurately and well determine the configuration parameters with a greater degree of influence on the performance of the software from the configuration parameter set of the software, solving the problem in the related art that the configuration parameters with a greater degree of influence on the performance of the software cannot be well determined from the configuration parameter set of the software. In addition, the above method can also reduce the parameter dimension in the performance tuning work, reduce the consumption of computing resources and labor costs.
[0041] In an exemplary embodiment, the above step S204 can be implemented in the following manner:
[0042] The first data set is used as the input of the random forest, and a bootstrap sample of size E is selected from the first data set, where the number of sample features is equal to N. For each bootstrap sample, k (a positive integer less than N) features are selected from all the features (the union of the features selected by the E bootstrap samples is N configuration parameters), and the best split point is obtained by establishing a decision tree. This is repeated E times to generate E decision trees, and the E bootstrap sample trees are aggregated as the first random forest model.
[0043] Through the first random forest model obtained, the feature importance of each feature in the model is calculated according to the Gini index. Gini importance is measured by calculating the average reduction in Gini impurity generated when each feature is used to split nodes in all decision trees. Gini impurity is an indicator used to measure the class impurity in a node. The lower its value, the purer the sample in the node. In a random forest, each decision tree will select the best split point based on the importance of the feature to minimize the Gini impurity or mean square error. Therefore, by calculating the average reduction of each feature in all decision trees, the importance score of the feature can be obtained. These scores represent the relative contribution of each feature to the predictive ability of the model. The higher the score, the more important the feature. Specifically, the Gini index GI is calculated according to the following formula:
[0044]
[0045] Where q represents node q, K is the total number of input features, and Pqk represents the proportion of feature k in node q. Then the importance of feature k in node q of the i-th tree is VIM kq =GI q -GI1-GI r , where GI l and GI r represents the Gini index of the two new nodes after branching, then the importance of feature k in the i-th tree can be expressed as
[0046] VIM ki =∑ q∈Q VIM kq ;
[0047] Where Q is the set of nodes where feature k appears in the i-th tree. So for a random forest model with E decision trees, the importance of feature k in the forest is equal to the sum of the importance of feature k in each tree in the forest.
[0048] Then, the importance of the N configuration parameters in the forest is normalized by the following formula to obtain the Gini importance of the N configuration parameters, which is recorded as G_VIM(N)=[VIM1, VIM2, VIM3, ..., VIMN].
[0049]
[0050] Among them, VIM n is the importance of the nth configuration parameter among N configuration parameters in the forest.
[0051] In an exemplary embodiment, after the above step S204, the method further includes the following steps S11-S12:
[0052] Step S11: Calculate the value correlation between the i-th configuration parameter and the j-th configuration parameter among the N configuration parameters through the following steps S1 to S3 to determine the value correlation between any two configuration parameters among the N configuration parameters:
[0053] Step S1: normalizing the parameter value of each configuration parameter in the first data set to obtain a normalized first data set;
[0054] Step S2: determining the value vector of the ith configuration parameter and the jth configuration parameter according to the first data set after the normalization processing, wherein the value of the mth element in the value vector of the ith configuration parameter is the value of the ith configuration parameter in the mth group of data in the M groups of data, and the value of the mth element in the value vector of the jth configuration parameter is the value of the jth configuration parameter in the mth group of data in the M groups of data, and m is an integer greater than or equal to 1 and less than or equal to M;
[0055] Step S3: Calculate the value correlation between the i-th configuration parameter and the j-th configuration parameter using the following formula:
[0056] Among them, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, V i is the value vector of the i-th configuration parameter, V j is the value vector of the j-th configuration parameter;
[0057] Step S12: The Gini importance of the i-th configuration parameter among the N configuration parameters is corrected by the following formula to correct the Gini importance of the N configuration parameters:
[0058]
[0059] Among them, VIM i ′ is the modified Gini importance of the i-th configuration parameter, VIM i is the Gini importance of the i-th configuration parameter, W ijis the value correlation between the i-th configuration parameter and the j-th configuration parameter, VIM j is the Gini importance of the j-th configuration parameter.
[0060] It should be noted that the Gini importance will ignore the relationship between parameters in the calculation, that is, for the parameter j with low importance, although its importance is low, it has a strong correlation with the parameter i with high importance. In this case, it is necessary to improve the Gini importance score of parameter j in a timely manner. Specifically, take parameter i and another parameter j, and normalize them based on the first data set while keeping the ranking unchanged, to obtain the value vector Vi of parameter i and the corresponding ranking value vector Vj of j. The correlation between parameter i and parameter j can be described as The new Gini importance score of parameter i needs to be added to the weighted Gini importance score of parameter j.
[0061] Optionally, considering that the correlation between the values of some parameters is relatively small, a threshold β=0.8 is set, that is, weighted addition is considered only when the correlation between the values is greater than β.
[0062] In this embodiment, the Gini importance of the configuration parameters is corrected by the correlation between the values of the configuration parameters, so that the Gini importance of the configuration parameters can be made more accurate.
[0063] In an exemplary embodiment, before the above step S206, the method further includes: determining a set of initial parameter values of the N configuration parameters, and looping through the following operations S21-S23 until i equals N+1, to obtain the second data set, wherein, in the case of performing the following operations for the first time, i equals 1:
[0064] Operation S21: obtaining multiple groups of parameter values for the N configuration parameters based on the initial parameter values, wherein the parameter values of the i-th configuration parameter in the multiple groups of parameter values are different from each other, and the parameter values of the configuration parameters other than the i-th configuration parameter in the multiple groups of parameter values are the corresponding parameter values in the initial parameter values;
[0065] Operation S22: obtaining multiple groups of data based on the multiple groups of parameter values and the first random forest model, wherein the zth group of data in the multiple groups of data includes: the zth group of parameter values in the multiple groups of parameter values and the performance indicator value of the target software when running under the zth group of parameter values predicted by the first random forest model; the second data set includes the multiple groups of data;
[0066] Operation S23: Update the value of i to i+1.
[0067] That is to say, in this embodiment, the first random forest model can be used to obtain the second data set, and then the variance importance of each of the N configuration parameters is determined based on the second data set. Specifically, a parameter is randomly selected for multiple assignments, and the performance indicator value is simulated by the random forest model while ensuring that other parameters remain unchanged. This is repeated multiple times until all parameters are randomly selected once, thereby obtaining the second data set.
[0068] In this embodiment, obtaining the second data set in the above manner can better determine the variance importance of the configuration parameters, and obtain the performance indicator value based on the first random forest model, thereby avoiding obtaining the performance indicator value through benchmark testing, thereby saving computing resources.
[0069] In an exemplary embodiment, the above step S206 can be implemented by the following steps S31-S32:
[0070] Step S31: Calculate the variance of P performance indicator values in the second data set to obtain a target variance value:
[0071] Optionally, the variance of the P performance indicator values in the second data set may be calculated by the following formula:
[0072]
[0073] Where Var(S) is the target variance value, |S| is equal to P, μ is the average value of P performance index values, and y i is the i-th performance indicator value among P performance indicator values.
[0074] Step S32: Calculate the variance importance of the i-th configuration parameter among the N configuration parameters by the following formula to determine the variance importance of each configuration parameter among the N configuration parameters:
[0075]
[0076] Wherein, I(i) is the variance importance of the i-th configuration parameter, Var(S) is the target variance value, A is equal to the number of values of the i-th configuration parameter in the second data set, |M k | is equal to the number of groups of data in the kth group of data set corresponding to the i-th configuration parameter, and the kth group of data set includes multiple groups of data having the kth value of the i-th configuration parameter; Var(M kj ) is equal to the variance of the j performance indicator values in the kth group of data sets.
[0077] It should be noted that the above step S32 is based on the idea of dimensionality reduction of feature selection. First, a configuration parameter is fixed, and its value is changed to form multiple subsets. The variance-weighted average of these multiple subsets is calculated, and then the variance of the entire sample set is compared. The importance of the configuration parameter is evaluated by the degree of variance reduction, which is recorded as the variance importance I of the parameter configuration number.
[0078] It should be noted that the idea of the above step S32 is: for an important parameter, after its fixed value, it can significantly reduce the variance of the performance value in the set. The larger the ratio of its weighted average to the variance of the total sample, the greater the importance of the parameter.
[0079] In an exemplary embodiment, if a configuration parameter is continuously valued, since the number of its values is too large, its value range can be divided into X equal parts (that is, when the configuration parameter is continuously valued, the above A is equal to X), and then each part constitutes a subset.
[0080] In an exemplary embodiment, after the above step S32, the variance importance of the N configuration parameters is normalized, and the values of the variance importance of the N configuration parameters are limited to [0, 1].
[0081] In this embodiment, the variance importance of the configuration parameters can be accurately obtained in the above manner, so that the target parameter values of the configuration parameters can be accurately obtained, and then accurate target parameter value ranking can be provided for operation and maintenance personnel and developers.
[0082] In an exemplary embodiment, the above step S208 can be implemented by the following steps S41-S42:
[0083] Step S41: determining a first weight value of the Gini importance and a second weight value of the variance importance, wherein the first weight value is less than the second weight value, and the sum of the first weight value and the second weight value is equal to 1;
[0084] It should be noted that, due to the large nonlinear relationship between configuration parameters and performance, the first weight value is smaller than the second weight value.
[0085] Step S42: determining a target parameter value of each configuration parameter according to the Gini importance of each configuration parameter, the first weight value, the variance importance of each configuration parameter and the second weight value.
[0086] Optionally, both Gini importance and variance importance are expressed as numerical values.
[0087] That is to say, the above step S42 can be implemented in the following way:
[0088] The target parameter value of the i-th configuration parameter is calculated by the following formula: G(i)=ω1*I(i)+ω2*VIM(i); wherein ω1 is the second weight value, ω2 is the first weight value, I(i) is the variance importance of the i-th configuration parameter, and VIM(i) is the Gini importance of the i-th configuration parameter.
[0089] In this embodiment, the target parameter values of the obtained configuration parameters can be made more accurate through the above method, and accurate target parameter value sorting can be provided for operation and maintenance personnel and developers.
[0090] In an exemplary embodiment, the above step S210 can be implemented by the following step S51 or step S52:
[0091] Step S51: determining a configuration parameter whose target parameter value is greater than a preset threshold among the N configuration parameters as the target configuration parameter;
[0092] Step S52: Sort the N configuration parameters from large to small according to the corresponding target parameter values to obtain a sorting result; and determine the first B configuration parameters of the N configuration parameters as the target configuration parameters according to the sorting result, where B is a preset number and B is an integer greater than or equal to 1 and less than N.
[0093] In an exemplary embodiment, the above step S210 can also be implemented by steps S61-S68 in the following manner:
[0094] Step S61: deleting the configuration parameter with the lowest target parameter value among the N configuration parameters;
[0095] Step S62: Determine whether N-1 is less than or equal to B, where B is a preset number and B is an integer greater than or equal to 1 and less than N;
[0096] Step S63: when N-1 is less than or equal to B, all the N-1 configuration parameters are determined as the target configuration parameters;
[0097] Step S64: when N-1 is greater than B, determine a third data set, wherein the third data set includes C groups of data, each group of data in the C groups of data includes a group of parameter values of N-1 configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the C groups of data is different from each other, and C is an integer greater than or equal to 2;
[0098] Step S65: training a second random forest model based on the third data set, and determining the Gini importance of each of the N-1 configuration parameters based on the second random forest model, wherein the second random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N-1 configuration parameters;
[0099] Optionally, a method for obtaining the second random forest model based on the third data set training is the same as a method for obtaining the first random forest model based on the first data set training.
[0100] Step S66: determining the variance importance of each of the N-1 configuration parameters according to the fourth data set, wherein the fourth data set has D groups of data, each group of data in the D groups of data includes a group of parameter values of N-1 configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the D groups of data when the configuration parameter is the specified parameter value; D is an integer greater than or equal to 2;
[0101] Optionally, the method for acquiring the fourth data set is the same as the method for acquiring the second data set, which is not described in detail here.
[0102] Step S67: determining the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, and obtaining the target parameter values of the N-1 configuration parameters;
[0103] Step S68: Determine a target configuration parameter from the N-1 configuration parameters according to the target parameter values of the N-1 configuration parameters.
[0104] Optionally, the implementation method of the above step S68 is the same as the implementation method of the above step S210, which is not repeated here.
[0105] In this embodiment, the target configuration parameters obtained by the above method can be made more accurate.
[0106] For better understanding, Figure 3 A flow chart of a parameter determination method is shown, and its specific implementation is detailed in the above embodiment.
[0107] In an exemplary embodiment, based on the existing parameter identification method, this technical solution further introduces deep reinforcement learning technology to achieve smarter and more dynamic parameter optimization. Deep reinforcement learning (DRL) combines the high-dimensional data processing capabilities of deep neural networks and the decision-making optimization capabilities of reinforcement learning. It can intelligently adjust software configuration parameters according to the real-time status and performance feedback of the system to achieve the goal of optimizing performance. The specific steps include:
[0108] 1. State space definition: First, define the state space of the software system, including but not limited to the usage of hardware resources (CPU, memory, disk, etc.), software running status, network conditions, user request frequency, etc., as well as the current configuration parameter settings.
[0109] 2. Action space definition: The adjustment of configuration parameters is used as the action space of the deep reinforcement learning agent, including fine-tuning the value of each sensitive parameter or changing its value range.
[0110] 3. Build a deep reinforcement learning model: Use a deep Q network (DQN) or a policy gradient method (such as Proximal Policy Optimization, PPO) to build a deep reinforcement learning model. The goal of the model is to learn a policy that can select the best action (configuration parameter adjustment) based on the system state to maximize the long-term performance indicator.
[0111] 4. Reward function design: Define a reward function to evaluate the performance improvement after the agent performs an action. The reward function can be a direct measure of system performance (such as reduced response time, increased throughput, improved resource utilization, etc.), or it can be a more complex combination of indicators to reflect the priority of optimization in different scenarios.
[0112] 5. Environment construction and model training: Build a simulation environment for the agent to interact with the environment, and optimize its strategy through continuous trial and error learning. During the training process, the agent performs actions based on the current system state, observes performance changes, and updates its strategy based on the reward function until it converges to an optimal or near-optimal strategy.
[0113] 6. Real-time performance tuning: Deploy the trained deep reinforcement learning model in the actual software system so that it can intelligently adjust sensitive configuration parameters according to the real-time status at runtime to achieve dynamic performance optimization.
[0114] It should be noted that the software sensitive configuration parameter identification and optimization system based on deep reinforcement learning can intelligently handle the dynamic optimization problems of configuration parameters in the software system, improve the performance and stability of the software system in the face of complex and dynamic environments, and provide new solutions for software operation and maintenance and performance tuning.
[0115] It should be noted that the present application proposes a method for identifying system sensitive parameters based on a random forest regression model and parameter importance evaluation. This method performs well in processing high-dimensional data by utilizing the ensemble learning characteristics of random forests, and can effectively capture the complex relationship between parameters and system performance. In particular, by calculating the weighted Gini coefficient of each parameter and combining the parameter importance measurement formula based on variance, the impact of different parameters on performance can be quantified, and system sensitive parameters can be identified. The advantage of the random forest regression model is that it has strong anti-overfitting ability and can handle nonlinear features in data, which makes this method have high accuracy and robustness in the parameter identification process. At the same time, the identification mechanism based on the Gini coefficient can effectively reduce the deviation caused by human factors, reduce the dependence on empirical knowledge, thereby further improving the degree of automation, and add the relationship identification between parameters to the Gini coefficient by weighting, optimizing the identification of related parameters. And through the variance-based parameter importance evaluation algorithm, possible linear features are identified, and the overall importance evaluation of parameter features is increased. By applying this intelligent sensitive parameter identification method, the parameter dimension can be reduced in performance tuning work, and the consumption of computing resources and labor costs can be reduced.
[0116] In addition, the non-parametric characteristics of the random forest regression model enable it to handle complex nonlinear relationships between input parameters and output results. This capability improves the adaptability of the model in multidimensional parameter space, ensures comprehensive consideration of potentially important parameters, and avoids the limitations that linear models may bring. The technical solution of this application also realizes automated sensitive parameter identification, reduces manpower input and time costs, and improves the configuration efficiency of the software.
[0117] It should be noted that sensitive parameter identification technology can automatically discover key configuration parameters that affect system performance, providing strong support for performance tuning. By analyzing the relationship between parameters and performance, sensitive parameter identification technology helps the team quickly locate those configuration items that have a significant impact on system performance fluctuations under specific conditions. In large software systems, such as cloud computing platforms and distributed databases, sensitive parameter identification technology can significantly reduce the complexity of manual tuning, improve the efficiency and accuracy of tuning, and enable the software to always maintain stable and efficient operation in changing demand scenarios. At the same time, this also provides a scientific basis for operation and maintenance personnel, helping them make more informed configuration decisions in a dynamic environment, thereby better meeting user needs.
[0118] 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.
[0119] In this embodiment, a parameter determination device is also provided to implement the above-mentioned embodiments and preferred implementation modes, which have been described and will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the modules described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0120] Figure 4 is a structural block diagram of a parameter determination device according to an embodiment of the present application, the device comprising:
[0121] A first determination module 40 is used to determine a first data set, wherein the first data set includes M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2;
[0122] A processing module 42 is used to train a first random forest model based on the first data set, and determine the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters;
[0123] The second determination module 44 is used to determine the variance importance of each configuration parameter in the N configuration parameters according to the second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, and the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data when the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2;
[0124] A third determination module 46 is used to determine the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, so as to obtain the target parameter values of the N configuration parameters;
[0125] The fourth determination module 48 is configured to determine a target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
[0126] Through the above device, by calculating the Gini importance and variance importance of each parameter in the N configuration parameters, the target parameter value of each configuration parameter is determined according to the Gini importance and variance importance of each configuration parameter, and the target configuration parameter is determined from the N configuration parameters according to the target parameter values of the N configuration parameters. Since the identification mechanism of Gini importance can effectively reduce the deviation caused by human factors, and the identification mechanism of variance importance can identify the possible linear features, the overall importance evaluation of the configuration parameters is increased, and then the identification method based on the Gini importance and variance importance of the configuration parameters can accurately and well determine the configuration parameters with a greater degree of influence on the performance of the software from the configuration parameter set of the software, solving the problem in the related art that the configuration parameters with a greater degree of influence on the performance of the software cannot be well determined from the configuration parameter set of the software. In addition, the above method can also reduce the parameter dimension in the performance tuning work, reduce the consumption of computing resources and labor costs.
[0127] In an exemplary embodiment, the device further includes: a correction module, which is used to determine the Gini importance of each configuration parameter in the N configuration parameters based on the first random forest model, and then calculate the value correlation between the i-th configuration parameter and the j-th configuration parameter in the N configuration parameters through the following steps S1 to S3 to determine the value correlation between any two configuration parameters in the N configuration parameters: Step S1: Normalize the parameter value of each configuration parameter in the first data set to obtain a normalized first data set; Step S2: According to the normalization The first data set after normalization determines the value vector of the ith configuration parameter and the jth configuration parameter, wherein the value of the mth element in the value vector of the ith configuration parameter is the value of the ith configuration parameter in the mth group of data in the M groups of data, and the value of the mth element in the value vector of the jth configuration parameter is the value of the jth configuration parameter in the mth group of data in the M groups of data, and m is an integer greater than or equal to 1 and less than or equal to M; step S3: using the following formula to calculate the value correlation between the ith configuration parameter and the jth configuration parameter: Among them, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, V i is the value vector of the i-th configuration parameter, V j is the value vector of the j-th configuration parameter; the Gini importance of the ith configuration parameter among the N configuration parameters is corrected by the following formula to correct the Gini importance of the N configuration parameters:
[0128] Among them, VIM i ′ is the modified Gini importance of the i-th configuration parameter, VIM i is the Gini importance of the i-th configuration parameter, Wi j is the value correlation between the i-th configuration parameter and the j-th configuration parameter, VIM j is the Gini importance of the j-th configuration parameter.
[0129] In an exemplary embodiment, the device also includes: a data set expansion module, which is used to determine a set of initial parameter values of the N configuration parameters before determining the variance importance of each of the N configuration parameters based on the second data set, and cyclically perform the following operations until i is equal to N+1 to obtain the second data set, wherein i is equal to 1 when the following operations are performed for the first time: obtain multiple sets of parameter values of the N configuration parameters based on the initial parameter values, wherein the parameter values of the i-th configuration parameters in the multiple sets of parameter values are different from each other, and the parameter values of the configuration parameters other than the i-th configuration parameter in the multiple sets of parameter values are the corresponding parameter values in the initial parameter values; obtain multiple sets of data based on the multiple sets of parameter values and the first random forest model, wherein the z-th set of data in the multiple sets of data includes: the z-th set of parameter values in the multiple sets of parameter values and the performance indicator values of the target software when running under the z-th set of parameter values predicted by the first random forest model; the second data set includes the multiple sets of data; update the value of i to i+1.
[0130] In an exemplary embodiment, the second determination module 44 is further configured to calculate the variance of the P performance indicator values in the second data set to obtain a target variance value: the variance importance of the i-th configuration parameter among the N configuration parameters is calculated by the following formula to determine the variance importance of each configuration parameter among the N configuration parameters:
[0131]
[0132] Wherein, I(i) is the variance importance of the i-th configuration parameter, Var(S) is the target variance value, A is equal to the number of values of the i-th configuration parameter in the second data set, |M k | is equal to the number of groups of data in the kth group of data set corresponding to the i-th configuration parameter, and the kth group of data set includes multiple groups of data having the kth value of the i-th configuration parameter; Var(M kj ) is equal to the variance of the j performance indicator values in the kth group of data sets.
[0133] In an exemplary embodiment, the third determination module 46 is also used to determine a first weight value of the Gini importance and a second weight value of the variance importance, wherein the first weight value is less than the second weight value, and the sum of the first weight value and the second weight value is equal to 1; and determine the target parameter value of each configuration parameter according to the Gini importance of each configuration parameter, the first weight value, the variance importance of each configuration parameter and the second weight value.
[0134] In an exemplary embodiment, the fourth determination module 48 is further used to determine the configuration parameter whose target parameter value is greater than a preset threshold among the N configuration parameters as the target configuration parameter; or to sort the N configuration parameters from large to small according to the corresponding target parameter values to obtain a sorting result; and according to the sorting result, the first B configuration parameters among the N configuration parameters are determined as the target configuration parameters, where B is a preset number and B is an integer greater than or equal to 1 and less than N.
[0135] In an exemplary embodiment, the fourth determination module 48 is further used to delete the configuration parameter with the lowest target parameter value among the N configuration parameters; determine whether N-1 is less than or equal to B, where B is a preset number and B is an integer greater than or equal to 1 and less than N; when N-1 is less than or equal to B, determine the N-1 configuration parameters as the target configuration parameters; when N-1 is greater than B, determine a third data set, wherein the third data set has C groups of data, each group of data in the C groups of data includes a group of parameter values of N-1 configuration parameters and a performance indicator value when the target software is running under the group of parameter values, each group of parameter values in the C groups of data is different from each other, and C is an integer greater than or equal to 2; train a second random forest model based on the third data set, and determine the Gini importance of each configuration parameter in the N-1 configuration parameters based on the second random forest model, wherein the second random forest model is used to predict the target software according to a group of parameter values of the N-1 configuration parameters. the performance indicator value when the software is running under the group of parameter values; determining the variance importance of each configuration parameter in the N-1 configuration parameters according to the fourth data set, wherein the fourth data set has D groups of data, each group of data in the D groups of data includes a group of parameter values of N-1 configuration parameters and the performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the D groups of data in which the configuration parameter is the specified parameter value; D is an integer greater than or equal to 2; determining the target parameter value of each configuration parameter according to the Gini importance and variance importance of each configuration parameter, and obtaining the target parameter values of the N-1 configuration parameters; determining the target configuration parameter from the N-1 configuration parameters according to the target parameter values of the N-1 configuration parameters.
[0136] 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.
[0137] 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.
[0138] Optionally, in this embodiment, the computer program may be configured to perform the following steps by means of the computer program:
[0139] S1, determining a first data set, wherein the first data set has M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2;
[0140] S2, training a first random forest model based on the first data set, and determining the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters;
[0141] S3, determining the variance importance of each of the N configuration parameters according to the second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data where the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2;
[0142] S4, determining a target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, to obtain the target parameter values of the N configuration parameters;
[0143] S5, determining a target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
[0144] 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.
[0145] The embodiment of the present application also provides an electronic device, such as Figure 5 As shown, the electronic device includes a memory 908 and a processor 504, wherein the memory 508 stores a computer program, and the processor 504 is configured to execute the steps in any of the above method embodiments through the computer program.
[0146] Optionally, in this embodiment, the processor 504 may be configured to perform the following steps through a computer program:
[0147] S1, determining a first data set, wherein the first data set has M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2;
[0148] S2, training a first random forest model based on the first data set, and determining the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters;
[0149] S3, determining the variance importance of each of the N configuration parameters according to the second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data where the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2;
[0150] S4, determining a target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, to obtain the target parameter values of the N configuration parameters;
[0151] S5, determining a target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
[0152] 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.
[0153] Alternatively, a person skilled in the art may understand that: Figure 5 The structure shown is for illustration only. Figure 5 The structure of the electronic device is not limited. For example, the electronic device may also include Figure 5 More or fewer components (such as network interfaces, etc.) as shown in, or with Figure 5 Different configurations shown.
[0154] Among them, the memory 508 can be used to store software programs and modules, such as the program instructions / modules corresponding to the parameter determination method and parameter determination device in the embodiment of the present application. The processor 504 executes various functional applications and data processing by running the software programs and modules stored in the memory 508, that is, realizing the above-mentioned parameter determination method. The memory 508 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 instances, the memory 508 may further include a memory remotely located relative to the processor 504, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 508 can be specifically, but not limited to, used to store information such as system configuration files. As an example, such as Figure 5 As shown, the memory 508 may include, but is not limited to, the first determination module 40, the processing module 42, the second determination module 44, the third determination module 46, and the fourth determination module 48 in the parameter determination device. In addition, other module units in the parameter determination device may also be included but are not limited to, which will not be described in detail in this example.
[0155] Optionally, the transmission device 506 is used to receive or send data via a network. Specific examples of the network may include wired networks and wireless networks. In one example, the transmission device 506 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 506 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0156] In addition, the electronic device mentioned above further includes: a display 508; and a connection bus 510, which is used to connect various module components in the electronic device mentioned above.
[0157] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0158] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in any of the above method embodiments are implemented.
[0159] The embodiments of the present application also provide a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the above method embodiments.
[0160] 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.
[0161] 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 parameter determination method, characterized in that: include: Determine a first data set, wherein the first data set has M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2; A first random forest model is obtained by training based on the first data set, and the Gini importance of each of the N configuration parameters is determined based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters; Determine the variance importance of each of the N configuration parameters according to the second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data where the configuration parameter is the specified parameter value; P is an integer greater than or equal to 2; Determine the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, and obtain the target parameter values of the N configuration parameters; A target configuration parameter is determined from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
2. The method according to claim 1, characterized in that: After determining the Gini importance of each of the N configuration parameters based on the first random forest model, the method further includes: The value correlation between the i-th configuration parameter and the j-th configuration parameter among the N configuration parameters is calculated through the following steps S1 to S3 to determine the value correlation between any two configuration parameters among the N configuration parameters: Step S1: normalizing the parameter value of each configuration parameter in the first data set to obtain a normalized first data set; Step S2: determining the value vector of the ith configuration parameter and the jth configuration parameter according to the first data set after the normalization processing, wherein the value of the mth element in the value vector of the ith configuration parameter is the value of the ith configuration parameter in the mth group of data in the M groups of data, and the value of the mth element in the value vector of the jth configuration parameter is the value of the jth configuration parameter in the mth group of data in the M groups of data, and m is an integer greater than or equal to 1 and less than or equal to M; Step S3: Calculate the value correlation between the i-th configuration parameter and the j-th configuration parameter using the following formula: Among them, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, V i is the value vector of the i-th configuration parameter, V j is the value vector of the j-th configuration parameter; The Gini importance of the i-th configuration parameter among the N configuration parameters is corrected by the following formula to correct the Gini importance of the N configuration parameters: Among them, VIM i ′ is the modified Gini importance of the i-th configuration parameter, VIM i is the Gini importance of the i-th configuration parameter, W ij is the value correlation between the i-th configuration parameter and the j-th configuration parameter, VIM j is the Gini importance of the j-th configuration parameter.
3. The method according to claim 1, characterized in that Before determining the variance importance of each of the N configuration parameters according to the second data set, the method further includes: Determine a set of initial parameter values for the N configuration parameters, and perform the following operations cyclically until i equals N+1, to obtain the second data set, wherein i equals 1 when the following operations are performed for the first time: Based on the initial parameter values, a plurality of groups of parameter values of the N configuration parameters are obtained, wherein the parameter values of the i-th configuration parameters in the plurality of groups of parameter values are different from each other, and the parameter values of the configuration parameters other than the i-th configuration parameter in the plurality of groups of parameter values are the corresponding parameter values in the initial parameter values; Based on the multiple groups of parameter values and the first random forest model, multiple groups of data are obtained, wherein the zth group of data in the multiple groups of data includes: the zth group of parameter values in the multiple groups of parameter values and the performance indicator value of the target software when running under the zth group of parameter values predicted by the first random forest model; the second data set includes the multiple groups of data; Update the value of i to i+1.
4. The method according to claim 3, characterized in that: The determining, according to the second data set, the variance importance of each of the N configuration parameters comprises: Calculate the variance of the P performance indicator values in the second data set to obtain a target variance value: The variance importance of the i-th configuration parameter among the N configuration parameters is calculated by the following formula to determine the variance importance of each configuration parameter among the N configuration parameters: Wherein, I(i) is the variance importance of the i-th configuration parameter, Var(S) is the target variance value, A is equal to the number of values of the i-th configuration parameter in the second data set, |M k | is equal to the number of groups of data in the kth group of data set corresponding to the i-th configuration parameter, and the kth group of data set includes multiple groups of data having the kth value of the i-th configuration parameter; Var(M kj ) is equal to the variance of the j performance indicator values in the kth group of data sets.
5. The method according to claim 1, characterized in that Determining the target parameter value of each configuration parameter according to the Gini importance and variance importance of each configuration parameter includes: Determining a first weight value of the Gini importance and a second weight value of the variance importance, wherein the first weight value is less than the second weight value, and a sum of the first weight value and the second weight value is equal to 1; A target parameter value of each configuration parameter is determined according to the Gini importance of each configuration parameter, the first weight value, the variance importance of each configuration parameter, and the second weight value.
6. The method according to claim 1, characterized in that Determining the target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters includes: Determine a configuration parameter whose target parameter value is greater than a preset threshold among the N configuration parameters as the target configuration parameter; or The N configuration parameters are sorted from large to small according to the corresponding target parameter values to obtain a sorting result; according to the sorting result, the first B configuration parameters of the N configuration parameters are determined as the target configuration parameters, where B is a preset number and B is an integer greater than or equal to 1 and less than N.
7. The method according to claim 1, characterized in that The step of determining, from the N configuration parameters according to the target parameter values of the N configuration parameters, a configuration parameter having an influence on the performance of the target software greater than a preset influence, comprises: Deleting the configuration parameter with the lowest target parameter value among the N configuration parameters; Determine whether N-1 is less than or equal to B, where B is a preset number and B is an integer greater than or equal to 1 and less than N; When N-1 is less than or equal to B, all N-1 configuration parameters are determined as the target configuration parameters; In the case where N-1 is greater than B, a third data set is determined, wherein the third data set includes C groups of data, each group of data in the C groups of data includes a group of parameter values of N-1 configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the C groups of data is different from each other, and C is an integer greater than or equal to 2; A second random forest model is trained based on the third data set, and the Gini importance of each of the N-1 configuration parameters is determined based on the second random forest model, wherein the second random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N-1 configuration parameters; Determine the variance importance of each of the N-1 configuration parameters according to the fourth data set, wherein the fourth data set has D groups of data, each group of data in the D groups of data includes a group of parameter values of the N-1 configuration parameters and a performance indicator value when the target software is running under the group of parameter values, the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the D groups of data where the configuration parameter is the specified parameter value; D is an integer greater than or equal to 2; Determine the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, and obtain the target parameter values of the N-1 configuration parameters; A target configuration parameter is determined from the N-1 configuration parameters according to the target parameter values of the N-1 configuration parameters.
8. A parameter determination device, characterized in that: include: A first determination module is used to determine a first data set, wherein the first data set includes M groups of data, each group of data in the M groups of data includes a group of parameter values of N configuration parameters and a performance indicator value when the target software runs under the group of parameter values, each group of parameter values in the M groups of data is different from each other, the N configuration parameters are configuration parameters of the target software, and M and N are integers greater than or equal to 2; a processing module, configured to obtain a first random forest model based on the first data set through training, and determine the Gini importance of each of the N configuration parameters based on the first random forest model, wherein the first random forest model is used to predict the performance indicator value of the target software when the target software is running under the set of parameter values according to a set of parameter values of the N configuration parameters; A second determination module is used to determine the variance importance of each of the N configuration parameters according to a second data set, wherein the second data set has P groups of data, each group of data in the P groups of data includes a group of parameter values of the N configuration parameters and a performance indicator value when the target software is running under the group of parameter values, and the variance importance of the configuration parameter is used to indicate the degree of change in the variance of the performance indicator value of the group data set caused by the change in the parameter value of the configuration parameter, and when the parameter value of the configuration parameter is a specified parameter value, the group data set corresponding to the configuration parameter under the specified parameter value includes: a plurality of groups of data in the P groups of data where the configuration parameter is the specified parameter value; and P is an integer greater than or equal to 2; A third determination module is used to determine the target parameter value of each configuration parameter according to the Gini importance and the variance importance of each configuration parameter, so as to obtain the target parameter values of the N configuration parameters; A fourth determination module is used to determine a target configuration parameter from the N configuration parameters according to the target parameter values of the N configuration parameters, wherein the degree of influence of the target configuration parameter on the performance of the target software is greater than a preset degree of influence.
9. 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 7 when executed by a processor.
10. 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 7 are implemented.
Citation Information
Patent Citations
Database parameter adjustment method and device and computer readable storage medium
CN113064879A
Parameter configuration method and device
CN114756607A
Parameter adjustment method and device, electronic equipment and storage medium
CN116450606A
Second-hand house price prediction method based on deep learning
CN118569892A
PMV estimation model generation system and method
KR102598352B1