Heat dissipation test method, device and equipment
By using random number seeds in the heat dissipation test to determine the execution order of the test script, the heat dissipation test can be carried out under random working conditions, which solves the problem that existing technology is difficult to cover complex working conditions and improves the heat dissipation performance and testing efficiency of the server.
Patent Information
- Application Number
- CN202411419220.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-01-21
AI Technical Summary
The existing heat dissipation testing methods are mainly carried out under stable working conditions or preset working conditions, making it difficult to fully cover complex and changeable working conditions in actual applications, making it difficult to obtain test results under complex working conditions, affecting the improvement of server performance.
By generating multiple test scripts and using random number seeds to determine the order of execution of the test scripts, heat dissipation testing can be carried out under random working conditions and various pressure switching scenarios can be generated to fully test the effectiveness of the current heat dissipation design under various working conditions. sex.
This method helps to discover potential cooling problems, improve the cooling performance of the server, and reduces manual operations and improves testing efficiency by automatically adjusting the cooling strategy and reproducing test scenarios.
Smart Images

Figure CN119334669A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a heat dissipation testing method, device and equipment. Background Art
[0002] With the rapid development of the Internet industry, the performance requirements for servers are getting higher and higher. When the server is running efficiently, it will generate a lot of heat. In order to ensure the normal operation of each component, it is necessary to dissipate heat and adjust the temperature of the server.
[0003] Heat dissipation design can include the design of chassis heat dissipation structure and heat dissipation strategy. Heat dissipation strategy can include fan automatic speed control strategy (in order to reduce the operating power consumption of the server and keep the fan speed of the server within a reasonable range, the server generally uses automatic speed control technology to control the fan speed of the server). Heat dissipation testing, as an effective means to verify heat dissipation design (such as chassis heat dissipation structure, fan automatic speed control strategy, etc.), has always been the key to the server heat dissipation research and development process and determines the quality of server products.
[0004] However, the current heat dissipation test process is carried out under stable working conditions or preset working conditions, and no heat dissipation test is performed under random working conditions; but the working conditions in actual applications are complex and changeable, so the current heat dissipation test is difficult to obtain test results under complex and changeable working conditions, which is not conducive to improving server performance. Summary of the invention
[0005] The present invention provides a heat dissipation testing method for implementing heat dissipation testing under random working conditions, thereby facilitating verification of the effectiveness of the current heat dissipation design under various working conditions.
[0006] In a first aspect, the present application provides a heat dissipation testing method, which includes: generating multiple test scripts for testing, each of the test scripts is used to apply pressure to a component; receiving random instructions, the random instructions including a random number seed; determining the execution order of the multiple test scripts according to the random number seed; executing the multiple test scripts in the execution order, and recording the temperature of each component to be tested.
[0007] In the above method, by randomly setting the execution order of multiple test scripts through random number seeds, various stress switching scenarios can be generated, so that the server can perform heat dissipation tests under various stress switching scenarios, and can fully test the effectiveness of the current heat dissipation design under various working conditions, thereby helping to discover potential heat dissipation problems and further help improve the heat dissipation performance of the server.
[0008] In a possible implementation, the method further includes: receiving a parallel instruction, the parallel instruction including the number of the multiple test scripts to be executed in parallel; and executing the multiple test scripts in the execution order includes: executing the multiple test scripts according to the execution order and the parallel number.
[0009] In the above implementation, the number of test scripts executed simultaneously during the test can be further set. On the basis of the random execution of multiple test scripts, the simultaneous execution of multiple test scripts further increases the number of stress switching scenarios, thereby generating a larger number of more random stress switching scenarios, thereby being able to fully test the heat dissipation of the server under various stress switching scenarios, thereby helping to improve the heat dissipation performance of the server.
[0010] In a possible implementation, the execution order of the multiple test scripts corresponding to the same random number seed is the same.
[0011] In the above implementation, the same test script execution order can be obtained by setting the same random number seed, so that the test process can be reproduced. For example, when a problem is found during the test and the heat dissipation design (such as chassis structure, fan speed control strategy, etc.) needs to be optimized, after the optimization, the same random number seed can be used to determine the same execution order, and the same execution order can be used to test again to determine whether the optimization measures are effective.
[0012] In a possible implementation, the method further includes: receiving a pressure instruction, the pressure instruction being used to indicate one or more components that need to be tested by applying pressure; and the multiple test scripts include a test script for each of the one or more components.
[0013] In the above implementation, the user may set one or more components that require pressure testing and instruct them through pressure instructions, so that when generating a test script, one or more test scripts are generated for each component that requires pressure testing.
[0014] In one possible implementation, the method further includes: receiving an execution time instruction, wherein the execution time instruction is used to indicate one or more durations of applying pressure to each component to which pressure needs to be applied; and the multiple test scripts include a test script for applying each of the durations respectively to each component to which pressure needs to be applied.
[0015] In the above implementation, the user can set one or more durations for applying pressure to each component that needs to be pressured, so that when generating a test script, a corresponding test script is generated for each component that needs to be pressured according to each duration. For example, if the user sets the durations for applying pressure to be 15 minutes, 30 minutes, and 45 minutes, then three test scripts can be generated for the component CPU that needs to be pressured, and the durations for applying pressure to the CPU in these three test scripts are 15 minutes, 30 minutes, and 45 minutes, respectively.
[0016] In one possible implementation, the method also includes: receiving a total test duration instruction, the total test duration instruction including the total duration for executing the multiple test scripts; executing the multiple test scripts in the execution order includes: executing the multiple test scripts in the execution order, and if the total duration is not reached, executing the multiple test scripts in the execution order, and if the total duration is reached, stopping execution of the test scripts.
[0017] In the above implementation, the total test duration can be further set. The length of the test time will have different effects on the heat dissipation performance of the server. Therefore, the total test duration can be set in each test to generate more test scenarios, so as to fully test the heat dissipation of the server in various scenarios.
[0018] In a possible implementation, the method also includes: if the temperature of a component to be tested is greater than or equal to a preset threshold, adjusting the heat dissipation strategy according to a preset adjustment strategy; generating an execution order of the multiple test scripts according to the random number seed; executing the multiple test scripts according to the execution order, and recording the temperature of each component to be tested.
[0019] In the above implementation, when there is a temperature anomaly of a component, the heat dissipation strategy (such as the fan speed control strategy) can be automatically adjusted, and the same execution order is determined according to the same random number seed, and the same execution order is used to test again, thereby verifying whether the adjusted heat dissipation strategy is effective. Since the process of determining whether there is a temperature anomaly, adjusting the heat dissipation strategy, and retesting are all automatically completed by the test device, it can reduce the operation of the tester, reduce labor costs, and improve test efficiency.
[0020] In a second aspect, an embodiment of the present application also provides a heat dissipation testing device, comprising: a generation module for generating multiple test scripts for testing, each of the test scripts being used to apply pressure to a component; a receiving module for receiving random instructions, the random instructions comprising a random number seed; a determination module for determining an execution order of the multiple test scripts according to the random number seed; an execution module for executing the multiple test scripts in the execution order and recording the temperature of each component to be tested.
[0021] 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 in the heat dissipation test method when executing the computer program.
[0022] 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, implements the steps in the above-mentioned heat dissipation testing method of the present application.
[0023] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which is stored in a computer-readable storage medium; when the 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 executes the steps in the above-mentioned heat dissipation test method of the present application.
[0024] 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
[0025] 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.
[0026] Figure 1 A schematic diagram of a server heat dissipation and speed regulation system provided in an embodiment of the present application;
[0027] Figure 2 A schematic diagram of a heat dissipation testing method provided in an embodiment of the present application;
[0028] Figure 3 A schematic diagram of a flow chart of another heat dissipation testing method provided in an embodiment of the present application;
[0029] Figure 4 A schematic diagram of a flow chart of another heat dissipation testing method provided in an embodiment of the present application;
[0030] Figure 5 A schematic diagram of the structure of a heat dissipation testing device provided in an embodiment of the present application;
[0031] Figure 6 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0032] 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.
[0033] 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.
[0034] During the heat dissipation test, when the power consumption of various components of the server is at a high value, in order to cool the components, the server will set the fan speed to a higher value according to the heat dissipation strategy. Figure 1 An exemplary schematic diagram of a server heat dissipation speed regulation system is provided, in which the temperature sensor in the server transmits the collected temperature data of each hardware component to the heat dissipation control system, and the heat dissipation control system determines and adjusts the fan speed according to a preset fan speed strategy.
[0035] Traditional heat dissipation testing is mainly manual testing. The test engineer places the server under test at a preset ambient temperature, instructs the server to execute the stress script of each component to load each component, so that each component runs at a higher power consumption, and then reads the temperature of each component to determine whether it exceeds the preset temperature threshold.
[0036] The above-mentioned heat dissipation test method can effectively verify the heat dissipation function of the server, but there are still some problems. First, in the actual use scenarios of the server, due to the complexity and changeability of the actual business, the server usually does not run under stable pressure, and the pressure of each component will change with the business scenario. Stable pressure testing cannot verify the heat dissipation during transient pressure switching. In actual use scenarios, it may cause transient overheating of components. Therefore, it is necessary to perform heat dissipation tests under various random working conditions. Secondly, under current technology, the implementation of random working conditions requires test engineers to manually switch scripts, which has a large workload and low coverage.
[0037] In order to solve the above problems, an embodiment of the present application proposes a heat dissipation testing method for performing heat dissipation testing under random working conditions to ensure sufficient coverage of different operating conditions and their switching scenarios, thereby fully verifying the effectiveness of the current heat dissipation design under various working conditions.
[0038] Figure 2 A flow chart of a heat dissipation test method provided in an embodiment of the present application is shown in the figure. The method may include the following steps:
[0039] Step S201: Generate multiple test scripts for testing.
[0040] The heat dissipation testing device can generate multiple test scripts (such as shell scripts) for testing, and the multiple test scripts can be used to load various components of the server, so that when the server runs the test scripts, the corresponding components can run under a condition of high power consumption. For example, the generated multiple test scripts may include a script for loading the CPU, a script for loading the memory, etc.
[0041] The above-mentioned test device can be a virtual device (such as software for executing tests) or a physical device. For example, the test device can be software installed on the server to be tested, and the server to be tested can be tested by running the software on the server to be tested; or, it can be software installed on other equipment, and the equipment is connected to the server to be tested, so that the server to be tested can be tested using the test device. For another example, the test device can also be a separate physical device, or a physical device deployed in combination with other devices, and the physical device is connected to the server to be tested, so that the server to be tested can be tested.
[0042] Optionally, before generating the test script, the test device may also obtain information about the server to be tested, such as CPU, memory, network card, hard disk, etc., so as to generate a test script suitable for the server. For example, the test device may obtain parameters such as the CPU model, main frequency, number of cores, etc., and may generate different test scripts for different CPUs to avoid the generated test script being inappropriate for the CPU and seriously exceeding the load capacity of the CPU.
[0043] In one possible implementation, the heat dissipation testing device can receive a pressure instruction, which is used to indicate one or more components that need to be tested under pressure; then the heat dissipation testing device will generate multiple test scripts based on the one or more components that need to be tested under pressure, and the generated multiple test scripts include a test script for each of the one or more components that need to be tested under pressure.
[0044] For example, the client of the test device can provide the user with component options, such as CPU, memory, network card, hard disk and other component options. The tester can select one or more components that need to be loaded during the heat dissipation test by checking the corresponding options. When the user completes the selection, it is equivalent to sending a pressure instruction to the test device, and the test device determines the one or more components that need to be loaded according to the received pressure instruction. For another example, the user can also directly input the components that need to be loaded through the client.
[0045] In one possible implementation, the heat dissipation testing device can also receive an execution time instruction, which is used to indicate one or more durations of applying pressure to each component that needs to be applied pressure; then the heat dissipation testing device will generate multiple test scripts based on the one or more durations in the instruction, and the generated multiple test scripts include a test script for applying each duration for each component that needs to be applied pressure.
[0046] For example, the execution time instruction received by the heat dissipation test device is used to indicate that the pressure to be applied includes 15 minutes, 30 minutes, 45 minutes, and 60 minutes. Then the heat dissipation test device generates a test script for applying pressure for 15 minutes, 30 minutes, 45 minutes, and 60 minutes for each component that needs to apply pressure. Furthermore, the client of the test device can also provide users with time options for testers to check, thereby realizing quick settings. Alternatively, the user can also input the time required to apply pressure through the client.
[0047] Optionally, when the heat dissipation testing device receives both a pressure instruction and an execution time instruction, the heat dissipation testing device can perform a Cartesian product operation on the component set contained in the pressure instruction and the duration set contained in the execution time instruction to obtain a combined list of components and durations to which pressure needs to be applied, and generate a corresponding script file list so as to generate a corresponding test script based on the list. For example, the component set included in the pressure instruction includes 4 components, namely, CPU, memory, network card, and hard disk, and the duration set included in the execution time instruction includes 4 durations, namely, 15min, 30min, 45min, and 60min. Then the combination list will include 4*4=16 combinations, and the heat dissipation test device will generate 16 test scripts accordingly, namely: 4 test scripts that apply pressure on the CPU for 15min, 30min, 45min, and 60min, 4 test scripts that apply pressure on the memory for 15min, 30min, 45min, and 60min, 4 test scripts that apply pressure on the network card for 15min, 30min, 45min, and 60min, and 4 test scripts that apply pressure on the hard disk for 15min, 30min, 45min, and 60min.
[0048] Step S202: Receive a random instruction, where the random instruction includes a random number seed.
[0049] The random number seed is used to generate a random execution order of the above-mentioned multiple test scripts. For example, the tester can input the random number seed through the client of the heat dissipation test device, which is equivalent to sending a random instruction to the heat dissipation test device.
[0050] Step S203: Determine the execution order of multiple test scripts according to the random number seed.
[0051] The heat dissipation testing device can obtain a set of random number sequences according to a random number seed and a preset algorithm, each element in the random number sequence corresponds to a test script, so that the execution order of multiple test scripts is determined according to the order of the elements in the random number sequence.
[0052] It should be understood that the execution order of multiple test scripts determined by the random number seed is random and may not result in the same number of executions of each test script. For example, the heat dissipation test device generates 16 test scripts, but when the test scripts are executed according to the random execution order determined by the random number seed, some test scripts may be executed multiple times, but some test scripts may not be executed even once.
[0053] In a possible implementation, the same random number seed can be used to determine that the execution order of the same multiple test scripts is the same. In this implementation, the random number seed refers to the initial value used to generate pseudo-random numbers in a pseudo-random number generator. If the initial values are the same, the same random number sequence will be obtained.
[0054] For example, a random number sequence can be generated based on the square median method. First, obtain the random number seed X0 in the random instruction, and divide X0 by 10000 to obtain the remainder, which can retain 4 digits of the remainder; then calculate the square of the remainder, which can retain 8 digits of the square number (if it is less than 8 digits, 0 can be added in front); then take the middle 4 digits of the square number to obtain the next 4-digit random number X1. Repeat the above operation for X1 to obtain the next random number X2; repeat this process to obtain a random number sequence.
[0055] For another example, a random number sequence can be generated based on the linear congruential method. First, obtain the random number seed X0 in the random instruction, and then substitute X0 into the algorithm formula X(n+1)=(a*X(n)+b)mod c to obtain X1, where a, b, and c are constants. Substitute X1 into the above algorithm formula to obtain the next random number X2; repeat this process to obtain a random number sequence.
[0056] In the above implementation, the same test script execution order can be obtained by setting the same random number seed, so that the test process can be reproduced. For example, when a problem is found during the test and the heat dissipation design (such as chassis structure, fan speed control strategy, etc.) needs to be optimized, after the optimization, in order to verify whether the optimization measures are effective, the same random number seed can be used to determine the same execution order, and the same execution order can be used to test again. If a random execution order is still used, due to the different stress switching scenarios during the test, even if the test can be passed, it is not enough to prove that the optimization measures are feasible and effective.
[0057] It should be noted that the timing of executing the above steps S202 and S203 is not limited in the present embodiment of the application. For example, step S202 may be performed before step S201 (i.e., setting the random number seed first and then generating the test script), or after step S201 (i.e., generating the test script first and then setting the random number seed); when step S202 may be performed before step S201, step S203 may be performed after step S201, or simultaneously with step S201, or after step S201.
[0058] Step S204: execute multiple test scripts according to the determined execution order, and record the temperature of each component to be tested.
[0059] When the heat dissipation test device is software installed in the server to be tested, the heat dissipation test device can directly start multiple test scripts, so that the server runs the test scripts to stress each component and collect the temperature of each component to be tested in the server to be tested. Then the above steps can be considered to be executed by the heat dissipation test software, or by the server to be tested.
[0060] When the heat dissipation test device is independent of the server under test, the heat dissipation test device can send multiple test scripts and the determined execution order to the server under test, so that the server under test executes the multiple test scripts according to the determined execution order; or the heat dissipation test device can also not send the execution order, and the test device installs the execution order to trigger the server under test to execute the corresponding test scripts in sequence. For example, the heat dissipation test device can remotely control the server under test to execute multiple test scripts according to the execution order.
[0061] During the execution of the test script by the server under test, the heat dissipation test device may collect the temperature of each component under test in the server under test; alternatively, the server under test may record the temperature of each component under test during the test and send the recorded temperature information to the heat dissipation test device after the test is completed.
[0062] In a specific design, the heat dissipation test device can access the server baseboard management controller (BMC) every N seconds to collect the temperature data of each component; generate a temperature change curve of each component over time based on the collected temperature data, and mark one or more test scripts executed at each moment on the curve. Generating a temperature change curve can facilitate testers to observe the temperature change trend of each component, and then facilitate summarizing the law of temperature change and optimizing the heat dissipation design.
[0063] In the above method, by randomly setting the execution order of multiple test scripts through random number seeds, various stress switching scenarios can be generated, so that the server can perform heat dissipation tests under various stress switching scenarios, and can fully test the effectiveness of the current heat dissipation design under various working conditions, thereby helping to discover potential heat dissipation problems and further help improve the heat dissipation performance of the server.
[0064] In a possible implementation, the heat dissipation test device may also receive a parallel instruction, which includes the number of parallel executions of multiple test scripts. When receiving the parallel instruction, the heat dissipation test device or the server to be tested executes the multiple test scripts according to the determined execution order and parallel number.
[0065] For example, assuming that there are 16 test scripts in total, the random execution order of multiple test scripts is determined to be test script 3 (execution time 45 minutes), test script 7 (execution time 45 minutes), test script 1 (execution time 15 minutes), test script 6 (execution time 30 minutes), test script 15 (execution time 45 minutes), test script 14 (execution time 30 minutes), test script 3 (execution time 45 minutes), test script 8 (execution time 60 minutes), .... If the parallel instruction is used to indicate that two test scripts can be executed in parallel, then when executing the test scripts, the heat dissipation test device can first execute test script 3 and test script 7 in parallel; since test script 3 and test script 7 end at the same time, test script 1 and test script 6 continue to be executed at the same time; since test script 1 ends first, test script 15 is executed, and test script 15 and test script 6 are executed at the same time; since test script 6 will end before test script 15, test script 14 is continued to be executed, and test script 15 and test script 14 are executed at the same time; ....
[0066] The heat dissipation test device may receive the parallel instruction at any time, which is not limited in the present embodiment. For example, the parallel instruction may be received before step S201 or after step S201, before step S202 or after step S202, or simultaneously with step S202.
[0067] In the above implementation, the number of test scripts executed simultaneously during the test can be further set. On the basis of the random execution of multiple test scripts, the simultaneous execution of multiple test scripts further increases the number of stress switching scenarios, thereby generating a larger number of more random stress switching scenarios, thereby being able to fully test the heat dissipation of the server under various stress switching scenarios, thereby helping to improve the heat dissipation performance of the server.
[0068] In a possible implementation, the heat dissipation test device may also receive a total test duration instruction, which includes the total duration of executing the multiple test scripts. When receiving the total test duration instruction, when the heat dissipation test device executes multiple test scripts in the determined execution order, if the above total duration is not reached, the multiple test scripts are executed in the above execution order (which can be executed repeatedly); if the above total duration is reached, the execution of the test script is stopped. For example, when the heat dissipation test device starts to execute the test script, it can start a timer, and the timing duration of the timer is the total test duration in the instruction; when the timer does not reach the set duration, the test script is executed in the determined execution order; when the timer reaches the set duration, the execution of the test script is stopped.
[0069] The timing of receiving the instruction of the total test duration by the heat dissipation test device is not limited in the embodiment of the present application. For example, the timing of receiving the instruction of the total test duration may be before step S201, or after step S201, or before step S202, or after step S202, or at the same time as step S202.
[0070] In the above implementation, the tester can further set the total duration of the test. The length of the test time will have different effects on the heat dissipation performance of the server. Therefore, the total duration of the test can be set in each test to generate more test scenarios, so as to fully test the heat dissipation of the server in various scenarios.
[0071] After the test is completed or during the test, the heat dissipation test device can determine whether there is a component under test whose temperature is greater than or equal to a preset temperature threshold during the test based on the collected temperature data of each component; if it is determined that there is a component under test whose temperature is greater than or equal to the preset temperature threshold during the test, the heat dissipation test can take the following measures:
[0072] Measure 1: Prompt the tester that the temperature of the component under test is greater than or equal to the preset temperature threshold during the test.
[0073] For example, the client of the heat dissipation testing device may notify the tester through an obvious prompting method that the temperature is greater than or equal to a preset temperature threshold, such as using red font or highlighted font to display information about abnormal temperature.
[0074] In addition, the heat dissipation testing device can also collect the above-mentioned words immediately when it finds that the temperature of the component to be tested is greater than or equal to the preset temperature threshold, without having to wait until the test is over to notify the tester, so that the tester can find the problem immediately. The tester decides whether to stop the test immediately to solve the abnormal problem or wait until the test is over before processing. How to solve the abnormal temperature problem is also decided by the tester, such as optimizing the chassis structure, adjusting the heat dissipation strategy (such as fan speed control strategy), etc.
[0075] Measure 2: Adjust the heat dissipation strategy according to a preset adjustment strategy, determine the execution order of multiple test scripts according to the random number seed used last time, execute the multiple test scripts according to the execution order, and record the temperature of each component to be tested.
[0076] If the heat dissipation test device takes measure 2, the heat dissipation test device will automatically adjust the heat dissipation strategy (such as fan speed control strategy, etc.) and automatically retest without manual operation by the tester. Since the random number seed used when the temperature abnormality occurred is used in the retest, the working conditions when the temperature abnormality occurred can be reproduced in the retest, so that the test results can better reflect whether the adjusted heat dissipation strategy can solve the temperature abnormality problem that occurred previously, and can also verify whether the preset adjustment strategy is effective.
[0077] When taking measure 2, adjusting the heat dissipation strategy (such as fan speed control strategy), using the same random number seed to determine the execution order, and testing again using the same execution order can all be automatically completed by the heat dissipation test device, which can reduce the operation of testers, reduce labor costs, and improve test efficiency.
[0078] If after retesting, the temperature of the component under test is not greater than or equal to the preset temperature threshold, it can be considered that the adjusted heat dissipation strategy is effective and can solve the temperature anomaly problem that occurred before; if the temperature of the component under test is still greater than or equal to the preset temperature threshold, it can be considered that the adjusted heat dissipation strategy cannot solve the temperature anomaly problem that occurred before, and the heat dissipation design still needs to be adjusted.
[0079] When the temperature of the tested component is still greater than or equal to the preset temperature threshold after the retest, the heat dissipation strategy can be adjusted according to the preset adjustment strategy, and the execution order can be determined according to the same random number seed to test again to verify whether the adjusted heat dissipation strategy can solve the temperature anomaly problem that occurred previously. In addition, the heat dissipation test device can also be pre-configured with a maximum number of tests to avoid the situation where the test fails all the time due to poor adjustment strategy.
[0080] In order to understand the above embodiment more clearly, Figure 3 , Figure 4 The above heat dissipation test method is described with examples. Figure 3 , Figure 4 In the specific embodiment shown, the heat dissipation testing device is described as testing software installed on the server to be tested.
[0081] Figure 3 The heat dissipation test method may include the following steps:
[0082] Step S301: Prepare a server test environment.
[0083] Preparing a server test environment may include one or any combination of the following: placing the server under test at an ambient temperature required for the test, installing and running test software in the server under test, and installing a tool for applying stress to various components in the server under test.
[0084] Step S302: Generate multiple test scripts for testing.
[0085] The test software can obtain information about each component in the server to be tested and generate multiple test scripts. Optionally, the test software can generate one or more test scripts for each component to be stressed, and can also generate multiple test scripts with different stress durations for each component to be stressed.
[0086] Step S303: Setting a random number seed through the test software.
[0087] This step can be completed by the tester, that is, inputting a random instruction into the test software, wherein the random instruction includes a random number seed.
[0088] Step S304: Determine the execution order of multiple test scripts according to the random number seed.
[0089] The test software can determine the execution order of multiple test scripts based on the random number seed and the preset algorithm.
[0090] Optionally, when the random number seeds are the same, the same test script execution order can be obtained, so that the test process can be reproduced.
[0091] Step S305: Setting the parallel quantity through the test software.
[0092] This step can be completed by the tester, that is, inputting parallel instructions into the test software to indicate the number of test scripts to be executed in parallel during the test. Optionally, the test software can provide the tester with parallel quantity options, such as 1, 2, 3, 4, etc. The tester can select the number of test scripts to be executed in parallel during the heat dissipation test by checking the corresponding option.
[0093] Step S306: execute multiple test scripts according to the determined execution order and parallel quantity, and collect the temperature of each component to be tested.
[0094] This step is performed by the test software. The test software starts the test scripts in sequence according to the execution order and parallel quantity determined by the random number seed, tests the server to be tested, and collects the temperature data of each component to be tested.
[0095] Optionally, the test software may access the server BMC every 5 seconds to collect temperature data of each component, generate a curve showing the temperature change of each component over time, and mark one or more test scripts executed at each moment on the curve.
[0096] Step S307: If the temperature of a component is greater than or equal to a preset temperature threshold during the test, a temperature abnormality is indicated.
[0097] The test software can determine whether there is a component whose temperature is greater than or equal to the preset temperature threshold based on the collected temperature data of each component. If so, it can prompt the tester that there is a temperature anomaly so that the tester can find the problem in time and improve the heat dissipation design. Optionally, the test software can wait until the test is over before prompting, or it can also prompt during the test so that the tester can immediately find the problem. The tester decides whether to stop the test immediately to solve the abnormal problem, or wait until the test is over before processing.
[0098] After discovering the temperature anomaly, the tester can improve the heat dissipation design, such as improving the fan automatic speed adjustment strategy, improving the chassis structure, etc. After the improvement, the tester can set the same random number seed as when the temperature anomaly occurred, and start the test software again for testing, so as to achieve another test under the same pressure switching scenario, so as to verify whether the improvement of the heat dissipation design here can solve the temperature anomaly problem.
[0099] Figure 4 The thermal testing method shown may include the following steps:
[0100] Step S401: Prepare a server test environment.
[0101] This step can be completed by the tester. Preparing the server test environment may include one or any combination of the following: placing the server under test at the ambient temperature required for the test, installing and running the test software in the server under test, and installing a tool to apply stress to each component in the server under test.
[0102] Step S402: Setting the components to be subjected to pressure through the test software.
[0103] This step can be completed by the tester, that is, inputting pressure instructions into the test software to indicate one or more components that need to be tested by applying pressure.
[0104] Optionally, the test software may provide the tester with component options, such as options for CPU, memory, network card, hard disk and other components. The tester may select one or more components to be loaded during the heat dissipation test by checking the corresponding options.
[0105] Step S403: setting one or more durations for applying pressure to the component through the test software.
[0106] This step can be completed by the tester, that is, inputting execution time instructions into the test software to indicate one or more time periods for applying pressure to each component to which pressure needs to be applied.
[0107] Optionally, the test software may provide the tester with duration options, such as 15 minutes, 30 minutes, 45 minutes, 60 minutes, etc. The tester may select one or more durations for applying pressure to the component by checking the corresponding options.
[0108] Step S404: Generate multiple test scripts for testing.
[0109] This step is performed by the test software. The test software can perform a Cartesian product operation on the component set contained in the pressure instruction and the duration set contained in the execution time instruction to obtain a combination list of components and durations that need to be pressured, and generate a corresponding test script based on each combination in the combination list. For example, a corresponding script file list is generated, the component set includes CPU and memory, and the duration set includes 15min, 30min, and 45min. Then the test software will generate 3 test scripts for applying pressure on the CPU for 15min, 30min, and 45min, and 2 test scripts for applying pressure on the memory for 15min, 30min, and 45min.
[0110] Step S405: Setting a random number seed through the test software.
[0111] This step can be completed by the tester, that is, inputting random instructions into the test software.
[0112] Step S406: Determine the execution order of multiple test scripts according to the random number seed.
[0113] The test software can determine the execution order of multiple test scripts based on the random number seed and the preset algorithm.
[0114] Optionally, when the random number seeds are the same, the same test script execution order can be obtained, so that the test process can be reproduced.
[0115] Step S407: Setting the parallel quantity through the test software.
[0116] This step can be completed by the tester, that is, inputting parallel instructions into the test software to indicate the number of test scripts to be executed in parallel during testing.
[0117] Optionally, the test software may provide the tester with parallel quantity options, such as 1, 2, 3, 4, etc. The tester may select the number of test scripts to be executed in parallel during the heat dissipation test by checking the corresponding option.
[0118] Step S408: Set the total test duration through the test software.
[0119] This step can be completed by the tester, that is, inputting the total test duration instruction into the test software to indicate the total duration of the test process.
[0120] Optionally, the test software may provide the tester with total test duration options, such as 8h, 12h, 16h, 20h, etc. The tester may select the total duration of the heat dissipation test process by checking the corresponding option.
[0121] The length of the test time will have different effects on the heat dissipation performance of the server. Therefore, the total test duration can be set for each test to generate more test scenarios, so as to fully test the heat dissipation of the server in various scenarios.
[0122] Step S409: execute multiple test scripts according to the determined execution order and parallel quantity, and record the temperature of each component to be tested.
[0123] This step is executed by the test software, which starts the test scripts in sequence according to the execution order and parallel quantity determined by the random number seed to test the server to be tested.
[0124] Optionally, the test software may access the server BMC every 5 seconds to collect temperature data of each component, generate a curve showing the temperature change of each component over time, and mark one or more test scripts executed at each moment on the curve.
[0125] The test software can also start a timer. Taking the total test duration set to 12 hours in step S408 as an example, the timer duration can be set to 12 hours. When the timer does not reach 12 hours, the test script is executed according to the determined execution order and parallel quantity; when the timer reaches 12 hours, the test script is stopped.
[0126] Step S410a: If the temperature of a component is greater than or equal to a preset temperature threshold during the test, a temperature abnormality is indicated.
[0127] This step is performed by the test software. The test software can determine whether there is a component whose temperature is greater than or equal to the preset temperature threshold based on the collected temperature data of each component. If so, the tester can be prompted with an obvious prompt to indicate the temperature anomaly, so that the tester can find the problem in time and improve the heat dissipation design. Optionally, the test software can wait until the test is over before giving the prompt, or it can give the prompt during the test so that the tester can immediately find the problem. The tester can decide whether to stop the test immediately to solve the abnormal problem, or wait until the test is over before processing.
[0128] After discovering the temperature anomaly, the tester can improve the heat dissipation design, such as improving the fan automatic speed adjustment strategy, improving the chassis structure, etc. After the improvement, the tester can set the same random number seed as when the temperature anomaly occurred, and start the test software again for testing, so as to achieve another test under the same pressure switching scenario, so as to verify whether the improvement of the heat dissipation design here can solve the temperature anomaly problem.
[0129] Step S410b, adjusting the heat dissipation strategy according to the preset adjustment strategy, determining the execution order of multiple test scripts according to the random number seed used last time, executing the multiple test scripts according to the execution order, and recording the temperature of each component to be tested.
[0130] This step is performed by the test software, which automatically adjusts the cooling strategy (such as fan speed control strategy, etc.) and automatically tests again. Since the random number seed used when the temperature abnormality occurred is used in the retest, the working conditions when the temperature abnormality occurred can be reproduced in the retest, so that the test results can better reflect whether the adjusted cooling strategy can solve the temperature abnormality problem that occurred previously, and can also verify whether the preset adjustment strategy is effective.
[0131] The above steps S410a and S410b can be executed by the testing software.
[0132] In the above method, by randomly setting the execution order of multiple test scripts through random number seeds, various stress switching scenarios can be generated, so that the server can perform heat dissipation tests under various stress switching scenarios, and the effectiveness of the current heat dissipation design under various working conditions can be fully tested, which helps to discover potential heat dissipation problems and further helps to improve the heat dissipation performance of the server. And on the basis of the random execution of multiple test scripts, multiple test scripts are executed simultaneously, which further increases the number of stress switching scenarios, so that a larger number of more random stress switching scenarios can be generated, so that the heat dissipation of the server under various stress switching scenarios can be fully tested. The same random number seed obtains the same test script execution order, so that the test process can be reproduced, so that after optimizing the heat dissipation design when temperature anomalies occur, the same test scenario can be reproduced for testing again to determine whether the optimization measures are effective.
[0133] Based on the same technical concept, an embodiment of the present application also provides a heat dissipation test device for implementing the above heat dissipation test method. The heat dissipation test device includes corresponding units or modules for executing the above heat dissipation test method. The units or modules included in the device can be implemented by software and / or hardware.
[0134] Figure 5A schematic diagram of the structure of a heat dissipation test device is exemplarily provided. As shown in the figure, the heat dissipation test device may include:
[0135] A generating module 501, used for generating a plurality of test scripts for testing, each of the test scripts being used for applying pressure to a component;
[0136] A receiving module 502 is used to receive a random instruction, wherein the random instruction includes a random number seed;
[0137] A determination module 503, configured to determine the execution order of the plurality of test scripts according to the random number seed;
[0138] The execution module 504 is used to execute the multiple test scripts according to the execution order and record the temperature of each component to be tested.
[0139] In a possible implementation, the receiving module 502 may also be used to receive parallel instructions, where the parallel instructions include the number of parallel executions of the multiple test scripts; the executing module 504 is specifically used to execute the multiple test scripts according to the execution order and the parallel number.
[0140] In a possible implementation, the execution order of the multiple test scripts corresponding to the same random number seed is the same.
[0141] In a possible implementation, the receiving module 502 may also be used to receive a pressure instruction, where the pressure instruction is used to indicate one or more components that need to be tested by applying pressure; the multiple test scripts include a test script for each of the one or more components.
[0142] In one possible implementation, the receiving module 502 can also be used to receive execution time instructions, where the execution time instructions are used to indicate one or more durations of applying pressure to each component to which pressure needs to be applied; the multiple test scripts include a test script for applying each of the durations for each component to which pressure needs to be applied.
[0143] In one possible implementation, the receiving module 502 can also be used to receive a total test duration instruction, which includes the total duration for executing the multiple test scripts; the execution module 504 is specifically used to: execute the multiple test scripts in the execution order, if the total duration is not reached, execute the multiple test scripts in the execution order, if the total duration is reached, stop executing the test scripts.
[0144] In one possible implementation, the execution module 504 can also be used to: if the temperature of a component to be tested is greater than or equal to a preset threshold, adjust the heat dissipation strategy according to a preset adjustment strategy; generate the execution order of the multiple test scripts according to the random number seed; execute the multiple test scripts according to the execution order, and record the temperature of each component to be tested.
[0145] Based on the same technical concept, an electronic device is also provided in an embodiment of the present application for implementing the above-mentioned heat dissipation testing method.
[0146] Figure 6 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 601, and at least one memory 602 connected to the at least one processor 601. The specific connection medium between the processor 601 and the memory 602 is not limited in the embodiment of the present application. Figure 5 In the example, the processor 601 and the memory 602 are connected via a bus 603. The bus 603 is Figure 5 The connection between other components is shown by bold lines, which is only for schematic illustration and is not intended to be limiting. Further, the electronic device may also include a communication interface 604, 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.
[0147] The processor 601 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.
[0148] The memory 602 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 programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache.
[0149] The bus 603 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.
[0150] Specifically, the memory 602 stores a computer program. When the program is executed by the processor 601, the processor 601 performs the following steps:
[0151] Generate multiple test scripts for testing, each of which is used to apply pressure to a component; receive random instructions, which include a random number seed; determine the execution order of the multiple test scripts according to the random number seed; execute the multiple test scripts according to the execution order, and record the temperature of each component to be tested.
[0152] In one possible implementation, the processor 601 can also receive parallel instructions through the communication interface 604, and the parallel instructions include the number of parallel executions of the multiple test scripts; when the processor 601 executes the multiple test scripts in the execution order, it is specifically used to: execute the multiple test scripts according to the execution order and the parallel number.
[0153] In a possible implementation, the execution order of the multiple test scripts corresponding to the same random number seed is the same.
[0154] In a possible implementation, the processor 601 may also receive a pressure instruction through the communication interface 604, where the pressure instruction is used to indicate one or more components that need to be tested by applying pressure; the multiple test scripts include a test script for each of the one or more components.
[0155] In one possible implementation, the processor 601 can also receive an execution time instruction through the communication interface 604, and the execution time instruction is used to indicate one or more durations of applying pressure to each component that needs to apply pressure; the multiple test scripts include a test script for applying each of the durations for each component that needs to apply pressure.
[0156] In one possible implementation, the processor 601 can also receive a total test duration instruction through the communication interface 604, and the total test duration instruction includes the total duration for executing the multiple test scripts; when the processor 601 executes the multiple test scripts in the execution order, it is specifically used to: execute the multiple test scripts in the execution order, if the total duration is not reached, execute the multiple test scripts in the execution order, if the total duration is reached, stop executing the test scripts.
[0157] In one possible implementation, the processor 601 can also be used to: if the temperature of a component to be tested is greater than or equal to a preset threshold, adjust the heat dissipation strategy according to a preset adjustment strategy; generate the execution order of the multiple test scripts according to the random number seed; execute the multiple test scripts according to the execution order, and record the temperature of each component to be tested.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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 A step that specifies a function in one or more boxes.
[0164] 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 heat dissipation testing method, characterized in that: The method comprises: generating a plurality of test scripts for testing, each of the test scripts being used to apply stress to a component; receiving a random instruction, wherein the random instruction includes a random number seed; Determining the execution order of the multiple test scripts according to the random number seed; The multiple test scripts are executed in the execution order, and the temperature of each component to be tested is recorded.
2. The method according to claim 1, characterized in that The method further comprises: receiving a parallel instruction, wherein the parallel instruction includes a number of parallel executions of the plurality of test scripts; Executing the multiple test scripts in the execution order includes: The plurality of test scripts are executed according to the execution order and the parallel quantity.
3. The method according to claim 1 or 2, characterized in that: The execution order of the multiple test scripts corresponding to the same random number seed is the same.
4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: receiving a pressure instruction, wherein the pressure instruction is used to indicate one or more components that need to be tested by applying pressure; The plurality of test scripts include a test script for each of the one or more components.
5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: receiving an execution time instruction, wherein the execution time instruction is used to indicate one or more durations of applying pressure to each component to which pressure needs to be applied; The plurality of test scripts include a test script for applying each of the time lengths to each component to which pressure needs to be applied.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Receive a total test duration instruction, wherein the total test duration instruction includes a total duration for executing the plurality of test scripts; Executing the multiple test scripts in the execution order includes: Execute the multiple test scripts in the execution order. If the total duration is not reached, execute the multiple test scripts in the execution order. If the total duration is reached, stop executing the test scripts.
7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: If the temperature of the component to be tested is greater than or equal to the preset threshold, the heat dissipation strategy is adjusted according to the preset adjustment strategy; Generating an execution order of the plurality of test scripts according to the random number seed; The multiple test scripts are executed in the execution order, and the temperature of each component to be tested is recorded.
8. A heat dissipation testing device, characterized in that: The device comprises: A generating module, used for generating a plurality of test scripts for testing, each of the test scripts being used for applying stress to a component; A receiving module, configured to receive a random instruction, wherein the random instruction includes a random number seed; A determination module, used to determine the execution order of the multiple test scripts according to the random number seed; The execution module is used to execute the multiple test scripts according to the execution order and record the temperature of each component to be tested.
9. An electronic device, characterized in that: The electronic device comprises at least a processor and a memory, and the processor is used to implement the steps of the heat dissipation testing 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. When the program runs on the electronic device, the electronic device executes the steps of the heat dissipation testing method according to any one of claims 1 to 7.