Pressure testing method, apparatus, computer device and storage medium
By pre-packaging testing tools into the BMC, applying stress test requests, and remotely logging into the BMC operating system, the problem of not being able to perform memory testing on the BMC in the existing technology is solved, realizing in-band memory stress testing of the BMC and ensuring the stability and service performance of the BMC.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SUGON INFORMATION IND
- Filing Date
- 2023-06-20
- Publication Date
- 2026-07-31
AI Technical Summary
Existing server system memory stress testing methods cannot meet the requirements for memory testing of the Baseboard Management Controller (BMC) and cannot achieve stress testing of the BMC.
Test tools are pre-packaged in the BMC of the server under test. By applying multiple interface test requests to the server for stress testing, the interface stability of the BMC under the test environment of multiple interface test requests is detected in parallel. The BMC operating system is remotely logged in, a restart operation is performed, and the memory of the BMC is tested based on the pre-configured test items.
We implemented in-band memory stress testing of BMC to ensure its stability and reliability, detect memory leaks and interaction stability, and improve BMC's service performance.
Smart Images

Figure CN116795635B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server testing technology, and in particular to a stress testing method, apparatus, computer equipment, storage medium, and computer program product. Background Technology
[0002] The BMC (Baseboard Management Controller) system can function as a small, independent operating system, such as a BMC operating system based on the ARM (Advanced RISC Machines) architecture. Under this BMC operating system, the BMC can remotely manage, monitor, install, and restart the server. Therefore, the BMC plays a crucial role in the daily operation of the server.
[0003] Current server system memory stress testing methods include server operating systems that encapsulate stress testing tools for system memory. These tools include various test items such as random values, XOR comparisons, subtraction, multiplication, division, AND-OR operations, etc. Given the size and number of tests, the server system memory can be tested using these stress testing tools and various test items.
[0004] However, current server system memory stress testing methods and tools can only test the overall performance of the server and cannot meet the needs of memory testing of the BMC. Summary of the Invention
[0005] Therefore, it is necessary to provide a pressure testing method, apparatus, computer equipment, computer-readable storage medium, and computer program product to address the aforementioned technical problems.
[0006] Firstly, this application provides a stress testing method. The method is applied to a test server, wherein the configuration file of the Baseboard Management Controller (BMC) of the test server pre-packages test tools, and the method includes:
[0007] Multiple interface test requests for stress testing are applied to the server under test, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of the multiple interface test requests.
[0008] Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the test tool.
[0009] In the stress testing method described above, stress testing is applied to the server under test, which not only achieves out-of-band server stress testing in the stress testing environment, but also pre-packages a test tool in the BMC of the server under test, and achieves in-band BMC memory stress testing through the test tool.
[0010] In one embodiment, the multiple interface test requests that apply stress testing to the server under test, and the parallel detection of the interface stability of the BMC in the server under test under the test environment of the multiple interface test requests, include:
[0011] Send a server location setting SET request to locate the server being tested;
[0012] Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests;
[0013] Additionally, the server under test is repeatedly powered on and off via a power cycle to detect memory leaks and complete the interactive test of the BMC in the server under test.
[0014] In this embodiment, the test server sends multiple interface test requests to the server under test to perform out-of-band stress testing on the server system memory of the server under test. Based on this stress test, the service performance of the server under test in daily server applications can be detected.
[0015] In one embodiment, sending multiple interface test requests to the server under test to detect the service stability of the BMC in the server under test under multiple interface test requests includes:
[0016] According to the preset monitoring cycle, BMC login requests are sent to the server under test to check whether the BMC of the server under test can log in normally;
[0017] Send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal driver of the BMC in the server under test is being called normally.
[0018] In this embodiment, by sending BMC login requests and IPMI requests to the server under test, the service stability of BMC in the server under test is monitored, thereby achieving the test of the overall service performance of BMC in the server under test.
[0019] In one embodiment, the step of repeatedly powering on the server under test via a power cycle to detect whether the server under test has a memory leak and to complete the interaction test of the BMC in the server under test includes:
[0020] The server under test was powered on again via a power cycle.
[0021] During the power-on process of the server under test, the memory usage of the server under test is monitored to determine whether the memory of the server under test is leaking.
[0022] The stability of the interaction information between the BMC and the BIOS of the server under test is detected by sending a Simple Network Management Protocol (SNMP) request or a Redfish Management Standard (Redfish) request based on the Hypertext Transfer Security Protocol (HTTP) service through the BMC of the server under test.
[0023] In this embodiment, the server under test is powered on again via a power cycle. During the power-on process, the server under test is tested for memory leaks and the interaction test between the BMC and BIOS is completed, thereby ensuring the server stability of the BMC.
[0024] In one embodiment, the testing tool includes a BMC memory detection project and a BMC target process detection project. The detection of the BMC's memory based on the pre-configured test projects in the testing tool includes:
[0025] Check if the BMC restarted normally;
[0026] Monitor the BMC memory usage during multiple restarts of the BMC to determine whether the BMC memory is leaking;
[0027] A ps request is sent to the BMC to obtain the process ID in the BMC, and the detection result of the target process in the BMC is determined based on the process ID in the BMC.
[0028] In this embodiment, a testing tool is used to detect whether the BMC of the server under test restarts normally, whether the BMC has memory leaks, and whether important processes exist in the BMC in an in-band manner, thereby realizing stress testing of the BMC memory in the server under test.
[0029] In one embodiment, monitoring the BMC memory usage during multiple restarts of the BMC and determining whether the BMC memory is leaking includes:
[0030] During multiple restarts of the BMC, the text file exported by the BMC during each restart is read, and the BMC memory usage information contained in the text file is parsed.
[0031] Based on the BMC memory usage information, determine whether the BMC memory is leaking.
[0032] In this embodiment, a testing tool is used to detect whether there is a memory leak in the BMC of the server under test in an in-band manner, thereby realizing stress testing of the BMC memory in the server under test.
[0033] Secondly, this application also provides a pressure testing device. The device includes:
[0034] The first detection module is used to apply multiple interface test requests for stress testing to the server under test, and to detect the interface stability of the BMC in the server under test in the test environment of the multiple interface test requests in parallel.
[0035] The second detection module is used to remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and detect the memory of the BMC based on the pre-configured test items in the testing tool.
[0036] In the aforementioned stress testing device, stress testing is applied to the server under test, which not only achieves out-of-band server stress testing in a stress testing environment, but also pre-packages a test tool in the BMC of the server under test, and achieves in-band BMC memory stress testing through the test tool.
[0037] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:
[0038] Multiple interface test requests for stress testing are applied to the server under test, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of the multiple interface test requests.
[0039] Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the test tool.
[0040] The aforementioned computer equipment, by applying stress tests to the server under test, not only achieves out-of-band server stress testing in a stress testing environment, but also pre-packages test tools in the BMC of the server under test, and achieves in-band BMC memory stress testing through these test tools.
[0041] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:
[0042] Multiple interface test requests for stress testing are applied to the server under test, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of the multiple interface test requests.
[0043] Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the test tool.
[0044] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:
[0045] Multiple interface test requests for stress testing are applied to the server under test, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of the multiple interface test requests.
[0046] Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the test tool.
[0047] The aforementioned stress testing method, apparatus, computer equipment, storage medium, and computer program product include a pre-packaged test tool within the configuration file of the Baseboard Management Controller (BMC) of the server under test. This tool applies multiple interface test requests to the server under test to perform stress testing, and concurrently detects the interface stability of the BMC under the test environment under these multiple interface test requests. It also remotely logs into the BMC operating system of the server under test, performs a restart operation on the server under test, and tests the BMC's memory based on pre-configured test items within the test tool. Using this method, by applying stress testing to the server under test, out-of-band server stress testing is achieved not only under stress testing conditions but also, because the test tool is pre-packaged within the BMC of the server under test, in-band BMC memory stress testing is achieved through this test tool. Attached Figure Description
[0048] Figure 1 This is a diagram illustrating the application environment of a stress testing method in one embodiment;
[0049] Figure 2 This is a flowchart illustrating a stress testing method in one embodiment;
[0050] Figure 3 This is a flowchart of the out-of-band BMC service stability testing steps in one embodiment.
[0051] Figure 4 This is a flowchart illustrating a method for testing whether the BMC logs in correctly and whether the BMC's internal drivers are called correctly in an out-of-band manner, as shown in one embodiment.
[0052] Figure 5 This is a flowchart illustrating an out-of-band method for detecting server memory leaks and BMC interaction stability in one embodiment.
[0053] Figure 6 This is a flowchart illustrating a method for detecting critical BMC processes in in-band form in one embodiment.
[0054] Figure 7 This is a flowchart illustrating a method for determining BMC memory leaks in an in-band manner in one embodiment;
[0055] Figure 8 This is a flowchart illustrating an example of a stress testing method in one embodiment;
[0056] Figure 9 This is a test function architecture diagram of a test tool in one embodiment;
[0057] Figure 10 This is a structural block diagram of the pressure testing device in one embodiment;
[0058] Figure 11 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0060] The stress testing method provided in this application embodiment can be applied to, for example... Figure 1The application environment is shown. Test server 102 communicates with server under test 104 via a network. The data storage system can be integrated on test server 102 or located in the cloud or on another network server. Test server 102 applies multiple interface test requests for stress testing to server under test 104. The interface stability of the BMC in server under test is detected in parallel under the test environment with multiple interface test requests. Then, test server 102 remotely logs into the BMC operating system of server under test, performs a restart operation on server under test 104, and tests the memory of BMC based on pre-configured test items in the testing tool. Test server 102 can be implemented as a standalone server or a server cluster consisting of multiple servers, and server under test 104 can be a standalone server or a server cluster consisting of multiple servers.
[0061] In one embodiment, such as Figure 2 As shown, a stress testing method is provided, which is applied to... Figure 1 Taking test server 102 as an example, the test tool is pre-packaged in the configuration file of the baseboard management controller (BMC) of the server under test. The method includes the following steps:
[0062] Step 202: Apply multiple interface test requests for stress testing to the server under test, and detect the interface stability of the BMC in the server under test in parallel under the test environment of multiple interface test requests.
[0063] In implementation, the test server pre-inputs the test parameters for the testing tool, configuring the test memory size and the number of stress tests for this stress test. After configuring the test parameters, the test server applies multiple interface test requests to the server under test through the testing tool. These multiple interface test requests may include, but are not limited to, BMC login requests, IPMI (Intelligent Platform Management Interface) requests, Redfish (an open standardized protocol) requests, and SNMP (Simple Network Management Protocol) requests. Then, the test server tests the stability of each interface of the BMC in the server under test in parallel under the test environment of multiple interface test requests. Specifically, the testing tool performs out-of-band server memory stress testing to simulate the application requirements of the BMC faced by the server under test in daily use, thereby testing the overall service stability of the server. Under the stress test environment, the testing tool will test the interface stability of the BMC in the server under test in parallel under multiple interface test requests.
[0064] In an optional embodiment, the testing tool needs to be initialized before stress testing. Then, the initialized testing tool is configured with parameters, and the status of each test parameter in the testing tool, the connectivity of the BMC in the test server, and the status of the BMC in the test server are checked.
[0065] Specifically, ensuring BMC connectivity within the test server is crucial for remote management and monitoring. If the BMC module cannot communicate with other system components, administrators will be unable to monitor and manage the server remotely. Therefore, before stress testing the BMC of the server under test, it is essential to ensure connectivity between the test server and the BMC within the server under test.
[0066] Step 204: Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the test tool.
[0067] In practice, the test server remotely logs into the BMC operating system of the server under test. Under the BMC operating system, the test server repeatedly performs the restart operation of the server under test. During the restart process of the server under test, the test server performs in-band stress testing on the memory of the BMC based on the pre-configured test items in the test tools packaged in the server under test.
[0068] Optionally, the pre-configured test items in the test tool may include, but are not limited to, server memory leak test items, BMC and BIOS interaction information test items, BMC internal driver call test items, and BMC service stability test items.
[0069] Optionally, test tools can be pre-packaged into the BMC configuration file of the server under test through cross-compilation. This allows the test tools to be pre-deployed on the BMC system, for example, an ARM system, thus enabling subsequent in-band stress testing of the BMC. The test tool Memtester performs AND and OR operations on memory to verify data for errors, ensuring comprehensive coverage of test steps and accelerating the reproduction of probabilistic and serious problems.
[0070] In the stress testing method described above, stress testing is applied to the server under test to simulate a stress testing environment. This not only achieves out-of-band server stress testing under the stress testing environment, but also pre-packages testing tools in the BMC of the server under test, and achieves in-band stress testing of the BMC memory through these testing tools.
[0071] In one embodiment, such as Figure 3 As shown, for out-of-band server system memory stress testing, the test server simulates a stress test environment by sending multiple interface test requests. Therefore, in step 202, multiple interface test requests are applied to the server under test to perform stress testing, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of multiple interface test requests, including:
[0072] Step 302: Send a server location setting SET request to locate the server under test.
[0073] In practice, the test server sends a location setting request (i.e., a SET request) to locate the server under test. Specifically, when the test server sends a location setting request, the server under test can listen for this SET request among multiple servers (all of which are target servers to be tested). When the SET request is heard, it will execute the corresponding operation based on the IPMI command corresponding to the SET request, making internal driver calls to the server under test. For example, it can control the blinking of the LED (Light Emitting Diode) on the server under test to locate the server under test.
[0074] Step 304: Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests.
[0075] In implementation, the test server sends multiple interface test requests to the server under test to detect the service stability of the BMC in the server under test. Specifically, the service stability of the BMC can be reflected through multiple test aspects. For example, test items include: whether the BMC can restart normally, whether the internal drivers in the BMC can be called normally, etc. The specific test items for detecting the service stability of the BMC will be described in detail in the following embodiments of this application, and will not be repeated here.
[0076] Step 306: Repeatedly power on the server under test using a powercycle method to detect whether there is a memory leak and complete the interactive test of the BMC in the server under test.
[0077] In practice, the test server repeatedly powers on the server under test via a power cycle. During this process, the server's memory usage is monitored to determine if there is a memory leak. Based on the check of the interaction information between the BMC and BIOS, the test server completes the interaction test of the BMC in the server under test.
[0078] Optionally, when performing overall performance testing on the server under test, the test server can also monitor whether the server under test is smooth during startup and whether the various services of the server under test can run normally. This application embodiment does not limit the out-of-band test items for the overall performance testing of the server under test.
[0079] In this embodiment, the test server sends multiple interface test requests to the server under test to perform out-of-band stress testing on the server system memory of the server under test. Based on this stress test, the service performance of the server under test in daily server applications can be detected.
[0080] In one embodiment, such as Figure 4 As shown, step 304 involves sending multiple interface test requests to the server under test to check the service stability of the BMC in the server under test under multiple interface test requests. Specifically, this includes:
[0081] Step 402: According to the preset monitoring cycle, send BMC login requests to the server under test to check whether the BMC of the server under test can log in normally.
[0082] During implementation, during the restart or power-on process of the server under test, the test server sends a BMC login request (i.e., a BMC web request) to the server under test according to a preset monitoring cycle to detect whether the BMC of the server under test can be logged in normally after each restart.
[0083] Step 404: Send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal driver of the BMC in the server under test is being called normally.
[0084] During implementation, the test server sends an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal drivers of the BMC in the server under test are functioning correctly. Specifically, when the test server remotely logs into the BMC test system of the server under test, it sends an IPMI request to the BMC of the server under test and monitors the response of the server under test to the corresponding IPMI request. This allows the test server to check whether the internal drivers of the BMC in the server under test can function correctly to access the hard drive, memory, network, etc.
[0085] In this embodiment, by sending BMC login requests and IPMI requests to the server under test, the service stability of BMC in the server under test is monitored, thereby achieving the test of the overall service performance of BMC in the server under test.
[0086] In one embodiment, when performing a stress test on the server system memory of the server under test, it is possible to detect whether the system memory of the server under test is leaking and whether the overall interaction process between the BMC and BIOS inside the server under test is abnormal. Therefore, if Figure 5 As shown, step 306 involves repeatedly powering on the server under test using a power cycle to detect memory leaks and complete the interaction test of the BMC in the server under test. Specifically, this includes:
[0087] Step 502: Power cycle the server under test.
[0088] During the implementation, the test server powered the server under test (DUT) through a power cycle. During this power-on process, the DUT underwent a complete system reset, clearing all caches and temporary files, exposing the DUT to a real-world environment for further testing of its stability and reliability.
[0089] Step 504: During the power-on process of the server under test, monitor the memory usage of the server under test to determine whether the memory of the server under test is leaking.
[0090] During implementation, when the server under test is powered on again, the test server monitors the server's memory usage to determine if there is a memory leak. Specifically, after each power-on, the test server monitors the server's memory usage. If the memory usage increases over time and continues to rise, it indicates that the server's memory is not being fully released, indicating a memory leak.
[0091] Step 506: Send a Simple Network Management Protocol (SNMP) request or a Redfish Management Standard (REDFI) request via the BMC of the server under test to detect the stability of the interaction information between the BMC and the BIOS of the server under test.
[0092] In practice, the test server instructs the BMC of the server under test to send an SNMP request to the BIOS of the server under test, or to send a Redfish request, to detect the stability of the interaction information between the BMC and the BIOS of the server under test.
[0093] It should be noted that SNMP and Redfish requests are only one method for detecting the stability of the interaction information between the BMC and BIOS; other methods can also be used. For example, the IPMI tool or the ping command can be used for testing. This application does not limit the specific testing methods applied during the stress testing of the server under test.
[0094] In this embodiment, the server under test is powered on again via a power cycle. During the power-on process, the server under test is tested for memory leaks and the interaction test between the BMC and BIOS is completed, thereby ensuring the server stability of the BMC.
[0095] In one embodiment, while performing out-of-band testing of the server under test, in-band stress testing can be performed within the BMC system of the server under test based on testing tools pre-packaged in the BMC configuration file of the server under test. Figure 6 As shown, the testing tool includes a BMC memory detection project and a BMC target process detection project. Step 204 involves detecting the BMC's memory based on the pre-configured test projects in the testing tool, including:
[0096] Step 602: Check if the BMC restarts normally.
[0097] During implementation, during the restart process of the server under test, the test server uses the in-band testing tool to check whether the BMC of the server under test restarts normally.
[0098] Step 604: Monitor the BMC memory usage during multiple BMC restarts to determine if BMC memory is leaking.
[0099] During implementation, the testing tool monitors the BMC memory usage during multiple restarts of the BMC. By determining whether the BMC memory usage increases over time, it can be used to identify any memory leaks in the BMC.
[0100] Step 606: Send a ps request to BMC to obtain the process ID in BMC, and determine the detection result of the target process in BMC based on the process ID in BMC.
[0101] In implementation, the testing tool sends a `ps` request to the BMC (Browser Control Center). This `ps` request retrieves the process IDs (Process IDs) within the BMC. The test server then compares these retrieved process IDs with pre-marked target process IDs (i.e., process IDs of important processes) to determine the detection result of the target process in the BMC. Specifically, the pre-marked important processes in the BMC may include, but are not limited to, the IPMIMain process, lighttpd process, redfish process, sshd process, syslogmonitord process, and raidsas process. After the testing tool sends a `ps` request to the BMC, it can obtain the process IDs of each process in the BMC. Therefore, the process IDs obtained by the `ps` request indicate the presence of that process in the BMC. Therefore, the testing tool compares the obtained process ID with the pre-marked important process IDs of the BMC. If the obtained process ID contains the process IDs of all the pre-marked important processes, the detection result of the target process in the BMC is determined to be a successful test. If the obtained process ID does not contain the process IDs of all the pre-marked important processes, the missing process ID indicates which process is not present in the BMC of the server being tested, and the detection result of the target process in the BMC is determined to be a failed test.
[0102] In this embodiment, a testing tool is used to detect whether the BMC of the server under test restarts normally, whether the BMC has memory leaks, and whether important processes exist in the BMC in an in-band manner, thereby realizing stress testing of the BMC memory in the server under test.
[0103] In one embodiment, such as Figure 7 As shown, step 604 involves monitoring the BMC memory usage during multiple BMC restarts to determine if there is a BMC memory leak. Specifically, this includes:
[0104] Step 702: During the multiple restarts of BMC, read the text file exported by BMC during each restart and parse the BMC memory usage information contained in the text file.
[0105] During implementation, as the BMC of the server under test restarted multiple times, the testing tool read the text file exported by the BMC during each restart and parsed the memory usage information of the BMC contained in the text file. Specifically, it parsed the current free-m parameter value in the text file exported by the BMC based on the free-m command. Here, free*80% / 1000 is used to determine the average memory size of each process in the current BMC, where free represents the total memory size; "*80%" means that 80% of the total memory (MemoryTotal) is used as available memory (MemoryFree); " / 1000" means that the available memory (MemoryFree) is divided by 1000 to obtain the average memory size available to each process.
[0106] Step 704: Based on the BMC memory usage information contained in the BMC memory usage information, determine whether BMC memory is leaked.
[0107] In practice, based on the BMC memory usage information, it is determined whether there is a BMC memory leak in the tested server. Specifically, if the BMC memory usage of each process increases over time, a BMC memory leak is confirmed; conversely, if the BMC memory usage does not increase over time, a BMC memory leak is confirmed.
[0108] In this embodiment, a testing tool is used to detect whether there is a memory leak in the BMC of the server under test in an in-band manner, thereby realizing stress testing of the BMC memory in the server under test.
[0109] In one embodiment, such as Figure 8 As shown, an example of a stress testing method is provided, and the specific steps include:
[0110] Step 801: Input the test parameters for the stress test in advance to complete the parameter configuration for this stress test;
[0111] Step 802: Instruct the test tool in the BMC system of the server under test to perform a stress test on the BMC memory via in-band.
[0112] Step 803: Apply multiple interface test requests for stress testing;
[0113] Step 804, out-of-band method: repeatedly power on the server under test in the form of power cycle to detect whether there is a memory leak in the server under test and complete the interaction test of the BMC in the server under test.
[0114] Step 805, out-of-band mode, send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal driver of the BMC in the server under test is being called normally;
[0115] Step 806: Obtain the stress test results of the server under test.
[0116] Optionally, steps 802 and 803 can be processed in parallel, that is, in-band and out-of-band parallel processing can be implemented in the simulated stress test environment. During the out-of-band stress test, steps 804 and 805 can be processed in parallel to detect the service performance of the service under test. This application embodiment does not limit the test execution order during the stress test.
[0117] In an optional embodiment, such as Figure 9 As shown, a test function architecture diagram of a test tool is given. This test structure diagram includes the test functions of the test tool at different stages.
[0118] During the stress test preparation phase: the testing tool can perform parameter status checks, BMC connectivity checks, and BMC status checks.
[0119] During the stress testing phase: The testing tool can perform stress tests on the server under test according to the pre-configured test items. The test items include: power cycle restart, server location, stability of commonly used external interfaces of BMC, and whether there is leakage of server system memory and BMC memory.
[0120] At the end of the stress test: the testing tool can automatically generate a test report and automatically upload the test report to the database for storage.
[0121] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0122] Based on the same inventive concept, this application also provides a pressure testing device for implementing the pressure testing method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more pressure testing device embodiments provided below can be found in the limitations of the pressure testing method described above, and will not be repeated here.
[0123] In one embodiment, such as Figure 10 As shown, a pressure testing device 1000 is provided, including: a first detection module 1001 and a second detection module 1002, wherein:
[0124] The first detection module 1001 is used to apply multiple interface test requests for stress testing to the server under test, and to detect the interface stability of the BMC in the server under test in the test environment of the multiple interface test requests in parallel.
[0125] The second detection module 1002 is used to remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and detect the memory of the BMC based on the test items pre-configured in the test tool.
[0126] In one embodiment, the first detection module 1001 is specifically used to send a server location setting request to locate the server under test.
[0127] Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests;
[0128] Additionally, the server under test is repeatedly powered on and off via a power cycle to detect memory leaks and complete the interactive test of the BMC in the server under test.
[0129] In one embodiment, the first detection module 1001 is specifically used to send BMC login requests to the server under test according to a preset monitoring cycle, and to detect whether the BMC of the server under test can log in normally.
[0130] Send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal driver of the BMC in the server under test is being called normally.
[0131] In one embodiment, the server under test is powered on again via a power cycle.
[0132] During the power-on process of the server under test, the memory usage of the server under test is monitored to determine whether the memory of the server under test is leaking.
[0133] The stability of the interaction information between the BMC and the BIOS of the server under test is detected by sending a Simple Network Management Protocol (SNMP) request or a Redfish Management Standard (Redfish) request based on the Hypertext Transfer Security Protocol (HTTP) service through the BMC of the server under test.
[0134] In one embodiment, the testing tool includes a BMC memory detection project and a BMC target process detection project, and the second detection module 1002 is specifically used to detect whether the BMC restarts normally.
[0135] Monitor the BMC memory usage during multiple restarts of the BMC to determine whether the BMC memory is leaking;
[0136] A ps request is sent to the BMC to obtain the process ID in the BMC, and the detection result of the target process in the BMC is determined based on the process ID in the BMC.
[0137] In one embodiment, the second detection module 1002 is specifically used to read the text file exported by the BMC during each restart process during multiple restarts of the BMC, and parse the BMC memory usage information contained in the text file.
[0138] Based on the BMC memory usage information, determine whether the BMC memory is leaking.
[0139] Each module in the aforementioned pressure testing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the computer device's memory as software, so that the processor can call and execute the corresponding operations of each module.
[0140] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 11As shown, the computer device includes a processor, memory, and a network interface connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores stress test data. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a stress test method.
[0141] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0142] In one embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0143] Multiple interface test requests are applied to the server under test to perform stress tests, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of multiple interface test requests.
[0144] Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and test the memory of the BMC based on the pre-configured test items in the testing tool.
[0145] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0146] Send a server location setting SET request to locate the server being tested;
[0147] Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests;
[0148] Additionally, the test server is repeatedly powered on and off via a power cycle to detect memory leaks and to perform interactive tests on the BMC within the test server.
[0149] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0150] According to the preset monitoring cycle, BMC login requests are sent to the server under test to check whether the BMC of the server under test can log in normally;
[0151] Send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal drivers of the BMC in the server under test are being called normally.
[0152] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0153] The server under test is powered on again via a power cycle.
[0154] During the power-on process of the server under test, monitor the memory usage of the server under test to determine whether the memory of the server under test is leaking.
[0155] The stability of the interaction information between the BMC and the BIOS of the server under test is detected by sending Simple Network Management Protocol (SNMP) requests or Redfish requests based on Hypertext Transfer Security Protocol (HTTP) services through the BMC of the server under test.
[0156] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0157] Check if the BMC restarted normally;
[0158] Monitor BMC memory usage during multiple restarts to determine if BMC memory is leaking;
[0159] Send a ps request to BMC to obtain the process ID in BMC, and determine the detection result of the target process in BMC based on the process ID in BMC.
[0160] In one embodiment, the processor, when executing a computer program, also performs the following steps:
[0161] During multiple BMC restarts, the text file exported by BMC during each restart is read, and the BMC memory usage information contained in the text file is parsed.
[0162] Based on the BMC memory usage information, determine whether BMC memory is leaking.
[0163] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0164] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0165] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.
[0166] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments described above. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.
[0167] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0168] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A pressure testing method, characterized in that, The method is applied to a test server, where the baseboard management controller (BMC) of the test server has pre-packaged test tools in its configuration file. The method includes: Multiple interface test requests for stress testing are applied to the server under test, and the interface stability of the BMC in the server under test is detected in parallel under the test environment of the multiple interface test requests. Remotely log in to the BMC operating system of the server under test, perform a restart operation on the server under test, and during the restart operation, detect the memory of the BMC based on the pre-configured test items in the test tool; the test tool includes BMC memory detection items and BMC target process detection items; The process of testing the BMC's memory based on pre-configured test items in the testing tool during the restart operation includes: Check if the BMC restarted normally; Monitor the BMC memory usage during multiple restarts of the BMC to determine whether the BMC memory is leaking; A ps request is sent to the BMC to obtain the process ID in the BMC, and the detection result of the target process in the BMC is determined based on the process ID in the BMC.
2. The method according to claim 1, characterized in that, The multiple interface test requests that apply stress testing to the server under test, and the parallel detection of the interface stability of the BMC in the server under test under the test environment of the multiple interface test requests, include: Send a server location setting SET request to locate the server being tested; Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests; Additionally, the server under test is repeatedly powered on and off via a power cycle to detect memory leaks and complete the interactive test of the BMC in the server under test.
3. The method according to claim 2, characterized in that, The step of sending multiple interface test requests to the server under test to detect the service stability of the BMC in the server under test under multiple interface test requests includes: According to the preset monitoring cycle, BMC login requests are sent to the server under test to check whether the BMC of the server under test can log in normally; Send an Intelligent Platform Management Interface (IPMI) request to the BMC of the server under test to check whether the internal driver of the BMC in the server under test is being called normally.
4. The method according to claim 2, characterized in that, The process of repeatedly powering on the server under test via powercycle to detect memory leaks and perform interactive testing on the BMC (Browser Management System) of the server under test includes: The server under test was powered on again via a power cycle. During the power-on process of the server under test, the memory usage of the server under test is monitored to determine whether the memory of the server under test is leaking. The stability of the interaction information between the BMC and the BIOS of the server under test is detected by sending a Simple Network Management Protocol (SNMP) request or a Redfish Management Standard (Redfish) request based on the Hypertext Transfer Security Protocol (HTTP) service through the BMC of the server under test.
5. The method according to claim 1, characterized in that, The monitoring of BMC memory usage during multiple restarts of the BMC to determine whether the BMC memory is leaking includes: During multiple restarts of the BMC, the text file exported by the BMC during each restart is read, and the BMC memory usage information contained in the text file is parsed. Based on the BMC memory usage information, determine whether the BMC memory is leaking.
6. A pressure testing device, characterized in that, The device is used in a test server, and the configuration file of the baseboard management controller (BMC) of the server under test pre-packages test tools. The device includes: The first detection module is used to apply multiple interface test requests for stress testing to the server under test, and to detect the interface stability of the BMC in the server under test in the test environment of the multiple interface test requests in parallel. The second detection module is used to remotely log in to the BMC operating system of the server under test, execute the restart operation of the server under test, and detect the memory of the BMC based on the pre-configured test items in the test tool during the restart operation; the test tool includes BMC memory detection items and BMC target process detection items; The second detection module is specifically used to detect whether the BMC restarts normally; monitor the BMC memory usage during multiple restarts of the BMC to determine whether the BMC memory is leaking; send a ps request to the BMC to obtain the process ID in the BMC, and determine the detection result of the target process in the BMC based on the process ID in the BMC.
7. The apparatus according to claim 6, characterized in that, The first detection module is specifically used to send a server location setting request to locate the server under test; Send multiple interface test requests to the server under test to detect the service stability of BMC in the server under test under multiple interface test requests; Additionally, the server under test is repeatedly powered on and off via a power cycle to detect memory leaks and complete the interactive test of the BMC in the server under test.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 5.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 5.