Server test method, device and equipment and computer storage medium
By determining business scenarios in the server testing method and obtaining corresponding test parameters and performance standards, automated testing and tuning of the server is achieved, solving the problem that the existing technology is difficult to meet the needs of diversified work scenarios, and improving server performance and efficiency.
Patent Information
- Application Number
- CN202411892470.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-04-15
AI Technical Summary
The existing server performance testing suite is difficult to meet the diverse work scenario needs of different users, and it is impossible to effectively conduct targeted performance testing and tuning.
Provide a server testing method, which can automatically test and tune by determining the server's business scenario, obtaining corresponding test parameters and performance standards, and performing automatic testing and tuning to improve server performance and meet the needs of different users.
It realizes automated testing and tuning of servers in various work scenarios, improves the targeted and efficient server performance, and reduces server costs.
Smart Images

Figure CN119829392A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a server testing method, device, equipment and computer storage medium. Background Art
[0002] Test and optimize server performance to make the server work in the best state and maximize its advantages. Specifically, perform performance tests on the server's components to expose performance defects, and optimize components that do not meet performance standards to improve component performance and, in turn, server performance.
[0003] Different customers use different work scenarios, so they focus on different performance and tuning. However, existing server performance kits are all tested and tuned in the same scenario, which is difficult to meet the needs of different users. Summary of the invention
[0004] The present invention provides a server testing method, device, equipment and computer storage medium for implementing testing of a server in various working scenarios and performing automatic tuning, thereby improving server performance in a targeted manner and meeting the needs of different users.
[0005] In the first aspect, the present application provides a server testing method, the method comprising: determining a server testing business scenario; obtaining test parameters corresponding to the test business scenario and performance standards corresponding to the test parameters based on the correspondence between the test business scenario and the test parameters and performance standards; testing the server to determine whether the test results of each test parameter meet the corresponding performance standards; if there are test parameters that do not meet the performance standards, tuning the server according to the test results of the test parameters that do not meet the performance standards and the test business scenario.
[0006] In the above method, when testing the server, it is determined whether the test parameters meet the corresponding performance standards according to the test business scenario, and the server is tuned according to the business scenario if the performance standards are not met. Since different business scenarios have different requirements for various performance parameters of the server, the test components that need to be tested may be different; for the same test component, the test parameters that need to be obtained in different test business scenarios may also be different; for the same test parameters, the performance standards that need to be achieved in different test business scenarios may also be different; therefore, testing and tuning the server according to the test business scenario, rather than using a unified test plan, performance standard, and tuning method, can meet the business needs of the test server, but it does not have to meet the business needs in all business scenarios, which helps to reduce server costs; and automatic testing and automatic tuning can reduce the operation of testers and improve testing efficiency.
[0007] In a possible implementation, the test business scenario includes any one of the following scenarios: a high-performance computing scenario, an energy-saving scenario, a high memory throughput scenario, a high I / O throughput scenario, a low latency scenario, and a VROC storage scenario.
[0008] In a possible implementation, the method further includes: using a monitoring tool corresponding to the test business scenario; and obtaining the test result through the monitoring tool. The test parameters required to be obtained in different test business scenarios may be different. Therefore, different test business scenarios can use different monitoring tools to obtain the test results of the required test parameters, without having to use multiple monitoring tools in each test business scenario, which helps to improve test efficiency and reduce resource waste.
[0009] In a possible implementation, the server is tuned according to the test results of the test parameters that do not meet the performance standards and the business scenario, including: tuning the server according to the test results of the test parameters that do not meet the performance standards and the tuning strategy corresponding to the test parameters that do not meet the performance standards in the business scenario. The server testing device may be pre-configured with a tuning strategy, and further, different tuning strategies may be set for different test business scenarios, so that when the server needs to be tuned, the server can be directly tuned according to the pre-configured tuning strategy, without the need for the tester to set the tuning method when the server does not meet the corresponding performance indicators, thereby reducing the tester's operations and helping to improve testing efficiency.
[0010] In a possible implementation, the tuning strategy includes one or more of the following strategies: BIOS tuning strategies corresponding to different business scenarios, operating system tuning strategies corresponding to different business scenarios, CPU frequency tuning strategies corresponding to different business scenarios, memory allocation tuning strategies corresponding to different business scenarios, I / O scheduling tuning strategies corresponding to different business scenarios, network traffic tuning strategies corresponding to different business scenarios, and power supply tuning strategies corresponding to different business scenarios. Since different test business scenarios may have different requirements for servers, different test business scenarios can correspond to different tuning strategies, so that the tuned server can meet the business requirements of the test server as much as possible, but it does not have to meet the business requirements under all business scenarios, which helps to reduce server costs.
[0011] In a possible implementation, the method further includes: obtaining at least one component information; the obtaining of the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters includes: obtaining the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters according to the component information. The component models used by different test servers may be different, and the optimal performance that can be achieved by components of different models may be different. Therefore, the performance standards that match the component information of the test server can be determined to avoid the test server being unable to achieve the performance standards through software tuning due to hardware limitations.
[0012] In a possible implementation, after the server is tuned, the method further includes: if the number of tests does not reach the maximum number of tests, testing the server again to determine whether the test results of each test parameter meet the corresponding performance standard. In the above method, the process of testing, tuning, retesting, and retuning the server is automatically completed without the need for testers to operate; and by setting the maximum number of tests, a large number of invalid tests caused by poor tuning strategies can be avoided.
[0013] In a possible implementation, the components to be tested include one or more of the following: CPU, memory, hard disk, network card. In the embodiment of the present application, multiple components can be tested and tuned, achieving the purpose of comprehensive testing and tuning of the test server, without the need to test each component separately, thereby improving the test efficiency.
[0014] In the second aspect, an embodiment of the present application also provides a server testing device, including: a determination module for determining a server test business scenario; an acquisition module for acquiring test parameters corresponding to the test business scenario and performance standards corresponding to the test parameters according to a pre-set correspondence between the test business scenario and the test parameters and performance standards; a testing module for testing the server to determine whether the test result of each test parameter meets the corresponding performance standard; and a tuning module for tuning the server according to the test results of the test parameters that do not meet the performance standard and the test business scenario if there are test parameters that do not meet the performance standard.
[0015] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method described in the first aspect and any implementation method of the first aspect when executing the computer program.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the steps of the method described in the first aspect and any implementation manner of the first aspect.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, comprising a computer program, wherein the computer program is stored in a computer-readable storage medium; when a processor of a memory access device reads the computer program from the computer-readable storage medium, the processor executes the computer program, so that the memory access device performs the steps in the method described in the first aspect and any implementation manner of the first aspect.
[0018] For each of the above-mentioned second to fifth aspects and the technical effects that may be achieved by each of the above-mentioned aspects, please refer to the above-mentioned description of the technical effects that can be achieved by the first aspect and any implementation method of the first aspect, and no further details will be given here. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0020] Figure 1 A flow chart of a server testing method provided in an embodiment of the present application;
[0021] Figure 2 BIOS settings corresponding to different application scenarios provided in the embodiments of this application;
[0022] Figure 3 A flow chart of a server testing method provided in an embodiment of the present application;
[0023] Figure 4 A schematic diagram of the structure of a server testing device provided in an embodiment of the present application;
[0024] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] In order to make the purpose, technical solution and advantages of the present application more clear, the present application will be further described in detail below in conjunction with the accompanying drawings. The specific operation method in the method embodiment can also be applied to the device embodiment or the system embodiment.
[0026] In the description of this application, "multiple" is understood to be "at least two". "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent three situations: A exists alone, A and B exist at the same time, and B exists alone. A is connected to B, which can represent two situations: A is directly connected to B and A is connected to B through C. In addition, in the description of this application, words such as "first" and "second" are only used for the purpose of distinguishing descriptions, and cannot be understood as indicating or implying relative importance, nor can they be understood as indicating or implying order.
[0027] The embodiment of the present application provides a server testing method for implementing testing of a server in various working scenarios and performing automatic tuning, thereby improving server performance in a targeted manner and meeting the needs of different users.
[0028] The server testing method provided in the embodiment of the present application can be performed by a server testing device. The server testing device can be implemented by software, or by hardware, or by a combination of software and hardware. For example, the server testing device can be a software program; or, the server testing device can also be an independent hardware device.
[0029] Figure 1 A flow chart of a server testing method provided in an embodiment of the present application is shown in the figure. The method may include the following steps:
[0030] Step S101: Determine a server test business scenario.
[0031] The server testing device can provide a variety of test business scenarios, that is, during the test, the server simulates the working conditions under various test business scenarios, so as to test the servers used in different business scenarios. Since different business scenarios have different requirements for various performance parameters of the server, if the server is tested under the same working conditions, even if the server passes the test, it is difficult to meet the business needs under different business scenarios; or, the server is required to achieve too high performance in order to meet the business needs under various business scenarios. Therefore, in an embodiment of the present application, the corresponding test business scenario can be selected according to the business scenario that the server needs to serve, so as to perform targeted testing on the business scenario, so that the server that passes the test can provide better business services.
[0032] Optionally, the server testing device may provide a user interface, and the user may select a desired test business scenario through the user interface before testing, thereby making the server operate under the working conditions of the test business scenario selected by the user to test the server.
[0033] Optionally, the candidate test business scenarios provided by the server testing device may include any one of the following scenarios: high performance computing scenario (high performance compute), energy saving scenario (energy saving), high memory throughput scenario (memory throughput), high input / output throughput scenario (I / O throughput), low latency scenario (low latency), VROC storage scenario (VROC storage).
[0034] Among them, the high-performance computing scenario is to use computers to process a large number of complex computing tasks. The main areas include: scientific research and simulation, engineering design and simulation, financial and economic modeling, etc., and are usually widely used in research institutions.
[0035] The purpose of energy-saving scenarios is to reduce energy consumption, optimize resource utilization, and ensure server performance. Node scenarios are mainly used in data centers, backup and disaster recovery, edge computing, and other scenarios to reduce energy consumption and operating costs without affecting performance.
[0036] High memory throughput scenarios are mainly used in application scenarios that require high memory bandwidth. These scenarios involve large amounts of parallel data processing, frequent memory access, etc., and have high requirements for memory bandwidth, such as big data analysis, real-time computing, multimedia processing, and image rendering.
[0037] High I / O throughput scenarios are mainly used for application scenarios with efficient data reading, writing and transmission. In high I / O throughput scenarios, the server needs to handle a large amount of data transmission between network devices, such as database and transaction processing, media processing, log and monitoring systems, etc.
[0038] Low-latency scenarios are mainly used in application scenarios that require fast response and low latency. In low-latency scenarios, the real-time requirements for data processing and transmission are high. For example, financial trading systems, online games, real-time audio communications, real-time settlement systems, etc. usually belong to low-latency scenarios to ensure instant feedback and provide efficient services in critical tasks.
[0039] VROC storage scenarios refer to scenarios that use VROC storage. VROC storage is an enterprise-class integrated disk array (redundant arrays of independent disks, RAID) solution on the processor, which does not require an external RAID host bus adapter (host bus adapter, HBA). Using the VROC storage mode can improve storage performance and reliability, significantly improve storage I / O performance, and provide data redundancy to ensure the stability and reliability of the storage system under high load conditions. VROC storage scenarios can include high-performance storage systems, virtualization and cloud computing, 3D modeling, content distribution networks, etc.
[0040] Optionally, you can select one or more test business scenarios for testing. The user's requirements for the server can be complex and multifaceted. If one business scenario cannot meet all the user's business requirements for the server, you can also select multiple test business scenarios for testing.
[0041] Step S102: According to the correspondence between the test business scenario and the test parameters and performance standards, the test parameters corresponding to the test business scenario and the performance standards corresponding to the test parameters are obtained.
[0042] Since different business scenarios have different requirements for various performance parameters of the server, the test components required for testing in different test business scenarios may be different; for the same test components, the test parameters required to be obtained in different test business scenarios may be the same or different; for the same test parameters, the performance standards that need to be achieved in different test business scenarios may also be different.
[0043] Therefore, the server test device may be pre-configured with test components and test parameters corresponding to different test business scenarios, and may also be configured with performance standards corresponding to different test parameters. After the server test device determines the test business scenario, it may obtain the test parameters and performance standards corresponding to the test business scenario.
[0044] For example, in a high-performance computing scenario, you may need to obtain the real-time frequency of each CPU core, but you do not need to obtain the CPU power consumption. In an energy-saving scenario, you may need to obtain the power consumption of components such as the CPU, hard disk, and network card, but you do not need to obtain the real-time frequency of each CPU core. In a high-memory throughput scenario, you may need to obtain the memory bandwidth, but you may not need to obtain the CPU parameters.
[0045] Alternatively, the server testing device may also provide a user interface, allowing the user to set the test parameters required for different test business scenarios and / or the performance standards corresponding to the test parameters.
[0046] After determining the test business scenario, the server testing device obtains the test components corresponding to the test business scenario, the test parameters corresponding to the test components, and the performance indicators corresponding to the test parameters according to the pre-set correspondence between the test business scenario and the test parameters and performance standards, thereby determining which test parameters need to be obtained during the test process and the performance standards that these test parameters need to meet.
[0047] Alternatively, the user may also set corresponding test parameters for each test and for the current test business scenario, and / or performance standards corresponding to the test parameters.
[0048] Optionally, the test components include one or more of the following: CPU, memory, hard disk, network card. In the embodiment of the present application, multiple components can be tested and tuned, achieving the purpose of comprehensive testing and tuning of the test server, rather than testing a certain component. There is no need to test each component separately, which improves the test efficiency.
[0049] Since different models of test components may have different hardware configurations, the performance standards that can be achieved may also be different. In one possible design, the server testing device can also obtain component information of the test server, and obtain test parameters corresponding to the test business scenario and performance standards corresponding to the test parameters based on the component information. Determining the performance standards based on the component information can enable the test server to meet the performance standards after tuning, and avoid the test server being unable to meet the performance standards through software tuning due to hardware limitations. Optionally, the component information may include one or more of the following information: CPU quantity, manufacturer, model, frequency; memory quantity, actual plug-in method, manufacturer, model, frequency; network card quantity, manufacturer, model; hard disk quantity, manufacturer, model, etc.
[0050] Step S103: Test the server to determine whether the test result of each test parameter meets the corresponding performance standard.
[0051] When testing the server, the server testing device can make the server execute the test script corresponding to the test business scenario, thereby simulating the possible situations of each test component when the server works in the corresponding test business scenario.
[0052] When the server testing device is software installed in the server to be tested, the server testing device can directly start the test script corresponding to the test business scenario, let the server run the test script to put pressure on each component, and collect information on each test parameter during the test process.
[0053] When the server testing device is independent of the server to be tested, the server testing device can send the test script to the server to be tested so that the server to be tested executes the test script. For example, the server testing device can make the server to be tested execute the test script by remote control.
[0054] In a possible implementation, the server testing device can also obtain the test parameters required in the test process through various monitoring tools. The above-mentioned monitoring tool can be a software program, and the server testing device can control the server to be tested to start running the corresponding software program before or during the test process. The software program can read various test parameters of the server to be tested (such as the real-time frequency of each core of the CPU, etc.) during operation, and transmit the information of the read test parameters to the server testing device, so that the server testing device can determine whether the performance of the server meets the performance standard based on the obtained test parameter information. The above-mentioned software program can send the information of the obtained test parameters to the server testing device during the test, or send it to the server testing device periodically, or send the information of the test parameters to the server testing device after the test is completed.
[0055] In addition, since different business scenarios have different requirements for various performance parameters of the server, the test parameters that need to be obtained may be different, so the monitoring tools used in different test business scenarios may also be different.
[0056] Optionally, in a high-performance computing scenario, you can use the turbostat tool to obtain the required test parameter information, such as obtaining the real-time frequency and C-state information of each CPU core.
[0057] Optionally, in energy-saving scenarios, you can use the Intel Power Thermal Analysis Tool (PTAT) tool to obtain the power consumption of the CPU and memory, and you can also use the ipmitool sensor to obtain the power consumption of the hard disk and network card.
[0058] Optionally, in high memory throughput scenarios, you can use the Intel Performance Counter Monitor (PCM) tool to read the bandwidth value of each memory slot, the bandwidth value of the entire server, and so on.
[0059] Optionally, in high I / O throughput scenarios, you can use the sar monitoring tool to read network port traffic, send (tx) throughput, receive (rx) throughput, etc. In addition, the sar monitoring tool can also record whether there is any packet loss.
[0060] Optionally, in a low-latency scenario, you can obtain the usage rate of the swap partition, the utilization rate of the core, etc.
[0061] Optionally, in a VROC storage scenario, you can use tools such as iostat and nvme-cli to obtain the number of read / write (I / O) operations per second (IOPS), throughput, latency, etc. of the storage device; you can also use the turbostat tool to obtain the behavior of the CPU core.
[0062] Optionally, the server testing device may provide a user interface, through which the user may set the monitoring tools used for various test components and various test parameters; or, the user may also set the monitoring tools used for various business testing scenarios through the user interface.
[0063] Step S104: If there are test parameters that do not meet the performance standards, the server is tuned according to the test results of the test parameters that do not meet the performance standards and the test business scenarios.
[0064] After the test is completed or during the test, the server testing device can determine whether there are any test parameters that fail to meet the corresponding performance standards during the test based on the collected test results of each test parameter; if so, the server testing device can tune the server based on the test results of the test parameters, test business scenarios, etc.
[0065] Optionally, the server test device may also provide a graphical user interface (GUI) to facilitate users to view performance test results, analysis reports, and tuning solutions. For example, the server test device may generate detailed performance reports and optimization suggestions after testing and before tuning, and allow users to make personalized settings. Alternatively, the server test device may also display performance test results, analysis reports, and tuning solutions to users after tuning.
[0066] Optionally, when tuning the server, the server testing device may tune the server according to the test results of the test parameters that do not meet the performance standards and the tuning strategies corresponding to the test parameters that do not meet the performance standards in the current test business scenario. The server testing device may be pre-configured with a variety of tuning strategies. When there are test parameters that do not meet the performance standards and the server needs to be tuned, the server testing device may tune the server according to the pre-configured tuning strategies, thereby achieving automatic tuning and reducing the manual operations of testers.
[0067] Since different test business scenarios may have different requirements for servers, the performance standards corresponding to each test parameter in different test business scenarios may also be different. Accordingly, when there are test parameters that do not meet the performance standards, the tuning strategies corresponding to different test business scenarios may also be different.
[0068] For example, for the tuning of the basic input output system (BIOS) settings, different business scenarios can correspond to their own BIOS tuning strategies; for the tuning of the operating system, different business scenarios can correspond to their own operating system tuning strategies; for the tuning of the CPU frequency, different business scenarios can correspond to their own CPU frequency tuning strategies; for the tuning of memory allocation, different business scenarios can correspond to their own memory allocation tuning strategies; for the tuning of I / O scheduling, different business scenarios can correspond to their own I / O scheduling tuning strategies; for the tuning of network traffic, different business scenarios can correspond to their own network traffic tuning strategies; for the tuning of power supply, different business scenarios can correspond to their own power supply tuning strategies.
[0069] However, not every business scenario has corresponding tuning strategies for all parameters. For example, in a high I / O throughput scenario, it may not be necessary to obtain power supply-related test parameters, so the tuning strategy for the high I / O throughput scenario does not need to include a tuning strategy for the power supply.
[0070] In a specific embodiment, the BIOS settings corresponding to different application scenarios can be as follows: Figure 2 As shown, including the following:
[0071] Hardware prefetcher settings: After this feature is enabled, the CPU will prefetch instructions or data from the memory to the L2 cache before processing them, so as to reduce the memory read time, help eliminate potential bottlenecks, and improve system performance. In high-performance computing scenarios, this feature can be enabled when tuning (that is, this option is set to "Enabled"); in energy-saving scenarios, this feature can be enabled when tuning; in high-memory throughput scenarios, this feature can be enabled when tuning; in high-I / O throughput scenarios, this feature can be enabled when tuning; in low-latency scenarios, this feature can be enabled when tuning; in VROC storage scenarios, this feature can be enabled when tuning.
[0072] Pre-read adjacent cache data settings (adjacent cache prefetch): This feature is a system optimization for applications that require high-frequency sequential memory access. This feature can be disabled when a large amount of random memory access is required. In high-performance computing scenarios, this feature can be enabled when tuning; in energy-saving scenarios, this feature can be enabled when tuning; in high memory throughput scenarios, this feature can be enabled when tuning; in high I / O throughput scenarios, this feature can be enabled when tuning; in low latency scenarios, this feature can be enabled when tuning; in VROC storage scenarios, this feature can be enabled when tuning.
[0073] Data cache unit prefetch setting (DCU IP prefetcher): This function can help the processor prefetch instruction streams and improve the efficiency of program execution. Enabling the DCU IP Prefetcher function helps reduce the delay caused by instruction cache misses and improve system performance. In high-performance computing scenarios, this function can be enabled during tuning; in energy-saving scenarios, this function can be enabled during tuning; in high-memory throughput scenarios, this function can be enabled during tuning; in high-I / O throughput scenarios, this function can be enabled during tuning; in low-latency scenarios, this function can be enabled during tuning; in VROC storage scenarios, this function can be enabled during tuning.
[0074] LLC prefetch: This function can predict the data that the CPU may need to access in the future and preload it into the LLC, aiming to improve the cache hit rate and thus optimize the CPU performance. In high-performance computing scenarios, this function can be turned off when tuning (that is, the option is set to "Disabled"); in energy-saving scenarios, this function can be turned off when tuning; in high-memory throughput scenarios, this function can be turned off when tuning; in high-I / O throughput scenarios, this function can be turned off when tuning; in low-latency scenarios, this function can be turned off when tuning; in VROC storage scenarios, this function can be turned off when tuning.
[0075] Hyperthreading settings (Enable LP [Global]): This feature allows multiple threads per core. In high-performance computing scenarios, all threads (all LPs) can be enabled for tuning; in energy-saving scenarios, a single thread (single LP) can be enabled for tuning; in high memory throughput scenarios, a single thread (single LP) can be enabled for tuning; in high I / O throughput scenarios, all threads (all LPs) can be enabled for tuning; in low latency scenarios, all threads (all LPs) can be enabled for tuning; in VROC storage scenarios, all threads (all LPs) can be enabled for tuning.
[0076] Data cache unit prefetch stream settings (DCU streamer prefetcher): This function can enable DCU stream prefetching, which will prefetch the stream and send it to its first-level cache to improve data processing and system performance. In high-performance computing scenarios, this function can be enabled when tuning; in energy-saving scenarios, this function can be enabled when tuning; in high-memory throughput scenarios, this function can be enabled when tuning; in high-I / O throughput scenarios, this function can be enabled when tuning; in low-latency scenarios, this function can be enabled when tuning; in VROC storage scenarios, this function can be enabled when tuning.
[0077] CPU dynamic frequency multiplier setting (CPU flex ratio override): When this function is enabled, the CPU frequency multiplier can be rewritten. In high-performance computing scenarios, this function can be turned off when tuning; in energy-saving scenarios, this function can be turned off when tuning; in high-memory throughput scenarios, this function can be turned off when tuning; in high-I / O throughput scenarios, this function can be turned off when tuning; in low-latency scenarios, this function can be turned off when tuning; in VROC storage scenarios, this function can be turned off when tuning.
[0078] Non-uniform memory access (NUMA) settings: Memory access time depends on the location of the memory to be accessed relative to the processor. When NUMA is enabled, the CPU accesses local memory faster than non-local memory. This feature can be enabled for tuning in high-performance computing scenarios; in energy-saving scenarios, this feature can be enabled for tuning; in high-memory throughput scenarios, this feature can be enabled for tuning; in high-I / O throughput scenarios, this feature can be enabled for tuning; in low-latency scenarios, this feature can be enabled for tuning; in VROC storage scenarios, this feature can be enabled for tuning.
[0079] Link L0p switch setting (link LOp enable): In high-performance computing scenarios, this function can be enabled during tuning; in energy-saving scenarios, this function can be enabled during tuning; in high memory throughput scenarios, this function can be enabled during tuning; in high I / O throughput scenarios, this function can be enabled during tuning; in low latency scenarios, this function can be enabled during tuning; in VROC storage scenarios, this function can be enabled during tuning.
[0080] Link L1p switch setting (Link L1p enable): In high-performance computing scenarios, this function can be turned off during tuning; in energy-saving scenarios, this function can be turned on during tuning; in high memory throughput scenarios, this function can be turned on during tuning; in high I / O throughput scenarios, this function can be turned on during tuning; in low latency scenarios, this function can be turned on during tuning; in VROC storage scenarios, this function can be turned on during tuning.
[0081] KTI prefetch switch setting (KTI prefetch): KTI prefetch function enables memory read operations on the double data rate (DDR) bus to be performed earlier. In high-performance computing scenarios, this function can be turned on when tuning; in energy-saving scenarios, this function can be turned on when tuning; in high memory throughput scenarios, this function can be turned on when tuning; in high I / O throughput scenarios, this function can be turned on when tuning; in low latency scenarios, this function can be turned on when tuning; in VROC storage scenarios, this function can be turned on when tuning.
[0082] XPT prefetch switch setting (XPT prefetch): When this feature is turned on, read requests sent to LLC are allowed to speculatively publish copies. In high-performance computing scenarios, this option can be set to automatic (Auto) when tuning; in energy-saving scenarios, this option can be set to automatic (Auto) when tuning; in high-memory throughput scenarios, this option can be set to automatic (Auto) when tuning; in high-I / O throughput scenarios, this option can be set to automatic (Auto) when tuning; in low-latency scenarios, this option can be set to automatic (Auto) when tuning; in VROC storage scenarios, this option can be set to automatic (Auto) when tuning.
[0083] Monitor MWAIT instruction switch (enable monitor MWAIT): After turning on this function, the CPU instruction permission can be optimized. If you need to turn off the CPU C State energy-saving state, you need to turn off this option at the same time in some operating systems. In high-performance computing scenarios, this function can be turned off when tuning; in energy-saving scenarios, this function can be turned on when tuning; in high-memory throughput scenarios, this function can be turned off when tuning; in high-I / O throughput scenarios, this function can be turned off when tuning; in low-latency scenarios, this function can be turned off when tuning; in VROC storage scenarios, this function can be turned off when tuning.
[0084] Power performance tuning function: This function is used to set the energy-saving performance adjustment method of the CPU. In high-performance computing scenarios, this option can be set to PECI control EPB when tuning; in energy-saving scenarios, this option can be set to OS control EPB when tuning; in high memory throughput scenarios, this option can be set to OS control EPB when tuning; in high I / O throughput scenarios, this option can be set to OS control EPB when tuning; in low latency scenarios, this option can be set to OS control EPB when tuning; in VROC storage scenarios, this option can be set to OS control EPB when tuning.
[0085] Energy Performance Management Configuration (ENERGY PERF BIAS CFG mode): This setting is used to control the balance between energy efficiency and performance of the processor. In high-performance computing scenarios, this option can be set to balanced performance when tuning; in energy-saving scenarios, this option can be set to balanced performance when tuning; in high-memory throughput scenarios, this option can be set to balanced performance when tuning; in high-I / O throughput scenarios, this option can be set to balanced performance when tuning; in low-latency scenarios, this option can be set to balanced performance when tuning; in VROC storage scenarios, this option can be set to balanced performance when tuning.
[0086] Workload configuration options: This option is mainly used to define and configure test workloads. In high-performance computing scenarios, this option can be set to performance when tuning; in energy-saving scenarios, this option can be set to balanced performance when tuning; in high-memory throughput scenarios, this option can be set to balanced performance when tuning; in high-I / O throughput scenarios, this option can be set to I / O sensitive when tuning; in low-latency scenarios, this option can be set to performance when tuning; in VROC storage scenarios, this option can be set to I / O sensitive when tuning.
[0087] Enhanced Idle Power Management State Transition Settings (Enhanced Halt State, C1E for short): After turning on this function, the operating system can automatically adjust the C state, that is, the operating system will switch the processor to the lowest performance state when the processor is idle. If there is a need for energy saving, this function can be turned on. In high-performance computing scenarios, this function can be turned off when tuning; in energy-saving scenarios, this function can be turned on when tuning; in high-memory throughput scenarios, this function can be turned off when tuning; in high-I / O throughput scenarios, this function can be turned off when tuning; in low-latency scenarios, this function can be turned off when tuning; in VROC storage scenarios, this function can be turned off when tuning.
[0088] Report C6 state switch to the operating system (CPU C6 report): This function is used to control the reporting function of the CPU in the C6 state. The C6 state is a deep sleep mode in which the core voltage of the CPU is reduced to a very low level, the power consumption is close to zero, and the wake-up time is unknown. In high-performance computing scenarios, this function can be turned off when tuning; in energy-saving scenarios, this function can be turned on when tuning; in high-memory throughput scenarios, this function can be turned off when tuning; in high-I / O throughput scenarios, this function can be turned off when tuning; in low-latency scenarios, this function can be turned off when tuning; in VROC storage scenarios, this function can be turned on when tuning.
[0089] Hardware P-State: After enabling this feature, the CPU can adjust the operating frequency according to the workload to meet different performance requirements. In high-performance computing scenarios, this option can be set to out-of-band mode when tuning; in energy-saving scenarios, this feature can be turned off when tuning; in high-memory throughput scenarios, this feature can be turned off when tuning; in high-I / O throughput scenarios, this feature can be turned off when tuning; in low-latency scenarios, this option can be set to out-of-band mode when tuning; in VROC storage scenarios, this option can be set to native mode when tuning.
[0090] Packet C-State: In high-performance computing scenarios, this option can be set to C0 / C1 state when tuning; in energy-saving scenarios, this option can be set to C6 (non retention) when tuning; in high memory throughput scenarios, this option can be set to C0 / C1 state when tuning; in high I / O throughput scenarios, this option can be set to C0 / C1 state when tuning; in low latency scenarios, this option can be set to C0 / C1 state when tuning; in VROC storage scenarios, this option can be set to C0 / C1 state when tuning.
[0091] The tuning strategy may also include other aspects of the tuning strategy. Optionally, in a high-performance computing scenario, the tuning strategy may include one or more of the following:
[0092] 1) Utilize the parallel computing capabilities of multi-core processors: In order to enable applications to effectively utilize multiple CPU cores in the server, task parallelization can be achieved through programming models such as OpenMP and MPI.
[0093] 2) Turn on the CPU Turbo mode for computationally intensive tasks: This provides a higher clock frequency when the server task under test is executed.
[0094] 3) Use task decomposition and load balancing: When the server executes tasks, the load of each node in the cluster is balanced, and each task is evenly distributed on different nodes or processor cores to avoid overloading or idleness of some nodes.
[0095] Optionally, in an energy-saving scenario, the tuning strategy may include one or more of the following:
[0096] 1) Enable the CPU's dynamic voltage and frequency adjustment function: The CPU's dynamic voltage and frequency adjustment function can dynamically adjust the CPU frequency according to the current load, reduce power consumption when idle, and ensure that the frequency can be automatically increased to meet computing needs under high load.
[0097] 2) Set the maximum CPU frequency: In low-load scenarios or when high performance is not required, the maximum CPU frequency is automatically limited to reduce power consumption and heat generation, thereby significantly reducing server energy consumption when the server performs light tasks.
[0098] 3) Enable automatic disabling or limiting of the CPU's Turbo Boost function: After enabling this function, the server can automatically disable or limit the CPU's Turbo Boost function according to business needs. This can avoid the server's instantaneous high power consumption state and is suitable for use in businesses that do not require short-term extremely high computing power.
[0099] 4) Start disk hibernation: The server testing device can automatically detect storage devices that are used less frequently, and control the server to enable hibernation mode for these storage devices; or, the server testing device can also control the server to start the automatic disk hibernation function. After starting this function, when the server determines that a storage device is used less frequently, it can put the storage device into hibernation mode, thereby reducing the rotation speed when the storage device is idle to achieve energy saving.
[0100] 5) Enable high-efficiency power mode: After enabling this mode, the high-efficiency power module can adjust the voltage output according to the load requirements, reduce the overall power consumption, and enable the power supply unit to maintain high-efficiency conversion when the load is low, thereby reducing energy waste.
[0101] 6) Enable power self-balancing mode: In a server with redundant power supplies, you can enable power self-balancing mode. By adjusting the load balance of the redundant power supplies, it is automatically determined based on monitoring data whether additional power supply units need to be enabled, thereby avoiding multiple power supply modules running under low load and reducing energy loss.
[0102] Optionally, in high memory throughput scenarios, the tuning strategy can include one or more of the following:
[0103] 1) Enable large page storage: Enabling large pages helps reduce memory management overhead, especially for memory-intensive tasks. It can improve memory bandwidth by reducing the number of page table switches.
[0104] 2) Tuning kernel parameters: For example, tuning parameters such as vm.swappiness and vm.dirty_ratio can reduce unnecessary memory paging or writeback, ensuring that memory data can be transmitted more quickly, which helps improve read and write efficiency.
[0105] Optionally, in high I / O throughput scenarios, the tuning strategy may include one or more of the following:
[0106] 1) Optimize transmission control protocol / internet protocol (TCP / IP) parameters: According to the test results of the obtained test parameters, adjust TCP / IP parameters (such as TCP window size, congestion control algorithm used, etc.) to improve the efficiency of data transmission.
[0107] 2) Increase the size of the network buffer: This helps support larger packets and a greater number of concurrent connections, which in turn helps avoid network congestion.
[0108] Optionally, in a low-latency scenario, the tuning strategy may include one or more of the following:
[0109] 1) Disable the swap partition: When the swap partition usage is determined to be increased and exceeds the preset standard according to the test results of the obtained test parameters, the swap partition can be disabled to ensure that all memory accesses are performed in the physical memory, thereby reducing the access latency.
[0110] 2) Optimize memory allocation: The server test device can select an efficient memory allocation algorithm to reduce server memory fragmentation and allocation delay. For example, the server test device can control the server to use high-performance memory allocators such as jemalloc or tcmalloc.
[0111] Optionally, in a VRO storage scenario, the tuning strategy may include one or more of the following:
[0112] 1) Optimize the raid mode: The server test device can set the raid mode of the server according to the test business scenario, for example, raid0, raid1, raid5, and raid10 can be set. The root server test device can obtain the test results of the test parameters to determine whether the preset performance standards are met. If there are test parameters that do not meet the performance standards, the VROC Raid performance can be optimized by adjusting the VROC parameters, such as cache strategy, write strategy, etc.
[0113] 2) Optimize the scheduler: The server test device can control the server to traverse the I / O scheduler (such as noop, deadline, cfq, etc.), so as to select the scheduler that best suits the current application scenario, thereby achieving the purpose of optimizing I / O performance.
[0114] 3) Optimize the number of threads: For VROC Raid 5 mode, pay special attention to the number of active threads currently set. The server test device can modify the number of active threads by modifying the group_thread_cnt parameter of the server.
[0115] 4) Optimize the size of I / O requests: The server testing device can adjust the size of the server's I / O requests and the number of threads (in real time or non-real time) based on the test results of the obtained test parameters (such as the utilization rate of the CPU core). If it is determined that the CPU is always in a high utilization state, it can avoid unbalanced core load and lead to decreased storage performance.
[0116] For a test business scenario, the server test device can be configured with multiple tuning strategies, and the server test device can be tuned according to some or all of the tuning strategies each time. For example, for a high-performance computing scenario, the server test device is configured with N tuning strategies, and each time the test server is tuned, M of the N tuning strategies can be executed, where M is less than or equal to N.
[0117] Furthermore, after tuning the test server, the server testing device may test the server again and determine whether the test result of each test parameter during the retest meets the corresponding performance standard. If the corresponding performance standard is met, the test may be terminated. If the corresponding performance standard is still not met, the server may be tuned and tested again, optionally, until the corresponding performance standard is met, or until the maximum number of tests or the maximum number of tuning times is reached.
[0118] For example, for parameter A, setting Run = "yes" means that parameter A needs to be tested, that is, the information of parameter A needs to be obtained during the server testing process, and setting Run = "no" means that parameter A does not need to be tested; "Criterion" indicates the test standard set for parameter A. The tester can set the test standard for parameter A before the test. Then, during or after the test, the server testing device can automatically determine whether the server can meet the business requirements based on the preset test standard and parameter A obtained during the test; "monitor" indicates the monitoring tool that needs to be executed during the test, and the tester can set which monitoring tool obtains the information of parameter A during the test; "Tune" indicates whether tuning is required when the parameter does not meet the performance standard; "Tuned_times" indicates the maximum number of repeated tuning times when the parameter does not meet the performance standard to avoid infinite loop execution.
[0119] For high-performance computing scenarios, the following settings can be made:
[0120] Run = "yes"
[0121] Item = "linpack"
[0122] Criterion = theoretical value * 80%
[0123] Tune = "yes"
[0124] Tune_times = "3"
[0125] The above settings indicate that in a high-performance computing scenario, the test parameters include "linpack", and the corresponding test standard is theoretical value*80%, where theoretical value = number of cores*real-time frequency*DP value. Tune="yes" means that if the parameter "linpack" does not meet the performance standard, tuning is required, and the maximum number of tuning times is 3.
[0126] For energy-saving scenarios, you can set the following:
[0127] Run = "yes"
[0128] Item = "specpower"
[0129] Criterion = "3500"
[0130] Tune = "yes"
[0131] Tune_times = "2"
[0132] The above settings indicate that in the energy-saving scenario, the test parameters include "specpower", the corresponding test standard is 3500, and Tune = "yes" means that tuning is required if the parameter "specpower" does not meet the performance standard. The maximum number of tuning times is 2.
[0133] For high memory throughput scenarios, you can set the following:
[0134] Run = "yes"
[0135] Item = "stream"
[0136] Criterion = theoretical value * 80%
[0137] Tune = "yes"
[0138] Tune_times = "3"
[0139] The above settings indicate that in a high memory throughput scenario, the test parameter includes "stream", and its corresponding test standard is theoretical value*80%, where theoretical value = speed*channel*8. Tune="yes" indicates that tuning is required if the parameter "stream" does not meet the performance standard, and the maximum number of tuning times is 3.
[0140] For high I / O throughput scenarios, you can set the following:
[0141] Run = "yes"
[0142] Item = "iperf"
[0143] Criterion=speed*80%
[0144] Tune = "yes"
[0145] Tune_times = "3"
[0146] The above settings indicate that in a high I / O throughput scenario, the test parameters include "iperf", and the corresponding test standard is speed*80%. For example, for a 400G network card, speed = 400Gb / s, and Tune = "yes" indicates that if the parameter "iperf" does not meet the performance standard, tuning is required, and the maximum number of tuning times is 3.
[0147] For low-latency scenarios, you can set the following:
[0148] Run = "yes"
[0149] Item = "mlc"
[0150] Criterion-local=120ns
[0151] Criterion-remote=280ns
[0152] Tune = "yes"
[0153] Tune_times = "3"
[0154] The above settings indicate that in a low-latency scenario, the test parameters include "mlc", the corresponding local test standard is 120ns, and the remote test standard is 280ns. Tune="yes" means that if the parameter "mlc" does not meet the performance standard, tuning is required, and the maximum number of tuning times is 3.
[0155] For VROC storage scenarios, you can set the following:
[0156] Run = "yes"
[0157] Item = "VROC"
[0158] Raid-level = "raid0"
[0159] Criterion=spec*90%
[0160] Tune = "yes"
[0161] Tune_times = "1"
[0162] The above settings indicate that in the VROC storage scenario, the test parameters include "VROC", the corresponding test standard is spec*90%, and Tune="yes" indicates that tuning is required if the parameter "VROC" does not meet the performance standard, and the maximum number of tuning times is 1.
[0163] In order to more clearly understand the above embodiments of the present application, Figure 3 Give an example.
[0164] Step S301: The user sets parameters on the user interface provided by the server testing device.
[0165] Users can set each test parameter, including whether to test it in various test business scenarios, the corresponding performance standards, etc.
[0166] Alternatively, the user can also set up each business test scenario, setting which parameters need to be tested and the performance standards corresponding to the parameters in each test business scenario.
[0167] Users can also set the maximum number of tests or the maximum number of tunings. The maximum number of tests or the maximum number of tunings can be set separately for each test business scenario, or for each test parameter, or uniformly for all scenarios and parameters.
[0168] Users can also set tuning strategies corresponding to each test business scenario, such as enabling the parallel computing capabilities of multi-core processors in high-performance computing scenarios, and enabling the dynamic voltage and frequency adjustment function of the CPU in energy-saving scenarios.
[0169] Users can also set up monitoring tools for each test business scenario. For example, in a high-performance computing scenario, turbostat can be used to obtain information on test parameters such as the real-time frequency and C-state of each CPU core.
[0170] The above step S301 can be performed when the server test device is initialized, or when the user needs to modify the configuration information of the server test (such as supported test business scenarios, test parameters, performance standards, tuning tests, etc.). The above step S301 is an optional step and can be pre-configured by the server test device without user setting.
[0171] Step S302: The user sets a test business scenario on a user interface provided by the server testing device.
[0172] The server testing device can provide multiple test business scenario options for users to choose from. The server to be tested will be used in which business scenario, and the user can select the corresponding business scenario as the test business scenario.
[0173] Optionally, after the user determines the test business scenario, the server test device can provide the default test parameters and corresponding performance standards for the test business scenario. When step S301 exists, the above default settings can be those set in step S301, and when step S301 does not exist, they can be pre-configured by the server test device. Furthermore, the user can be allowed to modify the default settings, increase or decrease the parameters to be tested, or modify the performance standards corresponding to the parameters, so that the test is more targeted.
[0174] Step S303: The server testing device tests the server to be tested and obtains data of the test parameters during the test process.
[0175] When testing the server, the server testing device enables the server to execute the test script corresponding to the test business scenario, thereby simulating the possible situations of each test component when the server works in the corresponding test business scenario, and obtains the test parameter data in real time or periodically through the monitoring tool.
[0176] Step S304: The server testing device determines whether the data of the test parameters meets the corresponding performance standards.
[0177] If there are test parameters that do not meet the performance standards, it means that the server has not passed the test and may not be able to meet the user's business needs, and then continue to execute step S305.
[0178] If all the test parameters meet the performance standards, indicating that the server passes the test, step S307 is executed.
[0179] Step S305: The server testing device optimizes the server to be tested according to the optimization strategy corresponding to the test business scenario.
[0180] The server testing device may optimize the server to be tested after all the test scripts have been executed, or, when it is determined that there are test parameters that do not meet the performance standards, stop testing the server to be tested and optimize it.
[0181] In the above step S301, the tuning strategy for each test business scenario may have been configured, or the server test device may be pre-configured with the tuning strategy for each test business scenario, and the server test device may tune the server to be tested according to the tuning strategy corresponding to the test business scenario.
[0182] Each test business scenario can be configured with multiple tuning strategies. When performing tuning, the server test device can choose to execute some tuning strategies first based on the gap between the parameters that do not meet the performance standards and the performance standards. If the performance standards are still not met after tuning, other tuning strategies will be executed.
[0183] Step S306: The server testing device determines whether the maximum number of tests has been reached.
[0184] If the maximum number of tests is not reached, the server to be tested is tested, that is, step S303 is repeated.
[0185] If the maximum number of tests is reached, the test is terminated to avoid executing multiple invalid tests.
[0186] Step S307: The server testing device displays the test result to the user.
[0187] The server testing device can display the final performance test results of the server to be tested to the user through the GUI, such as whether it has passed the test, the data of each test parameter, whether it has been tuned, the tuning solution used, and a performance analysis report of the server to be tested.
[0188] In the above method, when testing the server, it is determined whether the test parameters meet the corresponding performance standards according to the test business scenario, and the server is tuned according to the business scenario if the performance standards are not met. Since different business scenarios have different requirements for various performance parameters of the server, the test components that need to be tested may be different; for the same test component, the test parameters that need to be obtained in different test business scenarios may be the same or different; for the same test parameters, the performance standards that need to be achieved in different test business scenarios may also be different; therefore, when testing and tuning the server according to the test business scenario, rather than using a unified performance standard and tuning method, it can meet the business needs of the test server, but it does not have to meet the business needs in all business scenarios, which helps to reduce server costs; and automatic testing and tuning can reduce the operation of testers and improve testing efficiency.
[0189] Based on the same technical concept, an embodiment of the present application also provides a server testing device for implementing the above-mentioned server testing method. The server testing device includes corresponding units or modules for executing the above-mentioned server testing method. The units or modules included in the device can be implemented by software and / or hardware.
[0190] Figure 4 An exemplary structural diagram of a server testing device is provided. As shown in the figure, the heat dissipation testing device may include:
[0191] The determination module 401 is used to determine the server test business scenario.
[0192] The acquisition module 402 is used to acquire the test parameters corresponding to the test business scenario and the performance standards corresponding to the test parameters according to the preset correspondence between the test business scenario, the test parameters and the performance standards.
[0193] The testing module 403 is used to test the server to determine whether the test result of each test parameter meets the corresponding performance standard.
[0194] The tuning module 404 is used to tune the server according to the test results of the test parameters that do not meet the performance standards and the test business scenario if there are test parameters that do not meet the performance standards.
[0195] In a possible implementation, the tuning module 404 is specifically used to tune the server according to the test results of the test parameters that do not meet the performance standards and the tuning strategies corresponding to the test parameters that do not meet the performance standards in the business scenario.
[0196] In a possible implementation, the tuning strategy includes one or more of the following strategies: BIOS tuning strategies corresponding to different business scenarios, operating system tuning strategies corresponding to different business scenarios, CPU frequency tuning strategies corresponding to different business scenarios, memory allocation tuning strategies corresponding to different business scenarios, I / O scheduling tuning strategies corresponding to different business scenarios, network traffic tuning strategies corresponding to different business scenarios, and power supply tuning strategies corresponding to different business scenarios.
[0197] In a possible implementation, the test module 403 is further used to: obtain the test result through a monitoring tool corresponding to the test business scenario.
[0198] In a possible implementation, the acquisition module 402 is also used to: acquire at least one component information; when acquiring the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters, the acquisition module 402 is specifically used to: acquire the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters based on the component information.
[0199] In a possible implementation, the testing module 403 is also used to: after the tuning module 404 tunes the server, if the number of tests does not reach the maximum number of tests, test the server again to determine whether the test result of each test parameter meets the corresponding performance standard.
[0200] In a possible implementation, the test parameters include the following or multiple test component parameters: CPU, memory, hard disk, network card.
[0201] Based on the same technical concept, an electronic device is also provided in an embodiment of the present application for implementing the above-mentioned server testing method.
[0202] Figure 5 A schematic diagram of the structure of an electronic device is exemplarily provided. As shown in the figure, the electronic device may include: at least one processor 501, and at least one memory 502 connected to the at least one processor 501. The specific connection medium between the processor 501 and the memory 502 is not limited in the embodiment of the present application. Figure 5 In the example, the processor 501 and the memory 502 are connected via a bus 504. The bus 504 is Figure 5 A line in the figure indicates that the connection between other components is only for schematic illustration and is not intended to be limiting. Further, the electronic device may also include a communication interface 503, which is used to implement the receiving operation and / or sending operation of the electronic device to implement communication between the above electronic device and other devices.
[0203] The processor 501 may be a central processing unit (CPU), a network processor (NP) or a combination of a CPU and a NP. The processor may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
[0204] The memory 502 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache.
[0205] The bus 503 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0206] Specifically, a computer program is stored in the memory 502. When the program is executed by the processor 501, the processor 501 executes the following steps: determining a server test business scenario; obtaining test parameters corresponding to the test business scenario and performance standards corresponding to the test parameters according to a pre-set correspondence between the test business scenario and the test parameters and performance standards; testing the server to determine whether the test result of each test parameter meets the corresponding performance standard; if there are test parameters that do not meet the performance standard, tuning the server according to the test results of the test parameters that do not meet the performance standard and the test business scenario.
[0207] In one possible implementation, the processor 501, when tuning the server according to the test results of the test parameters that do not meet the performance standards and the business scenario, is specifically used to: tune the server according to the test results of the test parameters that do not meet the performance standards and the tuning strategy corresponding to the test parameters that do not meet the performance standards in the business scenario.
[0208] In a possible implementation, the tuning strategy includes one or more of the following strategies: BIOS tuning strategies corresponding to different business scenarios, operating system tuning strategies corresponding to different business scenarios, CPU frequency tuning strategies corresponding to different business scenarios, memory allocation tuning strategies corresponding to different business scenarios, I / O scheduling tuning strategies corresponding to different business scenarios, network traffic tuning strategies corresponding to different business scenarios, and power supply tuning strategies corresponding to different business scenarios.
[0209] In a possible implementation, the processor 501 is further configured to: obtain the test result through a monitoring tool corresponding to the test business scenario.
[0210] In a possible implementation, the processor 501 is also used to: obtain at least one component information; when the processor 501 obtains the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters, it is specifically used to: obtain the test parameters corresponding to the test component corresponding to the test business scenario and the performance standards corresponding to the test parameters based on the component information.
[0211] In a possible implementation, the test parameters include the following or multiple test component parameters: CPU, memory, hard disk, network card.
[0212] Based on the same technical concept, an embodiment of the present application provides a chip, including: at least one processor, the at least one processor is coupled to a memory, the memory is used to store instructions, and when the instructions are executed by the processor, the chip implements the method described in any of the above implementation methods.
[0213] Based on the same technical concept, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program that can be executed by an electronic device. When the program runs on the electronic device, the electronic device implements any of the above embodiments when executing.
[0214] Based on the same technical concept, an embodiment of the present application further provides a computer program product, which includes: a computer program code, when the computer program code runs on a computer, enables the computer to execute any of the above embodiments.
[0215] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0216] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0217] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0218] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0219] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A server testing method, characterized in that: The method comprises: Determine the server testing business scenario; According to the correspondence between the test business scenario and the test parameters and performance standards, the test parameters corresponding to the test business scenario and the performance standards corresponding to the test parameters are obtained; Testing the server to determine whether the test result of each test parameter meets the corresponding performance standard; If there are test parameters that do not meet the performance standard, the server is tuned according to the test results of the test parameters that do not meet the performance standard and the test business scenario.
2. The method according to claim 1, characterized in that: The tuning of the server according to the test results of the test parameters that do not meet the performance standard and the business scenario includes: The server is tuned according to the test results of the test parameters that do not meet the performance standards and the tuning strategies corresponding to the test parameters that do not meet the performance standards in the business scenario.
3. The method according to claim 2, characterized in that The tuning strategy includes one or more of the following strategies: Basic input and output system BIOS tuning strategies corresponding to different business scenarios, operating system tuning strategies corresponding to different business scenarios, CPU frequency tuning strategies corresponding to different business scenarios, memory allocation tuning strategies corresponding to different business scenarios, input / output I / O scheduling tuning strategies corresponding to different business scenarios, network traffic tuning strategies corresponding to different business scenarios, and power supply tuning strategies corresponding to different business scenarios.
4. The method according to claim 1, characterized in that: The method further comprises: Determine the monitoring tool corresponding to the test business scenario; The test result is obtained through the monitoring tool.
5. The method according to claim 1, characterized in that The method further comprises: Obtain at least one component information; The obtaining of the test parameters corresponding to the test components corresponding to the test business scenario and the performance standards corresponding to the test parameters includes: According to the component information, test parameters corresponding to the test component corresponding to the test business scenario and performance standards corresponding to the test parameters are obtained.
6. The method according to claim 1, characterized in that After tuning the server, the method further includes: If the number of tests does not reach the maximum number of tests, the server is tested again to determine whether the test result of each test parameter meets the corresponding performance standard.
7. The method according to claim 1, characterized in that The test parameters include the following or multiple test component parameters: CPU, memory, hard disk, network card.
8. A server testing device, characterized in that: The device comprises: A determination module is used to determine the server test business scenario; An acquisition module, used to acquire the test parameters corresponding to the test components corresponding to the test business scenario and the performance standards corresponding to the test parameters according to the preset correspondence between the test business scenario and the test parameters and performance standards; A test module, used to test the test parameters to determine whether the test result of each test parameter meets the corresponding performance standard; The tuning module is used to tune the server according to the test results of the test parameters that do not meet the performance standards and the business scenario if there are test parameters that do not meet the performance standards.
9. An electronic device, characterized in that: The electronic device comprises at least a processor and a memory, and the processor is configured to implement the steps of the method according to any one of claims 1 to 7 when executing a computer program stored in the memory.
10. A computer storage medium, characterized in that: It stores a computer program executable by an electronic device, and when the program runs on the electronic device, the electronic device executes the steps of the method according to any one of claims 1 to 7.