Method, device, storage medium and electronic device for determining target configuration information

By generating configuration information tables and performing automated testing, the performance and power consumption corresponding to different configuration information of the server are determined, and the problem of low server configuration adjustment efficiency in the prior art is solved, achieving more efficient and accurate server configuration optimization.

CN119759684APending Publication Date: 2025-04-04INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411825582.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-04-04

AI Technical Summary

Technical Problem

The prior art is inefficient and difficult to determine the most suitable server configuration when adjusting the server configuration to meet user needs.

Method used

By determining multiple configuration options related to server performance and power consumption that are not to be optimized, a configuration information table is generated and the server configuration options are modified according to the table for testing to determine the performance and power consumption under each configuration information, and finally select the appropriate target configuration information.

Benefits of technology

Improves efficiency and accuracy of server configuration tuning, ensures that tests cover all possible server configuration statuses, enable comprehensive evaluation of the performance and power consumption impact of each configuration, and helps users determine the most appropriate server configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119759684A_ABST
    Figure CN119759684A_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method, device, computer-readable storage medium and electronic device for determining target configuration information, which relate to the field of computers. The method includes: determining multiple configuration options related to the performance and power consumption of a server to be optimized; generating a configuration information table according to a combination of configuration parameters of multiple configuration options. According to the configuration information table, modify the configuration parameters of multiple configuration options of the server, and test the modified server to determine the performance and power consumption of the server at each configuration information; according to the target requirements and the performance and power consumption corresponding to the multiple configuration information, select one configuration information from the multiple configuration information as the target configuration information of the server. By modifying and testing different configurations of the server, the performance and power consumption of the server under different configurations can be obtained, which facilitates the determination of the most suitable server configuration based on the target requirements.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the computer field, and in particular, to a method and device for determining target configuration information, a computer-readable storage medium, and an electronic device. Background Art

[0002] As the core equipment for data processing and storage, the server performance optimization and power consumption control have become issues of concern as the data size in the server continues to expand and people's requirements for server power consumption continue to increase. In addition, different users have different requirements for server performance and power consumption, so it is necessary to flexibly adjust the server configuration according to user needs so that the server performance and power consumption meet user needs.

[0003] In the related art, according to user needs, the configuration of the Basic Input Output System (BIOS) of the server is manually modified to adjust the performance and power consumption of the server, and then the performance and power consumption of the adjusted server are tested until it can meet the user's needs.

[0004] However, the related technical approach requires manual adjustment and testing, so it is inefficient and difficult to determine the most suitable server configuration. Summary of the invention

[0005] The embodiments of the present application provide a method, device, computer-readable storage medium and electronic device for determining target configuration information, which can determine the performance and power consumption corresponding to different configuration information of a server, so as to select the most suitable configuration information of the server.

[0006] According to an embodiment of the present application, a method for determining target configuration information is provided, the method comprising: determining multiple configuration options related to the performance and power consumption of a server to be optimized; generating a configuration information table according to a combination of configuration parameters of the multiple configuration options, wherein the configuration information table comprises multiple configuration information, and each configuration information comprises a combination of configuration parameters of multiple configuration options; modifying the configuration parameters of the multiple configuration options of the server according to the configuration information table, and testing the modified server to determine the performance and power consumption of the server at each configuration information; and selecting one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirements and the performance and power consumption corresponding to the multiple configuration information.

[0007] In one implementation of the present application, configuration parameters of multiple configuration options of a server are modified according to a configuration information table, and the modified server is tested to determine the performance and power consumption of the server at each configuration information, including: determining configuration information to be tested according to the configuration information table, wherein the configuration information to be tested is configuration information that has not been tested among the multiple configuration information in the configuration information table; modifying configuration parameters of multiple configuration options of the server according to the configuration information to be tested, and testing the modified server until the performance and power consumption of the server at each configuration information are determined.

[0008] In one implementation of the present application, configuration parameters of multiple configuration options of a server are modified according to the configuration information to be tested, and the modified server is tested until the performance and power consumption of the server at each configuration information are determined, including: reading the current configuration parameters of the server; determining whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested; when the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested, starting the server according to the current configuration parameters of the server and testing the server; when the current configuration parameters of the server are inconsistent with the configuration parameters in the configuration information to be tested, modifying the configuration parameters of the server to the configuration parameters in the configuration information to be tested. parameters, start the server, and test the server; determine the performance and power consumption of the server when the configuration information to be tested is used according to the test result; record the performance and power consumption of the server when the configuration information to be tested is used; determine whether there is untested configuration information in the configuration information table according to the configuration information table; if it is determined that there is untested configuration information in the configuration information table, determine the untested configuration information as the next configuration information to be tested, and return to execute the step of reading the current configuration parameters of the server; if it is determined that each configuration information in the configuration information table has been tested, generate a test log file of the server according to the performance and power consumption of the server under each configuration information in the recorded configuration information table.

[0009] In one implementation of the present application, testing the server includes: determining corresponding test parameters based on the parameters of the server, wherein the test parameters include test time, stress test mode, and stress load level; and using a stress test tool to test the server according to the test parameters to obtain a test result of the server.

[0010] In one implementation of the present application, determining whether current configuration parameters of the server are consistent with configuration parameters in the configuration information to be tested includes: when the server is started, issuing a query request to the server; comparing the configuration parameters fed back by the server in response to the query request with the configuration parameters in the configuration information to be tested to determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested.

[0011] In one implementation of the present application, according to a target requirement and performance and power consumption respectively corresponding to the multiple configuration information, one configuration information is selected from multiple configuration information as the target configuration information of the server, including: according to the performance and power consumption respectively corresponding to the multiple configuration information, the multiple configuration information is sorted to determine multiple candidate configuration information from the multiple configuration information, wherein the multiple candidate configuration information at least includes configuration information with the highest performance, configuration information with the lowest power consumption, and configuration information with the highest performance-to-power consumption ratio; according to the target requirement, one configuration information is selected from the multiple candidate configuration information as the target configuration information of the server.

[0012] In one implementation of the present application, a configuration information table is generated according to a combination of configuration parameters of multiple configuration options, including: determining a value range of the configuration parameters of each of the multiple configuration options; adjusting the configuration parameters of the multiple configuration options respectively within the value range of the configuration parameters of the multiple configuration options, and recording each combination of the configuration parameters of the multiple configuration options until all different values ​​of the configuration parameters of the multiple configuration options within the corresponding value range are traversed; and generating the configuration information table according to the multiple combinations of the configuration parameters of the multiple configuration options obtained by recording.

[0013] According to another embodiment of the embodiment of the present application, a device for determining target configuration information is further provided, the device comprising:

[0014] A configuration option determination module, used to determine a plurality of configuration options related to performance and power consumption of a server not to be optimized;

[0015] A configuration information table generating module, configured to generate a configuration information table according to a combination of configuration parameters of the plurality of configuration options, wherein the configuration information table includes a plurality of configuration information, each of which includes a combination of configuration parameters of the plurality of configuration options;

[0016] a performance and power consumption determination module, configured to modify the configuration parameters of the plurality of configuration options of the server according to the configuration information table, and test the modified server to determine the performance and power consumption of the server at each of the configuration information;

[0017] The selection module is used to select one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

[0018] 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 running.

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

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

[0021] Through the method for determining the target configuration information of the present application, multiple configuration options related to the performance and power consumption of the server to be optimized are first determined, thereby ensuring that only the required configuration options are tested, avoiding the testing of irrelevant configurations, and improving the test efficiency. According to the combination of configuration parameters of multiple configuration options, a configuration information table is generated, the configuration information table includes multiple configuration information, each configuration information includes a combination of configuration parameters of multiple configuration options, and the configuration information table ensures that the automated test covers all possible configuration states of the server, so that the specific impact of each configuration on the performance and power consumption of the server can be fully evaluated. According to the configuration information table, the configuration parameters of multiple configuration options of the server are modified, and the modified server is tested to determine the performance and power consumption of the server at each configuration information, and the efficiency and accuracy of the test are greatly improved by automated means. According to the target requirements and the performance and power consumption corresponding to the multiple configuration information, one configuration information is selected from the multiple configuration information as the target configuration information of the server. By modifying the different configurations of the untested server, the present application can obtain the performance and power consumption of the server under different configurations, which is convenient for determining the most suitable server configuration based on the target requirements. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] 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:

[0023] Figure 1 It is a hardware structure block diagram of a server device according to a method for determining target configuration information in an embodiment of the present application;

[0024] Figure 2 is a flow chart of a method for determining target configuration information according to an embodiment of the present application;

[0025] Figure 3 is a second flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0026] Figure 4 is a flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0027] Figure 4a is a schematic diagram of a configuration instruction table according to an embodiment of the present application;

[0028] Figure 5 is a fourth flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0029] Figure 6 is a fifth flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0030] Figure 7 is a sixth flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0031] Figure 8 is a flowchart of a method for determining target configuration information according to an embodiment of the present application;

[0032] Fig. 9 is a structural block diagram of a device for determining target configuration information according to an embodiment of the present application;

[0033] Fig.10 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

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

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

[0036] The method for determining target configuration information provided in the embodiments of the present application can be executed in a server device or a similar computing device. Taking running on a server device as an example, Figure 1 1 is a hardware structure block diagram of a server device of a method for determining target configuration information in an embodiment of the present application. Figure 1 As shown, the server device may include one or more ( Figure 1The server device may include a processor 102 (only one is shown) (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA and other processing devices) 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 than shown, or with different Figure 1 Different configurations are shown.

[0037] 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 method for determining the target configuration information in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory set relative to the processor 102 process, and these process 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.

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

[0039] In this embodiment, a method for determining target configuration information is provided, such as Figure 2 As shown, the method includes the following steps S200-S230:

[0040] Step S200: determining a plurality of configuration options related to the performance and power consumption of a server not to be optimized.

[0041] Specifically, identify BIOS configuration options that have a significant impact on server performance and power consumption. These configuration options may include but are not limited to P-state (performance state), C-state (energy saving state), CPU TurboBoost, Hyper-Threading, etc. A list of all key configuration options can be compiled by server BIOS R&D engineers based on industry knowledge and experience. These options are selected based on the fact that their settings in different states can significantly change the work efficiency and energy consumption of the server.

[0042] Step S210: Generate a configuration information table according to a combination of configuration parameters of a plurality of configuration options.

[0043] The configuration information table includes multiple types of configuration information, and each type of configuration information includes a combination of configuration parameters of multiple configuration options.

[0044] Specifically, the configuration information table is a list of all possible combinations of configuration parameters of multiple configuration options generated based on multiple configuration options. Each combination represents a possible configuration state of the server BIOS configuration.

[0045] Step S220, modifying the configuration parameters of the multiple configuration options of the server according to the configuration information table, and testing the modified server to determine the performance and power consumption of the server under each configuration information.

[0046] Specifically, according to each set of configuration parameters recorded in the configuration information table, the configuration of the server is modified, and the performance and power consumption of the server after each modification are tested, and finally the performance and power consumption of the server at each configuration information can be obtained.

[0047] Step S230 , selecting one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

[0048] The target requirement may be maximizing performance, minimizing energy consumption, or maximizing the performance-to-power ratio. According to the target requirement, a suitable configuration information is selected from a variety of configuration information as the target configuration information of the server.

[0049] In this embodiment, multiple configuration options related to the performance and power consumption of the server to be optimized are first determined, thereby ensuring that only the required configuration options are tested, avoiding the test of irrelevant configurations, and improving the test efficiency. According to the combination of configuration parameters of multiple configuration options, a configuration information table is generated, and the configuration information table includes multiple configuration information, each configuration information includes a combination of configuration parameters of multiple configuration options. The configuration information table ensures that the automated test covers all possible configuration states of the server, so that the specific impact of each configuration on the performance and power consumption of the server can be fully evaluated. According to the configuration information table, the configuration parameters of multiple configuration options of the server are modified, and the modified server is tested to determine the performance and power consumption of the server at each configuration information, and the efficiency and accuracy of the test are greatly improved by automated means. According to the target requirements and the performance and power consumption corresponding to the multiple configuration information, one configuration information is selected from the multiple configuration information as the target configuration information of the server. The present application can obtain the performance and power consumption of the server under different configurations by automatically modifying and testing different configurations of the server, which is convenient for determining the most suitable server configuration based on the target requirements.

[0050] In one embodiment, Figure 3 As shown, step S220, according to the configuration information table, modify the configuration parameters of multiple configuration options of the server, and test the modified server to determine the performance and power consumption of the server at each configuration information, including: steps S300-S310:

[0051] Step S300: determining the configuration information to be tested according to the configuration information table.

[0052] The configuration information to be tested is the configuration information that has not been tested among the multiple configuration information in the configuration information table.

[0053] Step S310, modifying the configuration parameters of multiple configuration options of the server according to the configuration information to be tested, and testing the modified server until the performance and power consumption of the server under each configuration information are determined.

[0054] Specifically, according to the configuration information to be tested, the configuration parameters of the multiple configuration options of the server are modified to ensure that the configuration parameters of the multiple configuration options of the server are consistent with the configuration information to be tested, and then the server is tested to determine the performance and power consumption of the server under the configuration information. Then, the process of modifying the configuration parameters of the multiple configuration options of the server and testing the modified server is repeated until the performance and power consumption of the server under each configuration information in the configuration information table are tested.

[0055] In this embodiment, by taking the untested configuration information among the various configuration information in the configuration information table as the configuration information to be tested, it is ensured that all configuration information is tested one by one, avoiding repeated tests and missed tests, thereby ensuring the comprehensiveness of the server configuration test. All configuration information in the configuration information table can be traversed to obtain the performance and power consumption of the server under each configuration information, so that the user can intuitively select the appropriate configuration information.

[0056] In one embodiment, Figure 4 As shown, step S310, according to the configuration information to be tested, the configuration parameters of multiple configuration options of the server are modified, and the modified server is tested until the performance and power consumption of the server at each configuration information are determined. It includes: steps S400-S480:

[0057] Step S400, reading the current configuration parameters of the server.

[0058] Among them, the ipmi instruction of the baseboard management controller (BMC) can be used to read the BIOS configuration parameters of the server, which are usually stored in the nvram area of ​​the BIOS. Several new ipmi instructions can be added to the BMC, wherein the first ipmi instruction is used to read the storage values ​​of multiple configuration options in the nvram of the server, and the second ipmi instruction is used to modify the storage values ​​of multiple configuration options in the nvram of the server.

[0059] For example, the ipmi command format is as follows Figure 4a As shown, the network code and command code are the standard formats of ipmi instructions, which are used to determine the specific purpose of the instructions. The configured read instruction can be "ipmitool raw 0xXX 0xA1", and the configured write instruction can be "ipmitool raw 0xXX 0xA2 0x05 0x06".

[0060] Step S410: determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested.

[0061] Specifically, by comparing whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested, it is possible to ensure that the performance and power consumption of the server under the configuration parameters to be tested are tested.

[0062] Step S420: when the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested, the server is started according to the current configuration parameters of the server and the server is tested.

[0063] Step S430: when the current configuration parameters of the server are inconsistent with the configuration parameters in the configuration information to be tested, the configuration parameters of the server are modified to the configuration parameters in the configuration information to be tested, the server is started, and the server is tested.

[0064] Step S440: Determine the performance and power consumption of the server under the configuration information to be tested according to the test result.

[0065] Step S450, recording the performance and power consumption of the server when using the configuration information to be tested.

[0066] Step S460: Determine, according to the configuration information table, whether there is configuration information that has not been tested in the configuration information table.

[0067] Step S470, when it is determined that there is untested configuration information in the configuration information table, the untested configuration information is determined as the next configuration information to be tested, and the process returns to step S400 to read the current configuration parameters of the server.

[0068] Step S480: When it is determined that each configuration information in the configuration information table has been tested, a test log file of the server is generated according to the performance and power consumption of the server under each configuration information in the configuration information table.

[0069] Specifically, after all configuration information has been tested, the test logs are collated to generate a test log file containing all test results.

[0070] In this embodiment, by reading the current configuration parameters of the server, and then comparing the current configuration parameters of the server with the configuration parameters in the configuration information to be tested to see whether they are consistent, it is ensured that the configuration parameters of the server are the configuration parameters in the configuration information to be tested, and then the server is started and tested according to the test requirements, and the test results are recorded until all the configuration information in the configuration information table is traversed, that is, all the configuration information is tested, thereby obtaining the performance and power consumption of the server under each configuration information in the configuration information table, which is convenient for users to view and select intuitively.

[0071] In one embodiment, Figure 5 As shown, testing the server includes: steps S500-S510:

[0072] Step S500, determining corresponding test parameters according to the parameters of the server.

[0073] Among them, the test parameters include test time, pressure test mode, and pressure load level.

[0074] Specifically, the server's hardware configuration and operating environment will directly affect the choice of test strategy, including test time, stress test mode and stress load level. Specific implementation method: Based on the server's central processing unit (CPU) type, number of cores, memory capacity, storage type, network conditions and other hardware parameters, as well as the expected application scenarios and load types, automated scripts or test engineers can determine the most suitable test parameters. For example, for high-performance servers, it may be necessary to set higher stress load levels and longer test times to fully evaluate their performance and stability under extreme conditions. The setting of test parameters is a guiding parameter for the operation of the stress testing tool SPECpower, which ensures the comprehensiveness and depth of the test. The test time determines the duration of the SPECpower test, the stress test mode defines the working mode of SPECpower, and the stress load level controls the intensity of the SPECpower test.

[0075] Step S510: Use a stress testing tool to test the server according to the test parameters to obtain a test result of the server.

[0076] For example, you can call the SPECpower stress test tool, enter the set test parameters (including test time, stress test mode, stress load level), and start the SPECpower test program. SPECpower will run a series of standardized Java applications to simulate the actual workload for the server, perform in-depth stress testing on the server, and collect performance and power consumption data of the server under different BIOS configurations.

[0077] In this embodiment, by setting the test parameters that do not match the server hardware configuration, the performance of the server under the actual workload can be more accurately reflected, and the credibility and applicability of the test results can be improved. By using the stress test tool to test the server according to the test parameters, the performance and power consumption of the server under different configuration information can be obtained, which provides objective and quantitative data support for the subsequent server configuration optimization, so that the most appropriate server BIOS configuration can be scientifically selected to meet specific performance and power consumption targets.

[0078] In one embodiment, Figure 6 As shown, step S410 determines whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested. It includes: steps S600-S610:

[0079] Step S600, when the server is started, a query request is sent to the server.

[0080] Specifically, during the server startup process, an automated script or tool sends a query request to the BMC of the server to obtain the current configuration parameters of the server.

[0081] Step S610: Compare the configuration parameters fed back by the server in response to the query request with the configuration parameters in the configuration information not to be tested, so as to determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information not to be tested.

[0082] In this embodiment, by querying the configuration information of the server at the startup stage, the initial state of the server can be captured in time, ensuring the timeliness and accuracy of the configuration parameters. By comparing the configuration parameters fed back by the server with the configuration parameters in the configuration information to be tested, it is ensured that the current configuration of the server meets the requirements of the configuration information to be tested, avoiding invalid tests and data deviations, and improving the accuracy and efficiency of the test.

[0083] In one embodiment, Figure 7 As shown, step S230, according to the target requirements and the performance and power consumption corresponding to the multiple configuration information, select one configuration information from the multiple configuration information as the target configuration information of the server. It includes: steps S700-S710:

[0084] Step S700: sorting the multiple configuration information according to the performance and power consumption respectively corresponding to the multiple configuration information, and determining multiple candidate configuration information from the multiple configuration information.

[0085] The multiple candidate configuration information include at least configuration information with the highest performance, configuration information with the lowest power consumption, and configuration information with the highest performance-to-power consumption ratio.

[0086] Specifically, after determining the performance and power consumption corresponding to the various configuration information, the configuration information can be sorted, mainly based on the performance data, power consumption data, and performance-power consumption ratio. Several groups of configuration information with the best performance, the lowest power consumption, and the highest performance-power consumption ratio are selected from all the configuration information as candidate configurations for further analysis and selection.

[0087] Step S710: selecting one configuration information from a plurality of candidate configuration information as target configuration information of the server according to target requirements.

[0088] Specifically, the tester or automated script selects the configuration information that best meets the target requirements from the candidate configuration information according to the specific application scenario and performance and power consumption requirements as the target configuration information of the server. The script or tester can further evaluate the candidate configuration information according to the target requirements (such as pursuing extreme performance, requiring minimum power consumption, or seeking the best performance-power ratio) and select the configuration information that best matches the target requirements as the target configuration information of the server.

[0089] In this embodiment, multiple candidate configuration information is determined by sorting multiple configuration information. Then, according to the target requirements, one configuration information is selected from the multiple candidate configuration information as the target configuration information of the server, so that the configuration information that best meets the target requirements can be screened out, thereby achieving accurate optimization of the server configuration.

[0090] In one embodiment, Figure 8 As shown, step S210 generates a configuration information table according to a combination of configuration parameters of multiple configuration options. It includes: steps S800-S820:

[0091] Step S800: determining a value range of a configuration parameter of each configuration option among a plurality of configuration options.

[0092] Specifically, the value range of the configuration parameters of each of the multiple configuration options is determined, that is, the minimum and maximum values ​​that the configuration parameters of the configuration options can be set to. The value range of configuration parameters of configuration options such as P-state, C-state, CPU turbo frequency, and hyperthreading can be determined based on experimental data and server architecture. These value ranges will be recorded and organized to provide boundary conditions for parameter settings for subsequent automated tests.

[0093] Step S810: within the value ranges of the configuration parameters of the multiple configuration options, respectively adjust the configuration parameters of the multiple configuration options, and record each combination of the configuration parameters of the multiple configuration options until all different values ​​of the configuration parameters of the multiple configuration options within the corresponding value ranges are traversed.

[0094] Specifically, according to the value range of the configuration parameters, the configuration parameters of each configuration option are adjusted one by one to generate different configuration combinations. Multiple sets of loops can be designed to adjust the configuration parameters of each configuration option in turn according to the value range of the configuration parameters, and record the configuration parameters after each adjustment as a configuration information, such as adjusting the P-state from the lowest value to the highest value, adjusting the C-state from disabled to enabled, adjusting the CPU turbo frequency from the lowest frequency to the highest frequency, and adjusting the hyperthreading technology from closed to enabled.

[0095] Step S820: Generate a configuration information table according to the multiple combinations of configuration parameters of the multiple configuration options recorded.

[0096] Specifically, when adjusting the configuration parameters of the configuration options, each parameter combination will be recorded to ensure that all possible combinations are recorded.

[0097] In this embodiment, by clarifying the value range of the configuration parameters, invalid parameter settings during the test process can be avoided, ensuring the integrity and validity of the test data. By systematically adjusting the configuration parameters, the automated script can cover all possible configuration combinations, ensuring the comprehensiveness and depth of the test, so that the impact of different configurations on server performance and power consumption can be fully evaluated. By recording each configuration parameter combination, the comprehensiveness of the test coverage can be ensured, and at the same time, a detailed data basis is provided for subsequent data analysis and configuration optimization, avoiding data omissions and repeated testing, and improving the efficiency of the test and the integrity of the data.

[0098] 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 inferior software plus a necessary general hardware platform, and of course it can also be implemented 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 of each embodiment of the present application.

[0099] In this embodiment, a device for determining target configuration information is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can 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.

[0100] Fig. 9 : is a structural block diagram of a device for determining target configuration information according to an embodiment of the present application, the device comprising:

[0101] The configuration option determination module 901 is used to determine a plurality of configuration options related to the performance and power consumption of the server not to be optimized.

[0102] The configuration information table generating module 902 is used to generate a configuration information table according to a combination of configuration parameters of multiple configuration options, wherein the configuration information table includes multiple configuration information, and each configuration information includes a combination of configuration parameters of multiple configuration options.

[0103] The performance and power consumption determination module 903 is used to modify the configuration parameters of multiple configuration options of the server according to the configuration information table, and test the modified server to determine the performance and power consumption of the server at each configuration information.

[0104] The selection module 904 is used to select one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

[0105] The above device first determines multiple configuration options related to the performance and power consumption of the server to be optimized, thereby ensuring that only the required configuration options are tested, avoiding the test of irrelevant configurations, and improving the test efficiency. According to the combination of configuration parameters of multiple configuration options, a configuration information table is generated, and the configuration information table includes multiple configuration information, each configuration information includes a combination of configuration parameters of multiple configuration options. The configuration information table ensures that the automated test covers all possible configuration states of the server, so that the specific impact of each configuration on the performance and power consumption of the server can be fully evaluated. According to the configuration information table, the configuration parameters of the multiple configuration options of the server are modified, and the modified server is tested to determine the performance and power consumption of the server at each configuration information, and the efficiency and accuracy of the test are greatly improved by automated means. According to the target requirements and the performance and power consumption corresponding to the multiple configuration information, one configuration information is selected from the multiple configuration information as the target configuration information of the server. The present application can obtain the performance and power consumption of the server under different configurations by automatically modifying and testing different configurations of the server, which is convenient for determining the most suitable server configuration based on the target requirements.

[0106] In an exemplary embodiment, the performance and power consumption determination module 903 includes:

[0107] The configuration information determining unit is used to determine the configuration information to be tested according to the configuration information table, wherein the configuration information to be tested is the configuration information that has not been tested among the multiple configuration information in the configuration information table.

[0108] The test unit is used to modify the configuration parameters of multiple configuration options of the server according to the configuration information to be tested, and test the modified server until the performance and power consumption of the server under each configuration information are determined.

[0109] In an exemplary embodiment, the test unit is used to read the current configuration parameters of the server. Determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested. When the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested, start the server according to the current configuration parameters of the server and test the server. When the current configuration parameters of the server are inconsistent with the configuration parameters in the configuration information to be tested, modify the configuration parameters of the server to the configuration parameters in the configuration information to be tested, start the server, and test the server. According to the test results, determine the performance and power consumption of the server when the configuration information to be tested is used. Record the performance and power consumption of the server when the configuration information to be tested is used. According to the configuration information table, determine whether there is configuration information that has not been tested in the configuration information table. When it is determined that there is configuration information that has not been tested in the configuration information table, determine the configuration information that has not been tested as the next configuration information to be tested, and return to the step of reading the current configuration parameters of the server. When it is determined that each configuration information in the configuration information table has been tested, a test log file of the server is generated according to the performance and power consumption of the server under each configuration information in the configuration information table.

[0110] In an exemplary embodiment, the test unit is further used to determine corresponding test parameters according to the parameters of the server, wherein the test parameters include test time, stress test mode, and stress load level. The stress test tool is used to test the server according to the test parameters to obtain the test results of the server.

[0111] In an exemplary embodiment, the test unit is further configured to send a query request to the server when the server is started, and compare the configuration parameters fed back by the server in response to the query request with the configuration parameters in the configuration information to be tested, so as to determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested.

[0112] In an exemplary embodiment, the selection module 904 includes:

[0113] The candidate configuration information determination unit is used to sort the multiple configuration information according to the performance and power consumption respectively corresponding to the multiple configuration information, and determine multiple candidate configuration information among the multiple configuration information, wherein the multiple candidate configuration information at least includes the configuration information with the highest performance, the configuration information with the lowest power consumption, and the configuration information with the highest performance-to-power consumption ratio.

[0114] The selection unit is used to select one configuration information from a plurality of candidate configuration information as the target configuration information of the server according to the target requirement.

[0115] In an exemplary embodiment, the configuration information table generating module 902 includes:

[0116] The range determination unit is used to determine the value range of the configuration parameter of each configuration option in the plurality of configuration options.

[0117] The combination adjustment unit is used to adjust the configuration parameters of multiple configuration options respectively within the value range of the configuration parameters of multiple configuration options, and record each combination of the configuration parameters of the multiple configuration options until all different values ​​of the configuration parameters of the multiple configuration options within the corresponding value range are traversed.

[0118] The generating unit is used to generate a configuration information table according to the multiple combinations of configuration parameters of the multiple configuration options obtained by recording.

[0119] 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 this: the above modules are all located in the same processor. Alternatively, the above modules are located in different processors in any combination.

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

[0121] Optionally, in this embodiment, the computer program may be configured to perform the following steps by means of the computer program:

[0122] S1, determining multiple configuration options related to performance and power consumption of a server that is not to be optimized.

[0123] S2, generating a configuration information table according to a combination of configuration parameters of a plurality of configuration options, wherein the configuration information table includes a plurality of configuration information, and each configuration information includes a combination of configuration parameters of a plurality of configuration options.

[0124] S3, modifying the configuration parameters of the multiple configuration options of the server according to the configuration information table, and testing the modified server to determine the performance and power consumption of the server at each configuration information.

[0125] S4, selecting one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

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

[0127] The embodiment of the present application also provides an electronic device, such as Fig.10 As shown, the electronic device includes a memory 1002 and a processor 1004. The memory 1002 stores a computer program, and the processor 1004 is configured to execute the steps in any of the above method embodiments through the computer program.

[0128] Optionally, in this embodiment, the processor 1004 may be configured to perform the following steps through a computer program:

[0129] S1, determining multiple configuration options related to performance and power consumption of a server that is not to be optimized.

[0130] S2, generating a configuration information table according to a combination of configuration parameters of a plurality of configuration options, wherein the configuration information table includes a plurality of configuration information, and each configuration information includes a combination of configuration parameters of a plurality of configuration options.

[0131] S3, modifying the configuration parameters of the multiple configuration options of the server according to the configuration information table, and testing the modified server to determine the performance and power consumption of the server at each configuration information.

[0132] S4, selecting one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

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

[0134] Alternatively, a person skilled in the art may understand that: Fig.10 The structure shown is for illustration only. Fig.10 The structure of the electronic device is not limited. For example, the electronic device may also include Fig.10 More or fewer components (such as network interfaces, etc.) shown in the figure, or with different Fig.10 Different configurations are shown.

[0135] Among them, the memory 1002 can be used to store software programs and modules, such as the program instructions / modules corresponding to the method for determining the target configuration information and the device for determining the target configuration information in the embodiments of the present application. The processor 1004 executes various functional applications and data processing by running the software programs and modules stored in the memory 1002, that is, to implement the above-mentioned method for determining the target configuration information. The memory 1002 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 1002 may further include a memory arranged relative to the processor 1004 process, and these process 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 1002 may be specifically, but not limited to, used to store information such as system configuration files. As an example, such as Fig.10 As shown, the memory 1002 may include but is not limited to the modules in the target configuration information determination device. In addition, it may also include but is not limited to other module units in the target configuration information determination device, which will not be described in detail in this example.

[0136] Optionally, the transmission device 1006 is used to receive or send data via a network. Specific examples of the network may include a wired network and a wireless network. In one example, the transmission device 1006 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 1006 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0137] In addition, the electronic device further includes: a display 1008; and a connection bus 1010, which is used to connect various module components in the electronic device.

[0138] In other embodiments, the electronic device may be a node in a distributed system, wherein the distributed system may be a blockchain system, and the blockchain system may be a distributed system formed by connecting the multiple nodes in the form of network communication. Among them, the nodes may form a peer-to-peer (P2P) network, and any form of computing device, such as a server, terminal, or other electronic device, may become a node in the blockchain system by joining the peer-to-peer network.

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

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

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

[0142] 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 than here, 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.

[0143] 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 substitution, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A method for determining target configuration information, characterized in that: The method comprises: determining a plurality of configuration options related to performance and power consumption of a server to be optimized; Generate a configuration information table according to the combination of the configuration parameters of the multiple configuration options, wherein the configuration information table includes multiple configuration information, and each of the configuration information includes a combination of the configuration parameters of the multiple configuration options; According to the configuration information table, modify the configuration parameters of the multiple configuration options of the server, and test the modified server to determine the performance and power consumption of the server at each of the configuration information; According to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information, one configuration information is selected from the multiple configuration information as the target configuration information of the server.

2. The method for determining target configuration information according to claim 1, characterized in that: The step of modifying the configuration parameters of the plurality of configuration options of the server according to the configuration information table, and testing the modified server to determine the performance and power consumption of the server at each configuration information includes: Determining configuration information to be tested according to the configuration information table, wherein the configuration information to be tested is configuration information that has not been tested among the multiple configuration information in the configuration information table; According to the configuration information to be tested, the configuration parameters of the multiple configuration options of the server are modified, and the modified server is tested until the performance and power consumption of the server under each of the configuration information are determined.

3. The method for determining target configuration information according to claim 2, characterized in that: The step of modifying the configuration parameters of the plurality of configuration options of the server according to the configuration information to be tested, and testing the modified server until the performance and power consumption of the server under each of the configuration information are determined, comprises: Read the current configuration parameters of the server; Determining whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested; When the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested, starting the server according to the current configuration parameters of the server and testing the server; When the current configuration parameters of the server are inconsistent with the configuration parameters in the configuration information to be tested, modify the configuration parameters of the server to the configuration parameters in the configuration information to be tested, start the server, and test the server; Determine the performance and power consumption of the server when using the configuration information to be tested according to the test results; Recording the performance and power consumption of the server when using the configuration information to be tested; According to the configuration information table, determining whether there is untested configuration information in the configuration information table; In the case where it is determined that there is untested configuration information in the configuration information table, the untested configuration information is determined as the next configuration information to be tested, and the step of reading the current configuration parameters of the server is returned to be executed; When it is determined that each configuration information in the configuration information table has been tested, a test log file of the server is generated according to the performance and power consumption of the server recorded under each configuration information in the configuration information table.

4. The method for determining target configuration information according to claim 3, characterized in that: The testing of the server comprises: Determine corresponding test parameters according to the parameters of the server, wherein the test parameters include test time, stress test mode, and stress load level; The server is tested according to the test parameters using a stress test tool to obtain a test result of the server.

5. The method for determining target configuration information according to claim 3, characterized in that: The determining whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested includes: When the server is started, sending a query request to the server; The configuration parameters fed back by the server in response to the query request are compared with the configuration parameters in the configuration information to be tested to determine whether the current configuration parameters of the server are consistent with the configuration parameters in the configuration information to be tested.

6. The method for determining target configuration information according to any one of claims 1 to 5, characterized in that: The selecting one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information includes: According to the performance and power consumption respectively corresponding to the multiple configuration information, the multiple configuration information are sorted to determine multiple candidate configuration information among the multiple configuration information, wherein the multiple candidate configuration information at least includes configuration information with the highest performance, configuration information with the lowest power consumption, and configuration information with the highest performance-to-power ratio; According to the target requirement, one configuration information is selected from the plurality of candidate configuration information as the target configuration information of the server.

7. The method for determining target configuration information according to any one of claims 1 to 5, characterized in that: The step of generating a configuration information table according to a combination of configuration parameters of the plurality of configuration options comprises: Determining a value range of a configuration parameter of each configuration option in the plurality of configuration options; In the value ranges of the configuration parameters of the multiple configuration options, respectively adjust the configuration parameters of the multiple configuration options, and record each combination of the configuration parameters of the multiple configuration options until all different values ​​of the configuration parameters of the multiple configuration options in the corresponding value ranges are traversed; The configuration information table is generated according to the multiple combinations of configuration parameters of the multiple configuration options obtained by recording.

8. A device for determining target configuration information, characterized in that: The device comprises: A configuration option determination module, used to determine a plurality of configuration options related to the performance and power consumption of the server to be optimized; A configuration information table generating module, configured to generate a configuration information table according to a combination of configuration parameters of the plurality of configuration options, wherein the configuration information table includes a plurality of configuration information, each of which includes a combination of configuration parameters of the plurality of configuration options; a performance and power consumption determination module, configured to modify the configuration parameters of the plurality of configuration options of the server according to the configuration information table, and test the modified server to determine the performance and power consumption of the server at each of the configuration information; The selection module is used to select one configuration information from the multiple configuration information as the target configuration information of the server according to the target requirement and the performance and power consumption respectively corresponding to the multiple configuration information.

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.