Server stress testing method, device, system and computer equipment

By controlling the node to automatically deploy matching GPU components and perform GPU stress testing, it solves the problems of low test efficiency and low success rate caused by manual deployment, and achieves efficient and accurate GPU stress testing.

CN116010177BActive Publication Date: 2025-01-21SUMA TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202211663486.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-23
Publication Date
2025-01-21
Estimated Expiration
2042-12-23

AI Technical Summary

Technical Problem

Before performing GPU stress testing for server clusters, the process of manually deploying GPU drivers and software components is cumbersome and error-prone, resulting in low testing efficiency and low success rate, especially when there are a large number of servers and a diverse GPU model.

Method used

Obtain the GPU model information of each target server under test in the server cluster under test through the control node, automatically determine and install the matching target components according to the preset component matching strategy, obtain and install the image file from the container image warehouse, and finally send the GPU Stress test instructions to perform testing.

Benefits of technology

It realizes the automatic deployment of GPU-related software components of each target server under test in the server cluster, improves the accuracy and efficiency of deployment, ensures the smooth progress of the GPU stress test, and improves the test success rate and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116010177B_ABST
    Figure CN116010177B_ABST
Patent Text Reader

Abstract

The present application relates to a server stress testing method, device, system, computer equipment, storage medium and computer program product. The method comprises: obtaining GPU model information of each target server to be tested in a server cluster to be tested; according to a preset component matching strategy, determining the index information of the target component matching the GPU model information of each target server to be tested in each component information, and sending a component installation instruction containing the index information to the target server to be tested, the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from the container image repository; sending a GPU stress testing instruction containing test program information to each target server to be tested after the target component is installed, the GPU stress testing instruction is used to instruct each target server to be tested to perform a GPU stress test based on the test program information. The use of this method can improve the success rate and test efficiency of the GPU stress test of the server cluster.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a server stress testing method, apparatus, system, computer equipment, storage medium and computer program product. Background Art

[0002] With the vigorous development of industrial digital transformation, large-scale cluster computing is increasingly widely used in practice, bringing opportunities and challenges to the server field. In order to ensure that the server cluster can run stably for a long time under high-intensity 0 work, it is necessary to perform stress testing on the server cluster, including GPU (graphics processing unit) stress testing. Before performing GPU stress testing on the server cluster, it is necessary to deploy software components such as GPU driver and GPU software stack on each server to support GPU stress testing, and different models of GPUs require different software components.

[0003] In the related art, the deployment of GPU-related software components on the server is manually performed by the test engineer 5. For a server cluster with a large number of servers and various GPU models, manual deployment is very time-consuming.

[0004] It is prone to errors, which results in the GPU stress test of the server cluster not being able to proceed smoothly and having low efficiency. Summary of the invention

[0005] Based on this, it is necessary to provide a server stress testing method, device, system, computer equipment, computer-readable storage medium and computer program product that can improve the GPU0 stress test success rate and test efficiency of a server cluster in response to the above technical problems.

[0006] In a first aspect, the present application provides a server stress testing method. The method comprises:

[0007] Obtain the GPU model information corresponding to each target server under test in the server cluster under test;

[0008] 5 For each target server to be tested, according to the preset component matching strategy,

[0009] Determine the index information of the target component that matches the GPU model information of the target server to be tested, and send a component installation instruction containing the index information to the target server to be tested, wherein the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from the container image repository;

[0010] A GPU stress test instruction including test program information is sent to each target server to be tested after the target component is installed, wherein the GPU stress test instruction is used to instruct each target server to be tested to perform a GPU stress test based on the test program information.

[0011] Based on the above scheme, automatic deployment of GPU-related software components of each target server under test in the server cluster under test can be achieved. Compared with manual deployment, the deployment accuracy is high to ensure the smooth progress of the GPU stress test of the server cluster under test, and the deployment efficiency is high, thereby improving the success rate and test efficiency of the GPU stress test of the server cluster.

[0012] In one embodiment, obtaining the image processor GPU model information corresponding to each target server to be tested in the server cluster to be tested includes:

[0013] Sending a GPU model query instruction containing GPU model query program information to each target server to be tested in the server cluster to be tested, wherein the GPU model query instruction is used to instruct each target server to be tested to determine local GPU model information according to the GPU model query program information and to feed back the local GPU model information;

[0014] Receive GPU model information sent by each of the target servers to be tested.

[0015] Based on the above solution, the accuracy of the GPU model information obtained by the control node can be guaranteed, and the acquisition efficiency is high, thereby further improving the success rate of the GPU stress test of the server cluster and the overall test efficiency.

[0016] In one embodiment, after sending the GPU stress test instruction containing the test program information to each target server to be tested after the target component is installed, the method further includes:

[0017] Obtain a test log of each of the target servers to be tested executing the GPU stress test, wherein the test log includes GPU stress test result data corresponding to each of the target servers to be tested;

[0018] The GPU stress test status of the server cluster to be tested is determined according to each of the GPU stress test result data and a preset test status judgment strategy, wherein the GPU stress test status includes a pass status and a fail status.

[0019] Based on the above scheme, the GPU stress test status of the server cluster to be tested can be automatically determined according to the GPU stress test result data, thereby improving the overall efficiency of the GPU stress test, and the determined GPU stress test status can accurately reflect the test situation.

[0020] In one embodiment, determining the GPU stress test status of the server cluster to be tested according to each of the GPU stress test result data and a preset test status judgment strategy includes:

[0021] According to the model information of each target server to be tested in the server cluster to be tested, each target server to be tested is divided into a plurality of subclusters, each subcluster contains the same model information of each target server to be tested, and the model information at least includes GPU model information;

[0022] For each of the sub-clusters, determining the test difference corresponding to the sub-cluster according to the GPU stress test result data corresponding to each of the target servers to be tested in the sub-cluster;

[0023] When the test difference corresponding to each of the sub-clusters is not greater than a preset threshold, the GPU stress test status of the server cluster to be tested is determined to be a passed status.

[0024] Based on the above solution, the GPU stress test status of the server cluster to be tested determined according to the test difference of each sub-cluster can accurately reflect the GPU stress test status of the server cluster to be tested.

[0025] In a second aspect, the present application also provides another server stress testing method. The method is applied to a server to be tested, and the method includes:

[0026] In response to the component installation instruction sent by the control node, determine the index information of the target component contained in the component installation instruction; the index information of the target component is the information that matches the GPU model information of the server to be tested, determined by the control node in each component information according to a preset component matching strategy;

[0027] According to the index information of the target component, obtain the image file corresponding to the index information from the container image repository, and install the target component based on the image file;

[0028] In response to the GPU stress test instruction sent by the control node, a GPU stress test is performed based on the test program information included in the GPU stress test instruction.

[0029] Based on the above solution, the automatic deployment of GPU-related software components of the server to be tested can be achieved. Compared with manual deployment, the deployment accuracy is high to ensure the smooth progress of the GPU stress test, and the deployment efficiency is high, thereby improving the success rate and test efficiency of the server's GPU stress test.

[0030] In a third aspect, the present application also provides a server stress testing system. The server stress testing system includes a control node, a server cluster to be tested, and a container image repository, wherein the server cluster to be tested includes several target servers to be tested, wherein:

[0031] The control node is used to obtain GPU model information corresponding to each target server to be tested in the server cluster to be tested; for each target server to be tested, according to a preset component matching strategy, determine the index information of the target component that matches the GPU model information of the target server to be tested in each component information, and send a component installation instruction containing the index information to the target server to be tested;

[0032] The target server to be tested is used to respond to the component installation instruction sent by the control node, obtain the image file corresponding to the index information from the container image repository according to the index information included in the component installation instruction, and install the target component based on the image file;

[0033] The control node is also used to send a GPU stress test instruction containing test program information to each target server to be tested after the target component is installed;

[0034] The target server to be tested is further configured to respond to the GPU stress test instruction sent by the control node and perform a GPU stress test based on the test program information included in the GPU stress test instruction.

[0035] In a fourth aspect, the present application also provides a server stress testing device. The device comprises:

[0036] The first acquisition module is used to obtain the graphics processor GPU model information corresponding to each target server to be tested in the server cluster to be tested;

[0037] A first sending module is used to determine, for each of the target servers to be tested, index information of a target component that matches the GPU model information of the target server to be tested in each component information according to a preset component matching strategy, and send a component installation instruction containing the index information to the target server to be tested, wherein the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from a container image repository;

[0038] The second sending module is used to send a GPU stress test instruction containing test program information to each target server to be tested after the target component is installed, and the GPU stress test instruction is used to instruct each target server to be tested to perform a GPU stress test based on the test program information.

[0039] In one embodiment, the first acquisition module is specifically used for:

[0040] Send a GPU model query instruction containing GPU model query program information to each target server to be tested in the server cluster to be tested, wherein the GPU model query instruction is used to instruct each target server to be tested to determine the local GPU model information according to the GPU model query program information and to feed back the local GPU model information; receive the GPU model information sent by each target server to be tested.

[0041] In one embodiment, the device further comprises:

[0042] A second acquisition module is used to obtain a test log of each of the target servers to be tested executing the GPU stress test, wherein the test log contains GPU stress test result data corresponding to each of the target servers to be tested;

[0043] The determination module is used to determine the GPU stress test status of the server cluster to be tested according to each of the GPU stress test result data and a preset test status judgment strategy, wherein the GPU stress test status includes a pass status and a fail status.

[0044] In one embodiment, the determining module is specifically used to:

[0045] According to the model information of each target server to be tested in the server cluster to be tested, each target server to be tested is divided into multiple sub-clusters, and the model information of each target server to be tested contained in each sub-cluster is the same, and the model information at least includes GPU model information; for each sub-cluster, the test difference corresponding to the sub-cluster is determined according to the GPU stress test result data corresponding to each target server to be tested in the sub-cluster; when the test difference corresponding to each sub-cluster is not greater than a preset threshold, the GPU stress test status of the server cluster to be tested is determined as a passed status.

[0046] In a fifth aspect, the present application also provides another server stress testing device. The device comprises:

[0047] A determination module, configured to determine, in response to a component installation instruction sent by a control node, index information of a target component contained in the component installation instruction; the index information of the target component is information that matches the GPU model information of the server to be tested and is determined by the control node in each component information according to a preset component matching strategy;

[0048] An installation module, used to obtain an image file corresponding to the index information from a container image repository according to the index information of the target component, and install the target component based on the image file;

[0049] The testing module is used to respond to the GPU stress testing instruction sent by the control node and perform GPU stress testing based on the test program information contained in the GPU stress testing instruction.

[0050] In a sixth aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the method described in the first aspect or the second aspect are implemented.

[0051] In a seventh aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method described in the first aspect or the second aspect are implemented.

[0052] In an eighth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the method described in the first aspect or the second aspect are implemented.

[0053] The above-mentioned server stress testing method, apparatus, system, computer equipment, storage medium and computer program product determine the index information of the target component that matches the GPU model information of each target server to be tested through a control node, and schedule each target server to be tested to obtain the image file of the target component from the container image repository according to the index information of the target component, and install the target component based on the image file, thereby realizing automatic deployment of GPU-related software components of each target server to be tested in the server cluster to be tested. Compared with manual deployment, the deployment has high accuracy to ensure the smooth progress of the GPU stress test of the server cluster to be tested, and the deployment efficiency is high, thereby improving the success rate and test efficiency of the GPU stress test of the server cluster. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 This is a structural block diagram of a server stress testing system in an example;

[0055] Figure 2 A schematic diagram of a process flow of a server stress testing method in one embodiment;

[0056] Figure 3 A schematic diagram of a flow chart of a server stress testing method in another embodiment;

[0057] Figure 4 A schematic diagram of a process for determining a GPU stress test state in one embodiment;

[0058] Figure 5A schematic diagram of a flow chart of a server stress testing method in another embodiment;

[0059] Figure 6 A structural block diagram of a server stress testing device in one embodiment;

[0060] Figure 7 is a structural block diagram of a server stress testing device in another embodiment;

[0061] Figure 8 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0063] First of all, before specifically introducing the technical solution of the embodiment of the present application, the technical background or technical evolution context on which the embodiment of the present application is based is introduced. With the vigorous development of the digital transformation of the industry, large-scale cluster computing is more and more widely used in practice, bringing opportunities and challenges to the server field. In order to ensure that the server cluster can run stably for a long time under high-intensity work, it is necessary to perform stress testing on the server cluster, including GPU (graphics processing unit, graphics processing unit) stress testing, CPU (central processing unit, central processing unit) stress testing, memory stress testing, hard disk stress testing, network card stress testing, etc. Among them, before performing GPU stress testing on the server cluster, it is necessary to deploy GPU drivers, GPU software stacks, machine learning related suites and other software components on each target server to support GPU stress testing, and different models of GPUs have different design architectures and / or different application directions, and the required matching drivers and other software components or versions of software components may be different.

[0064] In the related art, the deployment of GPU-related software components on the server is manually deployed by the test engineer. For a server cluster with a large number of servers and various GPU models, manual deployment is prone to errors, resulting in the inability to smoothly carry out the GPU stress test of the server cluster and low efficiency. Based on this background, the applicant has proposed the server stress testing method of the present application through long-term research and development and experimental verification. The software components required by various models of GPUs are pre-encapsulated as image files and stored in a container image repository. The control node determines the index information of the matching target component according to the GPU model information of each target server to be tested, and sends the component installation instruction containing the index information to the target server to be tested, so that each target server to be tested installs the corresponding target component from the container image repository according to the index information. As a result, each target server to be tested after installing the target component can respond to the GPU stress test instruction sent by the control node and smoothly perform the GPU stress test. In this method, the control node schedules each target server to be tested to install the target component corresponding to the GPU model information of each target server to be tested, so as to realize the automatic deployment of GPU-related software components. Compared with manual deployment, the deployment accuracy is high to ensure the smooth progress of GPU stress testing, and the deployment efficiency is high, so as to improve the success rate and test efficiency of GPU stress testing of the server cluster. In addition, it should be noted that the applicant has made a lot of creative efforts in the discovery of the technical problem of this application and the technical solutions introduced in the following embodiments.

[0065] The server stress testing method provided in the embodiment of the present application can be applied to Figure 1 The server stress testing system 100 shown. The server stress testing system 100 includes a control node 102, a server cluster 104 to be tested, and a container image warehouse 106. Among them, the server cluster 104 to be tested includes several target servers to be tested, and each target server to be tested can communicate with the control node 102 and the container image warehouse 106 through the network. Containers can be deployed and run on each target server to be tested, and the control node 102 can deploy and manage the containers on each target server to be tested. For example, the server to which the control node belongs and each target server to be tested can be connected to a cloud platform (such as a Kubernetes platform), and the server to which the control node belongs can be deployed as a control node (such as a master node of Kubernetes) on the cloud platform, and each target server to be tested can be deployed as a computing node (such as a node node of Kubernetes), so that the control node can manage each target server to be tested, including deploying and managing the containers on the target server to be tested. The container image warehouse 106 can be built on a warehouse server for storing image files.

[0066] In one embodiment, Figure 2As shown, a server stress testing method is provided, which is applied to Figure 1 Taking the control node 102 in FIG. 1 as an example, the method includes the following steps:

[0067] Step 201: Obtain GPU model information corresponding to each target server to be tested in the server cluster to be tested.

[0068] The target server to be tested is the server that needs to perform GPU stress testing, which can be all or part of the servers included in the server cluster to be tested. The test engineer can set the target server to be tested involved in this GPU stress test in the test configuration file, and the control node can determine the target server to be tested according to the test configuration file.

[0069] During implementation, the control node can obtain the GPU model information corresponding to each target server to be tested. For example, a test engineer can write the GPU model information corresponding to each target server to be tested into a configuration file and upload the configuration file to the control node. The control node can then obtain the GPU model information corresponding to each target server to be tested from the configuration file.

[0070] Step 202, for each target server to be tested, according to a preset component matching strategy, determine the index information of the target component that matches the GPU model information of the target server to be tested in each component information, and send a component installation instruction containing the index information to the target server to be tested.

[0071] The component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from the container image repository.

[0072] In implementation, after the control node obtains the GPU model information of each target server to be tested, it can determine the index information of the target component that matches the GPU model information of each target server to be tested according to the preset component matching strategy. For example, the component matching strategy can be a pre-established correspondence between GPU model information and component information, so that the control node can determine the index information of the target component that matches the GPU model information of each target server to be tested in the correspondence. The component information includes index information of the component image file, and the index information can specifically include information such as the image path, image identification or label of the target component, and the image file of the target component can be obtained from the container image repository based on the index information. The component information can also include other information such as component name and version number, which is convenient for test engineers to maintain the correspondence between GPU model information and component information.

[0073] Then, the control node can send a component installation instruction containing index information to the target server to be tested. The target server to be tested can respond to the component installation instruction, obtain the image file corresponding to the index information from the container image repository, and install the target component based on the image file. Among them, the container image repository pre-stores the image files of each target component, and each image file uniquely corresponds to an index information. Specifically, the container image repository can be a pre-built private Docker image repository. In addition, in order to facilitate the management of GPU-related software components, GPUOperator (a tool developed based on the Operator framework of Kubernetes) can be installed on the control node, so that the control node can schedule each target server to be tested to install the containerized target component through GPU Operator.

[0074] Step 203: Sending a GPU stress test instruction including test program information to each target server to be tested after the target component is installed.

[0075] The GPU stress test instruction is used to instruct each target server to perform a GPU stress test based on the test program information.

[0076] In implementation, the control node may send a GPU stress test instruction containing test program information to each target server to be tested after each target component is installed. For example, after each target server to be tested receives the component installation instruction, it may feedback the installation progress of the target component to the control node. After each target server to be tested installs the target component, the control node may send a GPU stress test instruction to each target server to be tested according to the test information in the test configuration file. The test configuration file may be uploaded to the control node in advance by a test engineer, and may include test program information, test program run times or run time and other test information. The test program information may be the test program itself or the index information of the test program. If it is the test program itself, the target server to be tested may directly run the test program to perform a GPU stress test. If it is the index information of the test program, the target server to be tested may obtain the image file of the test program from the container image repository and perform a GPU stress test based on the image file.

[0077] In the above-mentioned server stress testing method, the index information of the target component matching the GPU model information of each target server to be tested is determined by the control node, and each target server to be tested is scheduled to obtain the image file of the target component from the container image repository according to the index information of the target component, and then install the target component based on the image file, thereby realizing automatic deployment of GPU-related software components of each target server to be tested in the server cluster to be tested. Compared with manual deployment, the deployment has high accuracy, so as to ensure the smooth progress of the GPU stress test of the server cluster to be tested, and the deployment efficiency is high, so as to improve the success rate and test efficiency of the GPU stress test of the server cluster.

[0078] In one embodiment, the process of obtaining GPU model information in the above step 201 specifically includes the following steps: sending a GPU model query instruction containing GPU model query program information to each target server to be tested in the server cluster to be tested, the GPU model query instruction being used to instruct each target server to be tested to determine the local GPU model information according to the GPU model query program information, and to feed back the local GPU model information; receiving the GPU model information sent by each target server to be tested.

[0079] In implementation, the control node may send a GPU model query instruction to each target server to be tested. For example, the control node may send a GPU model query instruction in response to an instruction input by a test engineer, or may respond to other trigger conditions, such as sending a GPU model query instruction before the first GPU stress test is performed within a test cycle (such as set to 1 week, one month, etc.). The target server to be tested may respond to the GPU model query instruction and determine the local GPU model information based on the GPU model query program information contained in the instruction. Specifically, the GPU model query program information may be the query program itself, or it may be the index information of the query program image file, so that the target server to be tested may obtain the image file of the GPU model query program from the container image repository according to the index information, and run the GPU model query program in the container based on the image file, thereby obtaining the local GPU model information. Then, the target server to be tested may feed back the local GPU model information to the control node, so that the control node may receive the GPU model information of each target server to be tested.

[0080] In this embodiment, a GPU model query instruction can be sent to the server under test through the control node, instructing the server under test to run a GPU model query program to determine the local GPU model information and then feed it back to the control node, so that the control node can obtain the GPU model information corresponding to each server under test. Therefore, the accuracy of the GPU model information obtained by the control node can be guaranteed, and the acquisition efficiency is high. Based on the GPU model information, the GPU stress test is performed after the corresponding target component is installed on each server under test, which can ensure the smooth progress of the GPU stress test, thereby improving the success rate of the GPU stress test of the server cluster and the overall test efficiency.

[0081] In one embodiment, Figure 3 As shown, another server stress test method is provided, which further includes the following steps after sending the GPU stress test instruction in the above step 203:

[0082] Step 301: Obtain the test log of each target server to be tested that performs a GPU stress test.

[0083] The test log contains the GPU stress test result data corresponding to each target server under test.

[0084] In implementation, after each target server to be tested performs a GPU stress test, the test log may be uploaded to a log server, and the control node may obtain GPU stress test result data corresponding to each target server to be tested from the log server.

[0085] Step 302: Determine the GPU stress test status of the server cluster to be tested according to the GPU stress test result data and a preset test status judgment strategy. The GPU stress test status includes a pass status and a fail status.

[0086] In implementation, after the control node obtains the GPU stress test result data of each target server to be tested, it can determine the GPU stress test status of the server cluster to be tested according to each test result data and the preset test status judgment strategy. For example, if the GPU stress test program randomly generates two matrices of 2048 rows and columns for multiplication, and performs matrix multiplication calculations several times, then the GPU stress test result data will contain a value reflecting the computing power. The control node can compare the computing power value corresponding to each target server to be tested with the preset passing benchmark value. If the computing power values ​​of each target server to be tested are greater than or equal to the benchmark value (or the computing power values ​​of a preset number of target servers to be tested are greater than the benchmark value), then the GPU stress test status of the server cluster to be tested can be determined as a passing state, otherwise it is a failing state.

[0087] In some examples, the judgment strategy for the GPU stress test status of the server cluster may include comparing the test result data of each target server to be tested with a benchmark value, and may further compare the current test result data corresponding to the server cluster with the historical test result data. For example, the test result data of each target server to be tested may be averaged and used as the current test result data of the server cluster to be tested, and then the difference between the current test result data and the historical test result data of the server cluster to be tested (such as the difference between the two) is calculated. If the difference is greater than a preset threshold, the test status of the server cluster may be determined as a failed state. If the difference is less than or equal to the preset threshold, and the test result data of each target server to be tested is greater than or equal to the benchmark value, the test status of the server cluster to be tested may be determined as a passed state.

[0088] Furthermore, the control node can graphically display the GPU test result data of each target server under test, the test status of the server cluster under test and / or the basic test information (such as the test program name, test time, etc.), and can also send it directly to the test engineer's email address so that the test engineer can understand the test situation intuitively and comprehensively.

[0089] In this embodiment, the control node can obtain the test log of each server under test performing the GPU stress test, and then determine the GPU stress test status of the server cluster under test based on the GPU stress test result data contained in the test log, thereby automatically determining the test status, improving the overall efficiency of the GPU stress test, and the determined test status can accurately reflect the test situation.

[0090] In one embodiment, Figure 4 As shown, the process of determining the GPU stress test state in the above step 302 specifically includes the following steps:

[0091] Step 401 : divide each target server to be tested in the server cluster to be tested into a plurality of subclusters according to the model information of each target server to be tested in the server cluster to be tested.

[0092] The model information of each target server to be tested included in each sub-cluster is the same, and the model information at least includes GPU model information.

[0093] In implementation, the control node can group the target servers to be tested according to the model information of each target server to be tested in the server cluster to be tested, and divide the servers to be tested with the same model information into the same sub-cluster. The model information includes at least GPU model information, and can also include model information of other key components (such as CPU, memory, etc.), that is, servers with the same configuration or some of the same key configurations can be divided into the same sub-cluster.

[0094] Step 402 : for each sub-cluster, determine the test difference corresponding to the sub-cluster according to the GPU stress test result data corresponding to each target server to be tested in the sub-cluster.

[0095] In implementation, the control node can determine the test difference corresponding to each subcluster using the GPU stress test result data corresponding to each target server to be tested in each subcluster. The test difference corresponding to each subcluster represents the fluctuation of the GPU stress test result data of each target server to be tested in the subcluster. For example, as in the aforementioned example, the GPU stress test result data contains a numerical value reflecting the computing power. The control node can use the difference between the maximum and minimum values ​​of the computing power corresponding to the target server to be tested in each subcluster as the test difference corresponding to the subcluster, or use the ratio of the difference to the maximum value (or minimum value) as the test difference corresponding to the subcluster. It can be understood that the method used to determine the test difference of each subcluster should be the same.

[0096] Step 403 , when the test difference corresponding to each sub-cluster is not greater than a preset threshold, the GPU stress test status of the server cluster to be tested is determined as a passed status.

[0097] In implementation, after the control node determines the test difference corresponding to each sub-cluster, each test difference can be compared with a preset threshold. If the test difference of each sub-cluster is not greater than (i.e., less than or equal to) the preset threshold, the GPU stress test state of the server cluster to be tested can be determined as a pass state; if the test difference of at least one sub-cluster is greater than the preset threshold, the GPU stress test state of the server cluster to be tested can be determined as a fail state. In other examples, the GPU stress test state of the server cluster to be tested can also be determined as a pass state when the test difference of a preset number of sub-clusters (such as 90% of the total number) is not greater than the preset threshold. It can be understood that the control node can also determine the sub-test state of each sub-cluster separately (if the test difference of the sub-cluster is not greater than the preset threshold, the sub-test state is a pass state, otherwise it is a fail state), so that the sub-test state of each sub-cluster and the test state of the total server cluster to be tested can be fed back to the test engineer so that the test engineer can fully understand the test situation.

[0098] Optionally, if the control node determines that the GPU stress test status of the server cluster to be tested is a failed state, the control node can also schedule each target server to be tested in the server cluster to be tested to perform the GPU stress test again, that is, retest, and if the GPU stress test status is determined to be a passed state according to the retested test result data, or the preset number of retests is reached, the test is stopped. Therefore, the confidence of the determined GPU stress test status is high.

[0099] In this embodiment, the target servers to be tested with the same model information are divided into the same sub-cluster, and the test difference is determined according to the GPU stress test result data of each target server to be tested in each sub-cluster. The test difference can show the fluctuation of the GPU stress test result data of each server to be tested in the sub-cluster. If the fluctuation is large, it means that the pressure resistance or stability of each target server to be tested in the server cluster to be tested is uneven, which will affect the overall stable operation of the server cluster to be tested. Therefore, the GPU stress test status of the server cluster to be tested determined according to the test difference of each sub-cluster can accurately reflect the GPU stress test situation of the server cluster to be tested.

[0100] In one embodiment, Figure 5 As shown, a server stress testing method that can be applied to the server to be tested is also provided, comprising the following steps:

[0101] Step 501: In response to a component installation instruction sent by a control node, determine index information of a target component included in the component installation instruction.

[0102] In implementation, when the server to be tested receives the component installation instruction sent by the control node, it can respond to the instruction and determine the index information of the target component contained in the component installation instruction. The index information of the target component is the information that matches the GPU model information of the server to be tested, determined by the control node in each component information according to a preset component matching strategy. The process of the control node determining the index information of the target component corresponding to the server to be tested is described in detail in the above embodiment, and will not be repeated here.

[0103] Step 502: According to the index information of the target component, obtain the image file corresponding to the index information from the container image repository, and install the target component based on the image file.

[0104] In implementation, after the server under test determines the index information contained in the component installation instruction, it can obtain the corresponding image file from the container image repository according to the index information and install the target component based on the image file. The container image repository pre-stores the image files of each target component, and each image file uniquely corresponds to an index information.

[0105] Step 503: In response to the GPU stress test instruction sent by the control node, a GPU stress test is performed based on the test program information included in the GPU stress test instruction.

[0106] In implementation, when the server under test receives the GPU stress test instruction sent by the control node, it can respond to the instruction, determine the test program information contained therein, and then perform the GPU stress test based on the test program information. The test program information can be the test program itself or the index information of the test program. If it is the test program itself, the target server under test can directly run the test program to perform the GPU stress test; if it is the index information of the test program, the target server under test can obtain the image file of the test program from the container image repository and perform the GPU stress test based on the image file.

[0107] In this embodiment, the component installation instruction sent by the control node is received by the server to be tested, and the target component is installed after the image file of the target component is obtained from the container image repository according to the index information of the target component contained in the component installation instruction, wherein the index information of the target component is information that matches the GPU model information of the server to be tested, determined by the control node in each component information according to a preset component matching strategy, thereby realizing automatic deployment of GPU-related software components of the server to be tested. Compared with manual deployment, the deployment has high accuracy to ensure the smooth progress of GPU stress testing, and the deployment efficiency is high, thereby improving the success rate and test efficiency of the server's GPU stress testing.

[0108] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0109] Based on the same inventive concept, the embodiment of the present application also provides a server stress testing system for implementing the server stress testing method involved above. The implementation scheme for solving the problem provided by the system is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more server stress testing system embodiments provided below can refer to the limitations on the server stress testing method above, and will not be repeated here.

[0110] In one embodiment, a server stress testing system is provided, including a control node, a server cluster to be tested, and a container image repository, wherein the server cluster to be tested includes several target servers to be tested, wherein:

[0111] The control node is used to obtain the GPU model information corresponding to each target server to be tested in the server cluster to be tested; for each target server to be tested, according to the preset component matching strategy, the index information of the target component that matches the GPU model information of the target server to be tested is determined in each component information, and a component installation instruction containing the index information is sent to the target server to be tested.

[0112] The target server to be tested is used to respond to the component installation instruction sent by the control node, obtain the image file corresponding to the index information from the container image repository according to the index information contained in the component installation instruction, and install the target component based on the image file.

[0113] The control node is also used to send a GPU stress test instruction containing test program information to each target server to be tested after the target component is installed.

[0114] The target server to be tested is further configured to respond to the GPU stress test instruction sent by the control node and perform a GPU stress test based on the test program information included in the GPU stress test instruction.

[0115] In one embodiment, the control node is further used to send a GPU model query instruction including GPU model query program information to each target server to be tested in the server cluster to be tested.

[0116] The target server to be tested is further configured to respond to the GPU model query instruction sent by the control node, determine the local GPU model information based on the GPU model query program information included in the GPU model query instruction, and feed back the local GPU model information.

[0117] The control node is also used to receive GPU model information sent by each target server to be tested.

[0118] In one embodiment, the control node is also used to obtain the test log of each target server to be tested performing a GPU stress test, and the test log contains the GPU stress test result data corresponding to each target server to be tested; based on each GPU stress test result data and a preset test status judgment strategy, the GPU stress test status of the server cluster to be tested is determined, and the GPU stress test status includes a pass status and a fail status.

[0119] Based on the same inventive concept, the embodiment of the present application also provides a server stress testing device for implementing the server stress testing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more server stress testing device embodiments provided below can refer to the limitations on the server stress testing method above, and will not be repeated here.

[0120] In one embodiment, Figure 6 As shown, a server stress testing device 600 is provided, including: a first acquisition module 601, a first sending module 602 and a second sending module 603, wherein:

[0121] The first acquisition module 601 is used to acquire the graphics processor GPU model information corresponding to each target server to be tested in the server cluster to be tested.

[0122] The first sending module 602 is used to determine, for each target server to be tested, the index information of the target component that matches the GPU model information of the target server to be tested in each component information according to a preset component matching strategy, and send a component installation instruction containing the index information to the target server to be tested, where the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from the container image repository.

[0123] The second sending module 603 is used to send a GPU stress test instruction containing test program information to each target server to be tested after the target component is installed. The GPU stress test instruction is used to instruct each target server to be tested to perform a GPU stress test based on the test program information.

[0124] In one embodiment, the first acquisition module 601 is specifically used to: send a GPU model query instruction containing GPU model query program information to each target server to be tested in the server cluster to be tested, the GPU model query instruction is used to instruct each target server to be tested to determine the local GPU model information according to the GPU model query program information, and to feedback the local GPU model information; receive the GPU model information sent by each target server to be tested.

[0125] In one embodiment, the device further includes a second acquisition module and a determination module, wherein:

[0126] The second acquisition module is used to obtain the test log of each target server to be tested executing the GPU stress test, and the test log contains the GPU stress test result data corresponding to each target server to be tested.

[0127] The determination module is used to determine the GPU stress test status of the server cluster to be tested according to the GPU stress test result data and the preset test status judgment strategy. The GPU stress test status includes a pass status and a fail status.

[0128] In one embodiment, the determination module is specifically used to: divide each target server to be tested into multiple subclusters according to the model information of each target server to be tested in the server cluster to be tested, each subcluster contains the same model information of each target server to be tested, and the model information at least includes GPU model information; for each subcluster, determine the test difference corresponding to the subcluster according to the GPU stress test result data corresponding to each target server to be tested in the subcluster; when the test difference corresponding to each subcluster is not greater than a preset threshold, determine the GPU stress test status of the server cluster to be tested as a passed status.

[0129] In one embodiment, Figure 7 As shown, another server stress testing device 700 is also provided, the device includes a determination module 701, an installation module 702 and a testing module 703, wherein:

[0130] Determination module 701 is used to determine the index information of the target component contained in the component installation instruction in response to the component installation instruction sent by the control node; the index information of the target component is the information that matches the GPU model information of the server to be tested, determined by the control node in each component information according to a preset component matching strategy.

[0131] The installation module 702 is used to obtain the image file corresponding to the index information from the container image repository according to the index information of the target component, and install the target component based on the image file.

[0132] The testing module 703 is used to respond to the GPU stress test instruction sent by the control node and perform the GPU stress test based on the test program information included in the GPU stress test instruction.

[0133] In one embodiment, the device further includes a query module and a sending module, wherein:

[0134] The query module is used to respond to the GPU model query instruction sent by the control node and determine the local GPU model information based on the GPU model query program information contained in the GPU model query instruction.

[0135] The sending module is used to send the local GPU model information to the control node.

[0136] Each module in the above-mentioned server stress testing device can be implemented in whole or in part by software, hardware and a combination thereof. Each of the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to each of the above modules.

[0137] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 8 As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data required or generated for executing the above-mentioned server stress testing method. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a server stress testing method is implemented.

[0138] Those skilled in the art will understand that Figure 8 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0139] In one embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.

[0140] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above method embodiments are implemented.

[0141] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0142] 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, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties.

[0143] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present 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), magnetoresistive 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.

[0144] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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.

[0145] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A server stress testing method, characterized in that: The method comprises: Obtain the GPU model information corresponding to each target server under test in the server cluster under test; For each of the target servers to be tested, according to a preset component matching strategy, determine the index information of the target component that matches the GPU model information of the target server to be tested in each component information, and send a component installation instruction containing the index information to the target server to be tested, wherein the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from the container image repository; Sending a GPU stress test instruction to each target server to be tested according to a test configuration file, wherein the test configuration file includes test program information, the number of test program runs or the running time, and the test program information is index information of the test program. The GPU stress test instruction is used to instruct each target server to be tested to obtain an image file of the test program from a container image repository, and perform a GPU stress test based on the image file; Obtain a test log of each of the target servers to be tested executing the GPU stress test, wherein the test log includes test result data corresponding to each of the target servers to be tested; The test result data of each target server to be tested is averaged and used as the current test result data of the server cluster to be tested. The difference between the current test result data and the historical test result data of the server cluster to be tested is calculated. If the difference is greater than a preset threshold, the test status of the server cluster to be tested is determined to be a failed status. If the difference is less than or equal to the preset threshold and the test result data of each target server to be tested is greater than or equal to a benchmark value, the test status of the server cluster to be tested is determined to be a passed status.

2. The method according to claim 1, characterized in that: The step of obtaining the GPU model information corresponding to each target server to be tested in the server cluster to be tested includes: Sending a GPU model query instruction containing GPU model query program information to each target server to be tested in the server cluster to be tested, wherein the GPU model query instruction is used to instruct each target server to be tested to determine local GPU model information according to the GPU model query program information and to feed back the local GPU model information; Receive GPU model information sent by each of the target servers to be tested.

3. The method according to claim 1, characterized in that The method further comprises: According to the model information of each target server to be tested in the server cluster to be tested, each target server to be tested is divided into a plurality of subclusters, each subcluster contains the same model information of each target server to be tested, and the model information at least includes GPU model information; For each of the sub-clusters, determining the test difference corresponding to the sub-cluster according to the GPU stress test result data corresponding to each of the target servers to be tested in the sub-cluster; When the test difference corresponding to each of the sub-clusters is not greater than a preset threshold, the GPU stress test status of the server cluster to be tested is determined to be a passed status.

4. A server stress testing method, characterized in that: The method is applied to a server to be tested, and the method comprises: In response to the component installation instruction sent by the control node, determine the index information of the target component contained in the component installation instruction; the index information of the target component is the information that matches the GPU model information of the server to be tested, determined by the control node in each component information according to a preset component matching strategy; According to the index information of the target component, obtain the image file corresponding to the index information from the container image repository, and install the target component based on the image file; In response to a GPU stress test instruction sent by the control node according to a test configuration file, the test configuration file includes test program information, the number of test program runs or the running time, and the test program information is index information of the test program, obtaining an image file of the test program from a container image repository based on the index information of the test program, and performing a GPU stress test based on the image file; The control node obtains a test log of each target server to be tested executing the GPU stress test, wherein the test log includes test result data corresponding to each target server to be tested; The control node averages the test result data of each target server to be tested as the current test result data of the server cluster to be tested, and calculates the difference between the current test result data and the historical test result data of the server cluster to be tested. If the difference is greater than a preset threshold, the test status of the server cluster to be tested is determined to be a failed status. If the difference is less than or equal to the preset threshold and the test result data of each target server to be tested is greater than or equal to a benchmark value, the test status of the server cluster to be tested is determined to be a passed status.

5. A server stress testing system, characterized in that: The server stress testing system includes a control node, a server cluster to be tested and a container image repository, wherein the server cluster to be tested includes several target servers to be tested, wherein: The control node is used to obtain GPU model information corresponding to each target server to be tested in the server cluster to be tested; for each target server to be tested, according to a preset component matching strategy, determine the index information of the target component that matches the GPU model information of the target server to be tested in each component information, and send a component installation instruction containing the index information to the target server to be tested; The target server to be tested is used to respond to the component installation instruction sent by the control node, obtain the image file corresponding to the index information from the container image repository according to the index information included in the component installation instruction, and install the target component based on the image file; The control node is further used to send a GPU stress test instruction to each target server to be tested according to a test configuration file, wherein the test configuration file includes test program information, the number of test program runs or the running time; The target server to be tested is also used to respond to the GPU stress test instruction sent by the control node, the test program information is the index information of the test program, the target server to be tested obtains the image file of the test program from the container image repository based on the index information of the test program, and performs the GPU stress test based on the image file; The control node is further used to obtain a test log of each of the target servers to be tested executing the GPU stress test, wherein the test log includes test result data corresponding to each of the target servers to be tested; The control node is also used to average the test result data of each target server to be tested as the current test result data of the server cluster to be tested, and calculate the difference between the current test result data and the historical test result data of the server cluster to be tested. If the difference is greater than a preset threshold, the test status of the server cluster to be tested is determined to be a failed status; if the difference is less than or equal to the preset threshold and the test result data of each target server to be tested is greater than or equal to a benchmark value, the test status of the server cluster to be tested is determined to be a passed status.

6. A server stress testing device, characterized in that: The device comprises: The first acquisition module is used to obtain the graphics processor GPU model information corresponding to each target server to be tested in the server cluster to be tested; A first sending module is used to determine, for each of the target servers to be tested, index information of a target component that matches the GPU model information of the target server to be tested in each component information according to a preset component matching strategy, and send a component installation instruction containing the index information to the target server to be tested, wherein the component installation instruction is used to instruct the target server to be tested to install the target component corresponding to the index information from a container image repository; A second sending module is used to send a GPU stress test instruction to each target server to be tested according to a test configuration file, wherein the test configuration file includes test program information, the number of test program runs or the running time, and the test program information is the index information of the test program. The GPU stress test instruction is used to instruct each target server to be tested to obtain an image file of the test program from a container image repository and perform a GPU stress test based on the image file; A second acquisition module is used to obtain a test log of each of the target servers to be tested executing the GPU stress test, wherein the test log contains test result data corresponding to each of the target servers to be tested; A determination module calculates an average of the test result data of each of the target servers to be tested as the current test result data of the server cluster to be tested, and calculates the difference between the current test result data and the historical test result data of the server cluster to be tested. If the difference is greater than a preset threshold, the test status of the server cluster to be tested is determined to be a failed status; if the difference is less than or equal to the preset threshold and the test result data of each of the target servers to be tested is greater than or equal to a benchmark value, the test status of the server cluster to be tested is determined to be a passed status.

7. A server stress testing device, characterized in that: The device comprises: A determination module, configured to determine, in response to a component installation instruction sent by a control node, index information of a target component contained in the component installation instruction; the index information of the target component is information that matches the GPU model information of the server to be tested and is determined by the control node in each component information according to a preset component matching strategy; An installation module, used to obtain an image file corresponding to the index information from a container image repository according to the index information of the target component, and install the target component based on the image file; A test module, for responding to a GPU stress test instruction sent by the control node according to a test configuration file, wherein the test configuration file includes test program information, the number of test program runs or the running time, and the test program information is index information of the test program, obtaining an image file of the test program from a container image repository based on the index information of the test program, and performing a GPU stress test based on the image file; The control node obtains a test log of each target server to be tested executing the GPU stress test, wherein the test log includes test result data corresponding to each target server to be tested; The control node averages the test result data of each target server to be tested as the current test result data of the server cluster to be tested, and calculates the difference between the current test result data and the historical test result data of the server cluster to be tested. If the difference is greater than a preset threshold, the test status of the server cluster to be tested is determined to be a failed status. If the difference is less than or equal to the preset threshold and the test result data of each target server to be tested is greater than or equal to a benchmark value, the test status of the server cluster to be tested is determined to be a passed status.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.

Citation Information

Patent Citations

  • Application deployment method and apparatus

    CN107423085A

  • Container-based server computing performance testing method and device

    CN110096422A

  • Mirror image packet processing method and device and electronic equipment

    CN112084006A

  • Test method and device of database server, electronic equipment and storage medium

    CN114077449A