Running performance optimization method and device, equipment, medium and program product
By evaluating and reducing configurable parameters, and combining them with application and business types, Monte Carlo tree search and transfer learning are used to optimize parameter assignment. This solves the problem of low efficiency in performance tuning caused by a large number of parameters, and achieves efficient and accurate performance optimization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2026-03-31
AI Technical Summary
In general computing scenarios, such as database applications, big data applications, or network applications, optimizing performance by manually adjusting the values of configurable parameters is inefficient, especially since the number and types of parameters are huge, making it difficult to quickly and accurately reach the estimated maximum performance.
By determining the evaluation values of multiple configurable parameters, the target parameter set is determined after dimensionality reduction. The parameter assignments are estimated according to the application and business type. The Monte Carlo tree search algorithm and transfer learning are used to update the parameters and adjust the model. Closed-loop optimization is carried out in combination with the performance evaluation results to ensure the accuracy and efficiency of parameter assignment.
It improves the efficiency and accuracy of performance tuning, reduces computational load, ensures the effectiveness of performance tuning, adapts to environmental changes, and enhances dynamism.
Smart Images

Figure CN121764547A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to methods, apparatus, devices, media, and program products for optimizing operating performance. Background Technology
[0002] Currently, for general computing scenarios such as database applications, big data applications, or network applications, each application can perform its own CRUD (Create, Read, Update, Delete) operations. Each application has several configurable parameters, which can be adjusted to optimize the application's performance based on the hardware resources available in the runtime environment.
[0003] In related technologies, the performance of an application can be improved by adjusting the values of configurable parameters through human experience. However, since there are a large number of configurable parameters that need to be optimized in an application, human experience alone cannot quickly and accurately adjust the performance to the estimated maximum value, resulting in poor efficiency in performance adjustment. Summary of the Invention
[0004] This application provides a method, apparatus, device, medium, and program product for optimizing operating performance, thereby improving the efficiency of operating performance adjustment.
[0005] In a first aspect, this application provides a method for optimizing runtime performance. The method includes: determining the evaluation values of multiple configurable parameters in an application, wherein the evaluation values characterize the degree of impact of the assignment of configurable parameter values on the runtime performance of the business executed by the application; determining a target parameter set from the multiple configurable parameters based on their respective evaluation values, wherein the number of configurable parameters in the target parameter set is less than the total number of configurable parameters; and estimating the first assignment value of the configurable parameters in the target parameter set based on the application and the type of business executed by the application.
[0006] Understandably, by using evaluation values, the impact of assigning values to multiple configurable parameters on the operational performance of the application's business is visualized. Based on these evaluation values, a subset of configurable parameters is selected as the target parameter set. Then, according to the type of business the application executes, the first assigned value of the configurable parameters in the target parameter set that maximizes operational performance is estimated. By using evaluation values to reduce the dimensionality of the application's multiple configurable parameters, setting the estimated first assigned value for the configurable parameters in the reduced target parameter set has a smaller or no impact on the maximum achievable operational performance of the application's business. This avoids the process of estimating values for a large number of configurable parameters that have a small or no impact on the operational performance of the application's business, reducing computational load and ensuring the effectiveness of performance tuning while improving the efficiency of performance tuning.
[0007] In one possible implementation, determining the first assignment of configurable parameters in the target parameter set based on the application and the type of business performed by the application includes: determining the target parameter adjustment model based on the application and the type of business performed by the application; and estimating the first assignment of configurable parameters in the target parameter set based on the target parameter adjustment model.
[0008] It is understandable that since different applications execute different types of business, the parameter tuning models corresponding to these models are different. Using mismatched parameter tuning models for assignment prediction may lead to inaccurate prediction. Determining the first assignment of configurable parameters in the target parameter set according to the type of business executed by the application can improve the accuracy of the first assignment prediction of the dimensionality-reduced configurable parameters, thereby ensuring the performance tuning effect of the business executed by the application.
[0009] In one possible implementation, the target parameter adjustment model is determined based on the application and the type of business performed by the application. This includes: if the model library does not contain a parameter adjustment model corresponding to the type of application and the business performed by the application, obtaining a parameter adjustment sample model; and updating the parameter adjustment sample model through transfer learning to obtain the target parameter adjustment model corresponding to the type of application and the business performed by the application.
[0010] It is understandable that a model library exists in the computing device. This model library may store parameter tuning sample models, as well as parameter tuning models corresponding to the types of business executed by some applications. If it is determined that the model library does not include parameter tuning models corresponding to the types of business executed by the current application, parameter tuning sample models can be obtained, and the parameter tuning sample models can be updated through transfer learning to obtain the target parameter tuning model corresponding to the types of business executed by the application. This ensures the accuracy of the initial value prediction of the dimensionality-reduced configurable parameters, thereby ensuring the performance tuning effect of the business executed by the application.
[0011] In one possible implementation, the method further includes: obtaining performance evaluation results, which are used to indicate the degree of deviation between actual operating performance and estimated operating performance. The actual operating performance is the operating performance of the application after adjusting the configurable parameters to the first assigned value, and the estimated operating performance is the estimated operating performance of the application after adjusting the configurable parameters to the first assigned value; and updating the target parameter adjustment model based on the performance evaluation results.
[0012] Understandably, by obtaining the degree of deviation between the actual operating performance of the business under the first assignment and the maximum operating performance of the business predicted by the model, the target parameter adjustment model is iteratively updated through a negative feedback mechanism of closed-loop optimization, thereby ensuring that the prediction results of the target parameter adjustment model become more and more accurate, and thus improving the optimization effect of the operating performance of the application's execution business.
[0013] In one possible implementation, determining the target parameter set from multiple configurable parameters based on their respective evaluation values includes: determining the target parameter set from multiple configurable parameters using a Monte Carlo tree search algorithm based on their respective evaluation values.
[0014] Understandably, the Monte Carlo tree search algorithm can extract the combined effects of multiple configurable parameters based on their evaluation values to predict the impact on runtime performance. This ensures that the configurable parameters retained after dimensionality reduction can be accurately determined by combining the coupling relationships of multiple configurable parameters, thereby improving the efficiency of runtime performance tuning while ensuring the tuning effect.
[0015] In one possible implementation, before determining the first value of the configurable parameters in the target parameter set based on the type of business performed by the application, the method further includes: collecting first feature data of the business performed by the application; and performing fuzzy perception based on the first feature data to determine the application and the type of business performed by the application.
[0016] Understandably, by using fuzzy perception to determine the type of application and the type of business it executes based on the first feature data generated by the application's business execution, the perceptual accuracy in determining the type of business executed by the application is ensured.
[0017] In one possible implementation, fuzzy perception includes membership degree calculation.
[0018] In one possible implementation, the method further includes: collecting hardware information of the application's runtime environment and software information of the application, wherein the software information includes multiple configurable parameters, and the configurable parameters are assigned a first value; and determining the actual running performance of the business executed by the application based on the hardware information and the software information, wherein the actual running performance is the running performance of the application after the configurable parameters are adjusted to the first value.
[0019] Understandably, by collecting hardware information of the current application runtime environment and software information of the application, the actual runtime performance of the application can be calculated, thereby ensuring the effectiveness of subsequent performance tuning while improving the efficiency of performance tuning.
[0020] Secondly, embodiments of this application provide a performance optimization apparatus for executing any of the performance optimization methods provided in the first aspect above.
[0021] In one possible implementation, embodiments of this application can divide the performance optimization device into functional modules according to the method provided in the first aspect above. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. Exemplarily, embodiments of this application can divide the performance optimization device into an evaluation module, a determination module, and an assignment module, etc., according to their functions. The descriptions of the possible technical solutions and beneficial effects of the various functional modules described above can be found in the technical solutions provided in the first aspect above or its corresponding possible implementations, and will not be repeated here.
[0022] Thirdly, embodiments of this application provide a computing device that includes a processor and a memory, the processor being coupled to the memory; the memory is used to store computer instructions, which are loaded and executed by the processor to enable the computing device to implement the performance optimization method as described above.
[0023] Fourthly, embodiments of this application provide a computer-readable storage medium storing at least one computer program instruction, which is loaded and executed by a processor to implement the performance optimization method as described above.
[0024] Fifthly, embodiments of this application provide a computer program product including computer instructions stored in a computer-readable storage medium. A processor of a computing device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computing device cluster to perform the performance optimization methods provided in the various optional implementations of the first aspect described above.
[0025] For a detailed description of the second to fifth aspects and their various implementations in this application, please refer to the detailed description in the first aspect and its various implementations; and for a detailed analysis of the beneficial effects of the second to fifth aspects and their various implementations in the first aspect and its various implementations, please refer to the beneficial effect analysis in the first aspect and its various implementations, which will not be repeated here.
[0026] These or other aspects of this application will become more readily apparent in the following description. Attached Figure Description
[0027] Figure 1 This is a schematic diagram illustrating a performance optimization scenario according to an exemplary embodiment;
[0028] Figure 2 This is a schematic diagram of a system architecture according to an exemplary embodiment;
[0029] Figure 3 This is a schematic diagram of the hardware architecture of a computing device according to an exemplary embodiment;
[0030] Figure 4 This is a flowchart illustrating a performance optimization method according to an exemplary embodiment;
[0031] Figure 5 yes Figure 4 The illustrated embodiment is a schematic diagram of a process architecture for optimizing the runtime performance of application execution services.
[0032] Figure 6 A schematic diagram of the structure of a performance optimization device 500 provided in an exemplary embodiment of this application is shown. Detailed Implementation
[0033] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0034] In this article, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0035] Furthermore, in the description of this application, unless otherwise stated, "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0036] Furthermore, to facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with substantially the same function and effect. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and that "first" and "second" are not necessarily different. Meanwhile, in the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is being used as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of terms such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.
[0037] First, the application scenarios of the embodiments of this application will be introduced by way of example.
[0038] Currently, computer systems are filled with a wide variety of applications and their subordinate business functions. As the performance requirements for these business functions increase, but the actual hardware resources in computer systems are limited, a contradiction arises between the increasing performance demands of these applications and the limited resources available in the operating environment.
[0039] In related technologies, one approach is to obtain an initial parameter set, which includes parameters that need to be tuned. Each parameter that needs to be tuned is assigned an initial value. After adjusting the assigned values of the parameters in each round, the actual operation is performed to determine the running performance, and then the parameter values are adjusted in the next round. Since the number of parameters that need to be tuned is large and the range of assigned values is large, the number of rounds of iterative tuning is huge, resulting in poor accuracy and generalization, thus leading to poor tuning efficiency.
[0040] To address the challenges of large parameter volumes, insufficient sample size for accelerated modeling within a limited timeframe, and poor dynamism in optimizing application performance, particularly in response to environmental changes such as workload, hardware configuration, and software version updates (where optimal parameter configurations become obsolete and new optimization strategies are necessary), a new approach can be adopted. This involves periodically collecting application performance data and evaluating the importance of each configurable parameter. By reducing the number of adjustable parameters while maintaining consistent performance, the overall parameter volume can be minimized.
[0041] In view of this, embodiments of this application provide a method for optimizing runtime performance. A computing device can determine the evaluation values of multiple configurable parameters in an application. These evaluation values can be used to characterize the degree of impact of the assignment of configurable parameter values on the runtime performance of the services executed by the application. Then, based on the evaluation values of the multiple configurable parameters, a target parameter set is determined from the multiple configurable parameters. According to the type of services executed by the application, a first assignment value is determined for the configurable parameters in the target parameter set, so that the application adjusts the target parameters according to the first assignment value. By reducing the dimensionality of the configurable parameters, the efficiency of runtime performance tuning is improved.
[0042] For example, Figure 1 This is a schematic diagram illustrating a scenario for performance optimization provided in an embodiment of this application. In scenarios where it is necessary to optimize the performance of an application or business, such as... Figure 1 As shown, there is a computer system 10 and a performance optimization system 20 in the computer system 10. In terms of hardware, the computer system 10 may include one or more hardware devices, such as computer equipment, servers or mobile terminals. The performance optimization system 20 in the computer system 10 may be a storage medium equipped with communication interfaces, software programs and computing models, such as, but not limited to, optical discs, portable hard drives, USB flash drives, etc.; or, the performance optimization system 20 may also be a software program that is supported to run on the hardware device of the computer system 10.
[0043] Optionally, the hardware of the computer system 10 may run at least one application for a general computing scenario. That is, the computer system 10 may run application 1, application 2, etc.; application 1 may execute business 1, business 2, business 3, etc., and application 2 may execute business 1, business 2, business 3, etc.
[0044] This application can include database applications for general computing scenarios (such as Redis and MySQL), big data applications, and network applications. Each application can execute multiple business operations, which can be different types of functionalities such as writing, querying, modifying, and deleting. For example, the business operations executed in a database application could be CRUD operations on data or tables in the database.
[0045] Optionally, the hardware devices running applications in computer system 10 that require performance optimization for business operations can transmit data with performance optimization system 20.
[0046] For example, the performance optimization system 20 can be accessed through hardware such as optical discs, external hard drives, and USB flash drives in the computer system 10 to the hardware device where the application that requires performance optimization is located. Alternatively, the performance optimization system 20 can be a program plug-in in the software system running on the hardware device where the application that requires performance optimization is located in the computer system 10. The performance optimization system 20 can be run through the basic input output system (BIOS) or the operating system.
[0047] In addition, if an application that requires performance optimization is running on hardware devices in other computer systems, the hardware devices in computer system 10 that run performance optimization system 20 support direct or indirect data transmission with hardware devices in other computer systems.
[0048] In other words, if the performance optimization system 20 supports data interaction with the hardware device where the application that requires performance optimization is located, then the performance optimization system 20 can optimize the performance of the application's execution.
[0049] The system architecture of the embodiments of this application will be described exemplarily below.
[0050] Specifically, Figure 2 This is a schematic diagram of a system architecture provided in an embodiment of this application. For example... Figure 2 As shown, applications requiring performance optimization can interact with the performance optimization system 20. The performance optimization system 20 may include a data acquisition module, a parameter reduction module, a fuzzy perception module, a transfer learning module, a closed-loop tuning module, and storage media. The performance optimization system 20 can run on environments such as... Figure 1In the computer system 10 shown, the hardware devices connected to the computer system 10 in hardware form or running on the hardware devices of the computer system 10 in software form, the specific implementation of the performance optimization system 20 is as follows: Figure 1 The embodiments shown are described herein and will not be repeated here.
[0051] The system comprises several modules: a data acquisition module, a fuzzy perception module, and a closed-loop optimization module. The data acquisition module collects raw hardware and software information from the application and business to be optimized. It extracts evaluation values for configurable parameters, feature data for effective applications, and feature data for effective businesses. A fuzzy perception module receives feature data for effective applications and businesses, and uses this data to determine the application and business types. A parameter dimensionality reduction module receives evaluation values and reduces the dimensionality of configurable parameters based on these values, specifically through Monte Carlo tree search. A transfer learning module determines whether a parameter adjustment model corresponding to the current application and the type of business being executed by the application already exists in the model library. If not, a new parameter adjustment model is retrained based on transfer learning. A closed-loop optimization module determines the performance evaluation result based on the actual operating performance fed back by the application and the estimated operating performance output by the performance optimization system 20. Based on the performance evaluation result, closed-loop optimization control is performed. If the operating performance corresponding to the newly assigned configurable parameters from the performance optimization system 20 is better than the operating performance before the assignment, the corresponding parameter adjustment model in the model library is refreshed. The storage medium can be used to store information related to models for fuzzy perception, configurable parameters for tuning, and parameter adjustment models for tuning configurable parameters, and can enable information exchange between the storage medium and related modules.
[0052] The hardware architecture of the embodiments of this application will be described exemplarily below.
[0053] For example, taking the performance optimization system 20 as an example, which is connected to the computer system 10 in the form of a computing device, Figure 3 This is a schematic diagram of the hardware architecture of a computing device provided in an embodiment of this application. Figure 3 As shown, the computing device 30 includes at least: a memory 31, a processor 32, and a bus 33.
[0054] The memory 31 can be used to store the logic code corresponding to the performance optimization method provided in the embodiments of this application; or, the memory 31 can store the logic code corresponding to the execution of a certain step by the computing device 30 described in the following embodiments. The memory 31 may also include, for example: Figure 2 The storage medium shown serves as a model library for storing parameter adjustment models.
[0055] Processor 32 can be used to run logic code.
[0056] Optionally, the computing device 30 can be a terminal device or a server. The terminal device can include computers, mobile terminals, tablets, laptops, desktop computers, all-in-one computers, augmented reality (AR) devices, virtual reality (VR) devices, mixed reality (MR) devices, extended reality (ER) devices, personal digital assistants (PDAs), ultra-mobile personal computers (UMPCs), etc. The server can include cluster servers, etc.
[0057] Optionally, the memory 31 may include random access memory (RAM), read-only memory (ROM), etc.
[0058] Optionally, the processor 32 can be a central processing unit (CPU) or other general-purpose processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0059] Optionally, bus 33 can be a peripheral component interconnect (PCI) bus or a peripheral component interconnect express (PCIe) bus, etc. For ease of illustration, Figure 3 The bus 33 is represented by only one line, but this does not mean that there is only one bus or one type of bus. The bus 33 may include a path for transmitting information between various components of the computing device 30 (e.g., memory 31, processor 32).
[0060] in addition, Figure 1 The computer system 10 shown can also be used as Figure 3 The illustrated computing device architecture, in one scenario, if the performance optimization system 20 also operates... Figure 3 The illustrated computing device structure allows for data interaction between the computing device corresponding to computer system 10 and the computing device corresponding to performance optimization system 20. The processor in the computing device corresponding to performance optimization system 20 can call and execute program instructions for performance optimization methods stored in memory, causing the computing device corresponding to performance optimization system 20 to execute the performance optimization method. Alternatively, if part of performance optimization system 20 is implemented using a storage medium, such as an optical disc, external hard drive, or USB flash drive, the other part of performance optimization system 20 can be implemented through the processor in the computing device corresponding to computer system 10. The processor in the computing device corresponding to computer system 10 can call and execute program instructions for performance optimization methods stored in the storage medium, causing the computing device corresponding to performance optimization system 20 to execute the performance optimization method.
[0061] It should be noted that the application scenarios and system architectures described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0062] Figure 4 This is a flowchart illustrating a performance optimization method provided in an embodiment of this application. The performance optimization method can be implemented by, for example... Figure 1 , Figure 2 The performance optimization system 20 shown is executed, or is performed by... Figure 3 The computing device 30 shown executes the following performance optimization method:
[0063] S201, determine the evaluation values of each of the multiple configurable parameters in the application.
[0064] In this embodiment of the application, the performance optimization system can determine the evaluation value of each configurable parameter in the currently running application. The evaluation value can be used to characterize the degree of impact of the assignment of the configurable parameter on the running performance of the business executed by the application.
[0065] Among them, the performance optimization system can evaluate the impact of the assignment of each configurable parameter on the performance based on the historical data of the performance of the application execution business collected, as well as the assignment of each configurable parameter in the application corresponding to each performance, and obtain the evaluation value of each configurable parameter.
[0066] Specifically, if the performance of the configurable parameter 'a' is m1 when assigned the value a1, m2 when assigned the value a2, and m3 when assigned the value a3, the degree of influence of the configurable parameter 'a' on the performance 'y' is determined based on the changes in the assigned values of a1 to a2 and then to a3 and the changes in the performance of m1 to m2 and then to m3. The evaluation value of the configurable parameter 'a' is then determined based on the degree of influence. The larger the evaluation value, the greater the influence on the performance, and the smaller the evaluation value, the smaller the influence on the performance.
[0067] For example, if the performance changes of configurable parameter b when assigned the value b1, b2, and b3 are all within a specified range—meaning the performance changes little with the assignment of configurable parameter b—then the evaluated value of configurable parameter b can be determined to be small. In other words, the degree of change and the evaluated value can be positively correlated.
[0068] The performance optimization system can calculate the actual performance of the application's execution based on the hardware information of the application's operating environment and the software information of the application's execution business.
[0069] The performance optimization system collects raw hardware and software data from the application whose performance needs to be optimized. Hardware information may include details about the application's operating environment, such as CPU, memory, hard drive, and GPU. For example, the CPU's frequency, voltage, and computing power. Raw software data may include application-specific information, such as version information, as well as software information characterizing business execution, such as load during business operations, and configurable parameters within the application and their current values.
[0070] In other words, the performance optimization system can collect hardware information of the application's operating environment and software information of the application. The software information includes multiple configurable parameters. Based on the hardware and software information, the actual operating performance of the business executed by the application can be determined.
[0071] Since the subsequent performance optimization system needs to obtain the actual running performance of the application's business after adjusting the configurable parameters according to the first assignment in each round of the predicted target parameter set, so that the performance optimization system can compare the actual running performance with the predicted running performance and update the algorithm model used for the first assignment of the configurable parameters in the next round of the predicted target parameter set, the performance optimization system can determine the actual running performance of the application's business based on the collected hardware and software information.
[0072] Hardware information is independent of the running application and consists of fixed parameter values of the hardware in the application's environment, such as the processor's frequency, voltage, and computing power. Software information can include application-specific information, such as the application's version; it can also include software information reflecting the application's business execution status, such as the application's workload; and it can include the current values of some configurable parameters in the application, such as the ratio of read and write operations supported by the application. The application's business execution performance can be a processor performance metric, which can be the number of instructions executed by the processor per clock cycle.
[0073] For example, if the collected software information may include the application's CPU utilization rate reaching 80%, and the collected hardware information includes the CPU's frequency, voltage, and computing power, the computing device can multiply the CPU's computing power by 80% to represent the CPU's performance index when processing the service. The performance index can be represented by the number of instructions executed per clock cycle (IPC).
[0074] In one possible implementation, the performance optimization system can collect first characteristic data of the business executed by the application, perform fuzzy perception based on the first characteristic data, and determine the type of the application and the business executed by the application.
[0075] The first feature data refers to the feature data generated when the application performs business operations. Different applications performing different types of business operations will generate different feature data. Fuzzy perception includes various methods, such as membership degree calculation, cluster analysis, neural network algorithms, and similarity calculation.
[0076] For cases where the fuzzy perception method used is membership degree calculation, the computing device can treat the tunable application execution business as a fuzzy set, and use membership degree functions such as triangle, bell or Gaussian to calculate the membership degree of the tunable application execution business, and take the business type with the highest membership degree as the type of application execution business perceived.
[0077] In addition, the performance optimization system can also collect the second feature data of the application. First, it performs fuzzy perception based on the second feature data to determine the type of application. Then, it performs fuzzy perception based on the type of application and the second feature data to determine the type of business performed by that type of application.
[0078] In other words, the performance optimization system can first perform fuzzy perception based on the second feature data to determine the type of application, and then perform fuzzy perception based on the first feature data to determine the type of business.
[0079] Specifically, fuzzy perception can include two levels: application perception and business perception. The application perception cycle is the first cycle, and the business perception cycle is the second cycle, which means they can be synchronized with the collection cycle of their respective feature datasets.
[0080] In one possible implementation, the fuzzy perception module in the performance optimization system can perform fuzzy perception (e.g., cluster analysis, membership calculation, etc.) based on the received preprocessed application feature data and business feature data to calculate the application type and business type.
[0081] In one possible implementation, the performance optimization system can collect feature data during application operation in a first cycle, and feature data of business processes executed within the application in a second cycle. Since the feature data generated after application operation changes relatively little, while the feature data generated by the business processes executed within the application changes more frequently, in order to collect more comprehensive feature data, the first cycle needs to be longer than the second cycle; that is, the collection of business feature data needs to be more frequent than the collection of application feature data.
[0082] The first period can be k times the second period, where k is a positive integer greater than 1.
[0083] For example, after an application starts, various business operations will frequently occur, such as CRUD (Create, Read, Write) operations. Application characteristic data can include viewing the current process name, while business characteristic data can include read or write characteristics. Application characteristic data is collected over a period of time A, and business characteristic data is collected over a period of time L (A>L, A=kL, k=2,3,4…).
[0084] In one possible implementation, the runtime performance optimization system can preprocess the acquired application feature data and business feature data to obtain effective application feature data and effective business feature data.
[0085] In other words, the types of feature data obtained for different types of applications or services are the same. However, since the types of feature data related to operational performance differ for different types of applications or services, preprocessing is required to obtain effective feature datasets for applications and services.
[0086] For example, if the value of the application feature data p collected before the start of business 1 in application 1 is basically unchanged from the value of the application feature data p collected after the start of business 1, then the application feature data p can be determined as invalid feature data of the application; otherwise, it can be determined as valid feature data of the application.
[0087] S202, determine the target parameter set from the multiple configurable parameters based on their respective evaluation values.
[0088] In this embodiment of the application, the performance optimization system can perform dimensionality reduction on the configurable parameters of the application based on the evaluation values of multiple configurable parameters. It determines a portion of the configurable parameters from the multiple configurable parameters as a target parameter set. The number of configurable parameters in the target parameter set is less than the total number of configurable parameters, thereby achieving the purpose of dimensionality reduction of the configurable parameters.
[0089] In one possible implementation, the runtime performance optimization system can reduce the dimensionality of the configurable parameters that need to be adjusted for tuning runtime performance by using the received evaluation values of the configurable parameters and following a Monte Carlo tree search algorithm.
[0090] In other words, by using the Monte Carlo tree search algorithm, the performance optimization system can determine the target parameter set from multiple configurable parameters based on their respective evaluation values.
[0091] For example, the performance optimization system uses a parameter dimensionality reduction module to conduct statistical experiments using a Monte Carlo tree search algorithm based on the received evaluation values of configurable parameters. It performs assignment experiments on multiple combinations of configurable parameters in each configurable parameter set to ensure that the number of configurable parameters in the selected configurable parameter combinations (target parameter set) is reduced as much as possible without significantly affecting the performance indicators.
[0092] The Monte Carlo tree search algorithm is applied to the dimensionality reduction process of configurable parameters as follows: by using the configurable parameters as nodes of the Monte Carlo tree, the evaluation value of each configurable parameter is used as the initial value (v) of each node, and the optimal child node is recursively selected until a leaf node is reached. The quality of the node can be judged by the upper confidence bound (UCB) algorithm, and the calculation formula of UCB is as follows.
[0093]
[0094] Among them, S i For the current node, The average value of the current node, c is a constant, which can be set to 2, N is the total number of explorations, and n i This represents the number of times the current node has been explored.
[0095] The UCB formula described above can be used to calculate the UCB value of all nodes, and the child node with the largest UCB value can be selected for iteration. If the current leaf node is not the terminal node, one or more child nodes can be created, one of which can be selected for expansion. Starting from the expanded node, the simulation output is run, and then the simulation results are used to backpropagate and update the current node sequence.
[0096] In other words, the Monte Carlo tree search algorithm is applied to the dimensionality reduction process of configurable parameters. The simulation results of each branch are calculated according to the above steps (the simulation result is considered to be a failure if the running performance is lower than the specified threshold, and a simulation result is considered to be a success if the running performance is higher than the specified threshold). Finally, the branch with the fewest configurable parameters is selected as the target parameter set, thereby ensuring that the number of adjustable parameters selected is minimized while having little impact on the running performance indicators.
[0097] S203, based on the application and the type of business performed by the application, determine the first value to be assigned to the configurable parameter in the target parameter set.
[0098] In this embodiment, the performance optimization system can determine a first value for a configurable parameter in the target parameter set based on the application and the type of service executed by the application. This first value is the value of the configurable parameter in the target parameter set when the estimated performance is maximized. This optimizes the performance of the service executed by the application.
[0099] In one possible implementation, the runtime performance optimization system determines the target parameter adjustment model based on the application and the type of business performed by the application, and estimates the first assignment of configurable parameters in the target parameter set based on the target parameter adjustment model.
[0100] Since the target parameter adjustment model is a model that optimizes the configurable parameters in the target parameter set with the goal of adjusting the running performance of the application execution business to be higher than the current running performance of the application execution business, under ideal conditions, the target parameter adjustment model can predict the first value of the configurable parameters in the target parameter set when the running performance is maximized.
[0101] The target parameter adjustment model can be an algorithmic model used to determine the values of configurable parameters in the target parameter set when optimizing the operational performance of a service, or even when it is at its maximum. This model can be a mathematical model or a neural network model. The parameter adjustment model can be different for each type of service executed by each application. Therefore, it is necessary to determine the corresponding target parameter adjustment model based on the type of service executed by the application. Based on the target parameter adjustment model, the initial values of configurable parameters in the target parameter set can be predicted when optimizing the operational performance of the service executed by the application, or even when it is at its maximum.
[0102] The parameter tuning model can be pre-stored in a model library, which can be located within the storage medium of the performance optimization system.
[0103] In one possible implementation, if the model library does not include parameter adjustment models corresponding to the types of business executed by the application, a parameter adjustment sample model is obtained, and the parameter adjustment sample model is updated through transfer learning to obtain the target parameter adjustment model corresponding to the types of business executed by the application.
[0104] Because of the wide variety of applications and the diverse types of business processes they perform, it is impossible for the model library to store parameter adjustment models for every type of business process performed by every application. Therefore, if the target parameter adjustment model corresponding to the type of business process performed by the application is not found in the model library, the computing device needs to perform transfer learning based on the parameter adjustment models that exist in the current model library, thereby updating the existing parameter adjustment models to the target parameter adjustment models.
[0105] In other words, after determining the type of business that the application is performing, the computing device can determine whether there is a parameter adjustment model in the model library that corresponds to the type of the current application or business. If not, it will retrain the parameter adjustment model based on transfer learning.
[0106] Specifically, the computing device can select the corresponding parameter adjustment model from the model library based on the application type and business type. If a parameter adjustment model for that type exists in the model library, it can be retrained based on the dimensionality-reduced configurable parameter samples, estimated operating performance indicators, and hardware and software information. The retrained parameter adjustment model is then called to output the first assigned value of the dimensionality-reduced adjustable parameters when the business operating performance is optimal. If no parameter adjustment model for that type exists, a parameter adjustment model for that type can be constructed using parameter adjustment model samples, dimensionality-reduced adjustable parameter samples, estimated operating performance indicators, and hardware and software information. The newly constructed parameter adjustment model for that type is then called to output the first assigned value of the dimensionality-reduced adjustable parameters when the business operating performance is optimal. Alternatively, if no parameter adjustment model for that type exists, the existing parameter adjustment model can be updated using transfer learning with the existing parameter adjustment model, dimensionality-reduced adjustable parameter samples, estimated operating performance indicators, and hardware and software information to obtain a parameter adjustment model for that type. The updated parameter adjustment model for that type is then called to output the first assigned value of the dimensionality-reduced adjustable parameters when the business operating performance is optimal.
[0107] For example, in virtual machines of different specifications, such as a 4-core 8GB virtual machine, a parameter tuning model for tuning parameters is trained. However, the parameter tuning model trained in the 4-core 8GB virtual machine is not suitable for the 8-core 16GB virtual machine. Transfer learning or incremental learning is needed to update the existing parameter tuning model to adapt it to the scenario of the 8-core 16GB virtual machine.
[0108] In one possible implementation, the performance optimization system can obtain performance evaluation results, which can be used to indicate the degree of deviation between actual and estimated operating performance. The computing device updates the target parameter adjustment model based on the performance evaluation results.
[0109] Among them, actual operating performance is the operating performance of the application after the configurable parameters are adjusted to the first assigned value, and estimated operating performance is the estimated operating performance of the application after the configurable parameters are adjusted to the first assigned value. Specifically, estimated operating performance is the operating performance estimated by the target parameter adjustment model after optimization, or even the maximum operating performance.
[0110] In other words, the performance optimization system can perform closed-loop tuning control based on the feedback performance evaluation results. If the performance of the newly assigned configurable parameter is better than the performance before the assignment, the corresponding parameter adjustment model in the model library will be updated.
[0111] If the application continuously performs business operations, the performance optimization system can continuously tune the application's performance. Each time, the performance optimization system sets the first value of the configurable parameters in the target parameter set output by the parameter adjustment model in the application. After the application sets the configurable parameters according to the first value, it feeds back the actual performance of the application's business operations to the computing device. If the actual performance is improved compared to the performance before the reassignment, the target parameter adjustment model in the model library can be updated or stored in the model library. If the actual performance is not improved or even decreased compared to the performance before the reassignment, the target parameter adjustment model with the first value can be deleted, and the performance optimization system will recalculate the first value according to the above steps. If the actual performance is improved compared to the performance before the reassignment but the actual performance has not reached the estimated maximum performance, the computing device determines the degree of deviation between the actual and estimated performance, updates the target parameter adjustment model according to the degree of deviation, and stores the updated target parameter model in the model library, awaiting the next round of first value calculation and model update. By iteratively updating the target parameter adjustment model, the performance of the application's execution business can be made closer and closer to the estimated optimized or even maximum performance. In other words, the first assignment of the configurable parameters in the target parameter set can be adjusted multiple times to continuously optimize the performance of the application's execution business.
[0112] For example, Figure 5 This is a schematic diagram of a process architecture for optimizing the runtime performance of application execution services, as described in an embodiment of this application. Figure 5 As shown, if application A is running in the computer system, application A can execute service 1 and service 2. Let's take adjusting the service performance of application A when executing service 1 as an example.
[0113] First, the data acquisition module in the performance optimization system 30 acquires hardware information, software information when application A executes business 1, application feature data (second feature data), and business feature data (first feature data) generated during the application's business execution process (S31). The hardware information here is unrelated to the running application; it consists of fixed parameter values of the hardware on the computing device running the application. The software information can include fixed software information of application A, such as version information; it can also include software information reflecting the business execution status, such as the load situation when executing business 1; and it can also include the current values of some configurable parameters in application A, such as the ratio of read and write operations supported by application A. The data acquisition module extracts the running performance indicators of business 1 from the acquired information, calculates the evaluation values of configurable parameters, and preprocesses the feature data (S32). For example, the acquired software information may include the CPU utilization rate of business 1 reaching 80%, and the hardware information may include the CPU frequency, voltage, and provided computing power. Therefore, multiplying by 80% represents the CPU performance indicator when processing business 1. Preprocessing removes useless features, only retaining the features required by the current application as valid features.
[0114] Then, the data acquisition module transmits the evaluation values to the parameter dimensionality reduction module. The parameter dimensionality reduction module, based on the received evaluation values of the configurable parameters, uses a Monte Carlo tree search algorithm to search and simulate, ensuring that the number of adjustable parameters is minimized while having minimal impact on operational performance indicators, thus achieving dimensionality reduction for the configurable parameters requiring optimization (S33). Simultaneously, the data acquisition module can also send effective feature datasets to the fuzzy perception module. The fuzzy perception module performs clustering based on the received preprocessed application feature data and business feature data, calculating the application type and business type (S34). Specifically, membership degree calculation can be used.
[0115] Then, the fuzzy perception module determines whether the storage medium stores the parameter adjustment model corresponding to service 1 executed by application A. If it exists, it retrieves the corresponding parameter adjustment model from the model library of the storage medium. If it does not exist, it retrieves the parameter adjustment sample model from the model library of the storage medium and sends the parameter adjustment sample model to the transfer learning module. The transfer learning module can perform transfer learning on the parameter adjustment sample model based on the dimensionality-reduced configurable parameters, the estimated operating performance indicators, and hardware and software information to obtain the target parameter adjustment model corresponding to this type (S35). The first value of the configurable parameters in the target parameter set when the operating performance of service 1 is optimal is output through the target parameter adjustment model and assigned to the computer system 10. Application A configures the corresponding configurable parameters according to the first value. Then, application A executes service 1 and feeds back the operating performance of service 1 after the first value to the operating performance optimization system. The closed-loop optimization module performs closed-loop optimization control based on the operating performance of service 1 after the first value. If the operating performance corresponding to the newly assigned configurable parameters is better than the operating performance corresponding to the old assigned configurable parameters, the target parameter adjustment model corresponding to the model library of the storage medium is refreshed (S36).
[0116] In summary, by using evaluation values to visualize the impact of assigning values to multiple configurable parameters on the operational performance of the application, a subset of configurable parameters are selected as the target parameter set based on their evaluation values. Then, according to the type of business executed by the application, the first assigned value of the configurable parameters in the target parameter set is estimated. This evaluation value-based approach reduces the dimensionality of the application's multiple configurable parameters, ensuring that setting the estimated first assigned value for the configurable parameters in the reduced target parameter set has a minimal or no impact on the maximum achievable operational performance of the application. This avoids the need to estimate values for a large number of configurable parameters with minimal or no impact on the operational performance of the application's business, reducing computational load and ensuring effective performance tuning while improving the efficiency of performance tuning.
[0117] The foregoing mainly describes the solutions of the embodiments of this application from a methodological perspective. It is understood that, in order to achieve the above-mentioned functions, the performance optimization apparatus includes at least one of the hardware structures and software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0118] This application embodiment can divide the performance optimization device into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one processing unit. The integrated unit can be implemented in hardware or as a software functional unit. It should be noted that the unit division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods.
[0119] For example, Figure 6 A schematic diagram of a performance optimization apparatus 500 provided in an exemplary embodiment of this application is shown. The performance optimization apparatus 500 is applied in a computing device, or the performance optimization apparatus 500 may be a computing device. The performance optimization apparatus 500 includes:
[0120] Evaluation module 510 is used to determine the evaluation value of each of multiple configurable parameters in the application, wherein the evaluation value is used to characterize the degree of impact of the assigned value of the configurable parameter on the running performance of the business executed by the application;
[0121] The determining module 520 is configured to determine a target parameter set from the plurality of configurable parameters based on the evaluation values of each of the plurality of configurable parameters, wherein the number of configurable parameters in the target parameter set is less than the total number of configurable parameters;
[0122] The assignment module 530 is used to estimate the first assignment value of the configurable parameters in the target parameter set based on the application and the type of business performed by the application.
[0123] For example, combining Figure 4 The evaluation module 510 can be used to perform tasks such as... Figure 4 As shown in S201, the determination module 520 can be used to perform, for example... Figure 4 As shown in S202, the assignment module 530 can be used to perform, for example... Figure 4 S203 is shown.
[0124] In one possible implementation, the assignment module 530 is further configured to determine a target parameter adjustment model based on the application and the type of business performed by the application; and to estimate the first assignment of the configurable parameters in the target parameter set based on the target parameter adjustment model.
[0125] In one possible implementation, the assignment module 530 is further configured to, if the model library does not include the parameter adjustment model corresponding to the type of application and the business executed by the application, obtain a parameter adjustment sample model; update the parameter adjustment sample model through transfer learning to obtain the target parameter adjustment model corresponding to the type of application and the business executed by the application.
[0126] In one possible implementation, the device further includes:
[0127] The model update module is used to obtain performance evaluation results, which indicate the degree of deviation between actual operating performance and estimated operating performance. The actual operating performance is the operating performance of the application after adjusting the configurable parameters to the first assigned value, and the estimated operating performance is the estimated operating performance of the application after adjusting the configurable parameters to the first assigned value. The target parameter adjustment model is updated based on the performance evaluation results.
[0128] In one possible implementation, the determining module 520 is further configured to determine the target parameter set from the plurality of configurable parameters based on the respective evaluation values of the plurality of configurable parameters using a Monte Carlo tree search algorithm.
[0129] In one possible implementation, the device further includes:
[0130] The type-aware module is used to collect first feature data of the service executed by the application before estimating the first value of the configurable parameters in the target parameter set according to the type of service executed by the application; and to perform fuzzy perception based on the first feature data to determine the type of the application and the service executed by the application.
[0131] In one possible implementation, the device further includes:
[0132] The performance acquisition module is used to collect hardware information of the application's operating environment and software information of the application. The software information includes multiple configurable parameters, and the configurable parameters are assigned the first value. Based on the hardware information and the software information, the actual operating performance of the business executed by the application is determined.
[0133] As an example, combined Figure 1 , Figure 2 The functions implemented in some or all of the evaluation module 510, determination module 520, and assignment module 530 of the performance optimization device can be achieved through... Figure 1 , Figure 2 The performance optimization system 20 in the middle can be executed, or it can be executed through the computing device 30 in the middle.
[0134] Specifically, the evaluation module 510 in the performance optimization device can... Figure 2 The data acquisition module in the middle is implemented, and the determination module 520 can be achieved through... Figure 2 The parameter dimensionality reduction module in the middle is implemented, and the assignment module 530 can be used. Figure 2 The system is implemented through the fuzzy perception module, transfer learning module, closed-loop optimization module, and the corresponding target parameter adjustment model in the storage medium.
[0135] In summary, by using evaluation values, the impact of assigning values to multiple configurable parameters on the operational performance of the application is visualized. Based on these evaluation values, a subset of configurable parameters is selected as the target parameter set. Then, according to the type of service executed by the application, the target values for the configurable parameters in the target parameter set that maximize operational performance are estimated. By using evaluation values to reduce the dimensionality of the application's multiple configurable parameters, setting estimated target values for the configurable parameters in the reduced target parameter set has a minimal or no impact on the maximum achievable operational performance of the application. This avoids the need to estimate values for a large number of configurable parameters with minimal or no impact on the operational performance of the application's services, reducing computational load and ensuring effective performance tuning while improving the efficiency of performance tuning.
[0136] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the above-provided performance optimization devices and the description of their beneficial effects can be found in the corresponding method embodiments, which will not be repeated here.
[0137] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform a performance optimization method.
[0138] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a digital resource management method or to perform a performance optimization method.
[0139] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for operational performance optimization, characterized by, The method comprises: determining respective evaluation values of a plurality of configurable parameters in an application, the evaluation values being used to represent the influence degree of the assignment of the configurable parameters on the running performance of the service executed by the application; determining a target parameter set from the plurality of configurable parameters according to the respective evaluation values of the plurality of configurable parameters, the target parameter set containing a number of configurable parameters less than the total number of configurable parameters; estimating a first assignment of the configurable parameters in the target parameter set according to the application and the type of the service executed by the application.
2. The method of claim 1, wherein, The determination of the first assignment of the configurable parameters in the target parameter set according to the application and the type of the service executed by the application comprises: determining a target parameter adjustment model according to the application and the type of the service executed by the application; estimating the first assignment of the configurable parameters in the target parameter set according to the target parameter adjustment model.
3. The method of claim 2, wherein, The determination of the target parameter adjustment model according to the application and the type of the service executed by the application comprises: if the parameter adjustment model corresponding to the application and the type of the service executed by the application is not included in a model library, obtaining a parameter adjustment sample model; updating the parameter adjustment sample model through transfer learning to obtain the target parameter adjustment model corresponding to the application and the type of the service executed by the application.
4. The method according to any one of claims 1 to 3, characterized in that, The method further comprises: obtaining a performance evaluation result, the performance evaluation result being used to indicate the deviation degree between an actual running performance and an estimated running performance, the actual running performance being the running performance of the service executed by the application after the configurable parameters are adjusted to the first assignment, and the estimated running performance being the running performance of the service executed by the application estimated after the configurable parameters are adjusted to the first assignment; updating the target parameter adjustment model through the performance evaluation result.
5. The method according to any one of claims 1 to 4, characterized in that, The determination of the target parameter set from the plurality of configurable parameters according to the respective evaluation values of the plurality of configurable parameters comprises: determining the target parameter set from the plurality of configurable parameters according to the respective evaluation values of the plurality of configurable parameters through a Monte Carlo tree search algorithm.
6. The method according to any one of claims 1 to 5, characterized in that, Before the estimation of the first assignment of the configurable parameters in the target parameter set according to the type of the service executed by the application, the method further comprises: collecting first feature data of the service executed by the application; determining the application and the type of the service executed by the application through fuzzy perception according to the first feature data.
7. The method according to any one of claims 1 to 6, characterized in that, The method further comprises: collecting hardware information of the application running environment and software information of the application, the software information including the plurality of configurable parameters, and the assignment of the configurable parameters being the first assignment; determining an actual running performance of the service executed by the application according to the hardware information and the software information, the actual running performance being the running performance of the service executed by the application after the configurable parameters are adjusted to the first assignment.
8. An operation performance optimization apparatus characterized by comprising: The device comprises: An evaluation module is configured to determine evaluation values of a plurality of configurable parameters in an application, the evaluation values being used to represent an influence of assignment of the configurable parameters on operational performance of a service performed by the application; A determination module is configured to determine a target parameter set from the plurality of configurable parameters according to the evaluation values of the plurality of configurable parameters, the target parameter set containing a number of configurable parameters less than a total number of configurable parameters; An assignment module is configured to estimate a first assignment of configurable parameters in the target parameter set according to the application and a type of the service performed by the application.
9. The apparatus of claim 8, wherein, The assignment module is further configured to determine a target parameter adjustment model according to the application and the type of the service performed by the application, and estimate the first assignment of the configurable parameters in the target parameter set according to the target parameter adjustment model.
10. The apparatus of claim 9, wherein, The assignment module is further configured to obtain a parameter adjustment sample model if the application and the type of the service performed by the application do not correspond to a parameter adjustment model in a model library, and update the parameter adjustment sample model through transfer learning to obtain the target parameter adjustment model corresponding to the application and the type of the service performed by the application.
11. The apparatus of any one of claims 8 to 10, wherein, The apparatus further includes: A model updating module is configured to obtain a performance evaluation result, the performance evaluation result being used to indicate a deviation between an actual operational performance and an estimated operational performance, the actual operational performance being operational performance of the service performed by the application after the configurable parameters are adjusted to the first assignment, and the estimated operational performance being estimated operational performance of the service performed by the application after the configurable parameters are adjusted to the first assignment, and update the target parameter adjustment model according to the performance evaluation result.
12. The apparatus of any one of claims 8 to 11, wherein, The determination module is further configured to determine the target parameter set from the plurality of configurable parameters according to the evaluation values of the plurality of configurable parameters through a Monte Carlo tree search algorithm.
13. The apparatus of any one of claims 8 to 12, wherein, The apparatus further includes: A type perception module is configured to collect first feature data of the service performed by the application before estimating the first assignment of the configurable parameters in the target parameter set according to the type of the service performed by the application, and determine the application and the type of the service performed by the application according to fuzzy perception of the first feature data.
14. The apparatus of any one of claims 8 to 13, wherein, The apparatus further includes: A performance obtaining module is configured to collect hardware information of an application execution environment and software information of the application, the software information including the plurality of configurable parameters, and assignment of the configurable parameters being the first assignment, and determine actual operational performance of the service performed by the application according to the hardware information and the software information, the actual operational performance being operational performance of the service performed by the application after the configurable parameters are adjusted to the first assignment.
15. A computing device, comprising: The computing device includes a processor and a memory, and the processor of the computing device is configured to execute instructions stored in the memory of the computing device, so that the computing device performs the operational performance optimization method in any one of claims 1 to 7.
16. A computer readable storage medium characterized by comprising computer program instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the run-time performance optimization method of any of claims 1-7.
17. A computer program product, characterised in that, The computer program product comprises instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the run-time performance optimization method of any of claims 1-7.