Performance testing method and related equipment for congestion control algorithms

Through the automated congestion control algorithm performance testing method, the problems of low efficiency and large errors in manual testing are solved, and efficient and accurate congestion control algorithm evaluation in a real physical environment is achieved.

CN118827473BActive Publication Date: 2025-09-26CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411000876.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2025-09-26
Estimated Expiration
2044-07-24

AI Technical Summary

Technical Problem

In the existing technology, the performance test of the congestion control algorithm relies on manual statistics and analysis, which is inefficient and prone to errors, and cannot achieve automation and accuracy.

Method used

This paper provides a performance testing method for congestion control algorithms. It obtains configuration information in an automated manner, sends test commands to multiple nodes, performs flow testing, and generates an evaluation report including node bandwidth, switch queue information, etc., to realize an automated testing process.

Benefits of technology

It improves the credibility and efficiency of test results, reduces the workload of operation and maintenance personnel, avoids mistakes and errors caused by manual operations, and enables a comprehensive evaluation of congestion control algorithms in a real physical environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118827473B_ABST
    Figure CN118827473B_ABST
Patent Text Reader

Abstract

The present disclosure provides a performance testing method and related equipment for a congestion control algorithm, relating to the field of network technology. The method comprises: in response to a start instruction of a performance test, obtaining configuration information, the configuration information including at least configuration information of multiple nodes, the nodes including at least a sender and a receiver, each node deploying a congestion control algorithm, sending test commands to the multiple nodes according to the configuration information so that the multiple nodes perform a flow test, and obtaining flow test results, the flow test results including at least the node bandwidth of each node. By automatically sending test commands to physical nodes in a physical environment and performing performance testing on the congestion control algorithm deployed on the nodes, an automated testing process is implemented, which can improve the credibility of the test results and test efficiency, reduce the workload of operation and maintenance personnel, and avoid mistakes and errors caused by manual statistics and operations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of network technology, and in particular to a performance testing method for a congestion control algorithm and related equipment. Background Art

[0002] Remote Direct Memory Access (RDMA) is a high-performance network communication technology that can directly transfer data from the memory of one computer to the memory of another computer without the intermediary of the CPU.

[0003] When too much traffic is injected into the network, network congestion occurs. Congestion control algorithms are proposed to alleviate network congestion when the network carries too much network traffic. Currently, various infrastructures are developing rapidly, programmable congestion control technology is becoming more and more mature, and the iteration speed of congestion control algorithms is getting faster and faster. After each iteration of the congestion control algorithm, the related technologies can only be manually counted, analyzed, and evaluated by operation and maintenance personnel. Manual verification is inefficient and will introduce uncertainties, such as statistical errors.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention

[0005] The present disclosure provides a performance testing method and related equipment for a congestion control algorithm, which at least to a certain extent overcomes the defects of manually performing performance testing on a congestion control algorithm in the related art.

[0006] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by practice of the present disclosure.

[0007] In a first aspect, embodiments of the present disclosure provide a method for testing the performance of a congestion control algorithm, the method comprising:

[0008] In response to a start instruction of the performance test, configuration information is obtained; the configuration information includes at least configuration information of a plurality of nodes; the nodes include at least a sender and a receiver; and a congestion control algorithm is deployed on each node;

[0009] Send test commands to multiple nodes according to the configuration information to enable multiple nodes to perform flow testing;

[0010] Obtain the traffic test results; the traffic test results at least include: the node bandwidth of each node.

[0011] In a possible embodiment, sending a test command to multiple nodes according to the configuration information to perform a flow test includes:

[0012] According to the configuration information and the preset loop configuration, a test command is generated in each loop until the test commands generated by all the configurations in the loop configuration are sent.

[0013] In a possible embodiment, the method further includes:

[0014] For any loop, generate the current test command corresponding to the current loop configuration according to the configuration information and the current loop configuration;

[0015] Send the current test command to each node so that each node performs a flow test according to the current test command;

[0016] Send an end command to each node. The end command is used to indicate the end of any cycle of the flow test.

[0017] In a possible embodiment, the cycle configuration includes at least one of the following: a first cycle configuration, a second cycle configuration, and a third cycle configuration;

[0018] The first loop configures the transmission type for each node to perform a flow test;

[0019] The second loop configures the number of queue pairs for traffic testing on each node;

[0020] The third loop is configured to set the message length for each node to be tested during the flow test.

[0021] In a possible embodiment, the transmission type includes at least one of the following: write, send, and read.

[0022] In a possible embodiment, when the loop configuration includes a first loop configuration, a second loop configuration, and a third loop configuration, and the first loop configuration is a first-level loop, the second loop configuration is a second-level loop, and the third loop configuration is a third-level loop, generating a test command to be sent to each tested node in each loop according to the configuration information and the preset loop configuration includes:

[0023] For any third-level cycle, generate a test command with a first transmission type, a first number of queue pairs, and a first message length, and send it to each node until the flow test of the current third-level cycle is completed, completing one third-level cycle;

[0024] For any second-level loop, traverse the preset message length, generate a test command with the first transmission type, the first number of queue pairs, and different message lengths, and send it to each node in each loop respectively, until the preset message length is tested by each node, and the second-level loop is completed;

[0025] For any first-level loop, traverse the preset number of queue pairs and the preset message length, generate test commands with the first transmission type, different numbers of queue pairs, and different message lengths, and send them to each node in each loop until the preset number of queue pairs and the preset message length are tested by each node, completing the first-level loop;

[0026] For the loop configuration, traverse the pre-set transmission types, generate test commands with different transmission types, different numbers of queue pairs, and different message lengths, and send them to each node in each loop until the pre-set message length is tested by each node and the loop configuration is completed.

[0027] In a possible embodiment, the method further includes:

[0028] During the flow test, commands are sent to multiple nodes through the parallel secure shell protocol (SSH). The commands include at least one of the following: a test command and an end command.

[0029] In a possible embodiment, the method further includes:

[0030] Write the flow test results to the test log file.

[0031] In a possible embodiment, the flow test result further includes at least: switch queue information between the sender and the receiver; and the method further includes:

[0032] Get the start and end time of each flow test and determine the test time period;

[0033] Read the switch queue information during the test period;

[0034] The test result of each flow test is obtained until the flow test results corresponding to multiple flow tests are obtained.

[0035] In a possible embodiment, the method further includes:

[0036] According to the preset number of flow test times, it is determined whether the flow test results have been obtained;

[0037] If not, continue to obtain the test results of each flow test until the flow test result is obtained.

[0038] In a possible embodiment, the method further includes:

[0039] Determine the number of flow tests based on the pre-set loop configuration.

[0040] In a possible embodiment, the method further includes:

[0041] Get switch queue information through Simple Network Management Protocol (SNMP).

[0042] In a possible embodiment, the method further includes:

[0043] Generate an evaluation report based on the flow test results and loop configuration.

[0044] In a possible embodiment, when the loop configuration includes a first loop configuration, a second loop configuration, and a third loop configuration, an evaluation report is generated according to the type of the loop configuration in the flow test result, including:

[0045] Multiple evaluation reports are generated using the first and third loop configurations as table headers and the total number of queue pairs in the second loop configuration as the column arrangement condition for each evaluation report.

[0046] In a possible embodiment, the content of the evaluation report includes at least one of the following: throughput and fairness of the node, and switch queue length of the node.

[0047] In a possible embodiment, an evaluation report is generated based on the flow test results, including:

[0048] Determine the node throughput based on the node bandwidth of each node;

[0049] Determine fairness based on the standard deviation of the sender's node bandwidth;

[0050] Determine the node's switch queue length based on the switch queue information.

[0051] In a possible embodiment, if the node is in combination mode, the method further includes:

[0052] Determining, based on the throughput of the node, the port throughput of the ports combined in the combined mode in the node;

[0053] Based on the switch queue length of the node, the port switch queue lengths of the ports combined in the teaming mode in the node are determined.

[0054] In a second aspect, embodiments of the present disclosure provide a performance testing method for a congestion control algorithm, including:

[0055] Receive test commands;

[0056] A traffic test is performed according to the test command. Congestion control is performed on the traffic test process using the deployed congestion control algorithm.

[0057] In a third aspect, an embodiment of the present disclosure provides a performance testing device for a congestion control algorithm, comprising:

[0058] A first acquisition unit is configured to acquire configuration information in response to a start instruction of a performance test; the configuration information includes at least configuration information of a plurality of nodes; the nodes include at least a sender and a receiver; and a congestion control algorithm is deployed on each node;

[0059] A sending unit, configured to send a test command to multiple nodes according to the configuration information to perform a flow test;

[0060] The second acquiring unit is configured to acquire a flow test result; the flow test result at least includes: a node bandwidth of each node.

[0061] In a possible embodiment, the system further includes: a result statistics output unit, configured to generate an evaluation report according to the flow test results and the cycle configuration.

[0062] In a fourth aspect, an embodiment of the present disclosure provides a performance testing device for a congestion control algorithm, including:

[0063] A receiving unit, configured to receive a test command;

[0064] The test unit is used to perform a flow test according to a test command; wherein congestion control is performed on the flow test process through a deployed congestion control algorithm.

[0065] In a fifth aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the method in the above-mentioned first aspect by executing the executable instructions.

[0066] In a sixth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, which implements the method in the first aspect when the computer program is executed by a processor.

[0067] In a seventh aspect, according to another aspect of the present disclosure, a computer program product or computer program is further provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the above methods.

[0068] The embodiments of the present disclosure provide a performance testing method and related equipment for a congestion control algorithm, specifically relating to a performance testing method, apparatus, equipment, medium, and program product for a congestion control algorithm. The method comprises: in response to a start indication of a performance test, obtaining configuration information, the configuration information at least including configuration information of multiple nodes, the nodes at least including a sender and a receiver, each node deploying a congestion control algorithm, sending test commands to the multiple nodes according to the configuration information so that the multiple nodes perform a flow test, and obtaining flow test results, the flow test results at least including the node bandwidth of each node. By automatically sending test commands to physical nodes in a physical environment and performing performance testing on the congestion control algorithm deployed on the nodes, an automated testing process is implemented, which can improve the credibility of the test results and the test efficiency, reduce the workload of operation and maintenance personnel, and avoid mistakes and errors caused by manual statistics and operations.

[0069] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0070] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0071] Figure 1 A schematic diagram showing the structure of a performance testing system for a congestion control algorithm according to an embodiment of the present disclosure is shown;

[0072] Figure 2 A schematic diagram illustrating the structure of a performance testing system for another congestion control algorithm according to an embodiment of the present disclosure is shown;

[0073] Figure 3 A schematic diagram illustrating an application scenario of a performance testing method for a congestion control algorithm according to an embodiment of the present disclosure is shown;

[0074] Figure 4 A flow chart showing a performance testing method for a congestion control algorithm according to an embodiment of the present disclosure is shown;

[0075] Figure 5 A flowchart illustrating a performance testing method for another congestion control algorithm in an embodiment of the present disclosure is provided;

[0076] Figure 6 A flow chart of sending a test command in an embodiment of the present disclosure is shown;

[0077] Figure 7A flowchart showing a performance testing method for yet another congestion control algorithm in an embodiment of the present disclosure is provided;

[0078] Figure 8 A flowchart of obtaining switch queue information according to an embodiment of the present disclosure is shown;

[0079] Figure 9 A flow chart for obtaining a flow test result in an embodiment of the present disclosure is shown;

[0080] Figure 10 A flowchart showing a performance testing method for yet another congestion control algorithm in an embodiment of the present disclosure is provided;

[0081] Figure 11 An interactive diagram illustrating a performance testing method for a congestion control algorithm according to an embodiment of the present disclosure;

[0082] Figure 12 A schematic diagram showing the structure of a performance testing device for a congestion control algorithm according to an embodiment of the present disclosure is shown;

[0083] Figure 13 A schematic diagram showing the structure of a performance testing device for another congestion control algorithm in an embodiment of the present disclosure is shown;

[0084] Figure 14 A schematic structural diagram of an electronic device in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0085] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0086] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0087] Figure 1 A schematic diagram of the structure of a performance test system for a congestion control algorithm according to an embodiment of the present disclosure is shown. Figure 1As shown, the performance testing system 100 includes: a node information configuration module 101 , an automatic flow module 102 , and a test result acquisition module 103 .

[0088] The node information configuration module 101 is used by operation and maintenance personnel to configure nodes and switch information involved in the flow test.

[0089] The automated traffic flow module 102 is used to obtain configuration information in response to a start indication of a performance test. The configuration information includes at least configuration information of multiple nodes. The nodes include at least a sender and a receiver. Each node deploys a congestion control algorithm and sends test commands to multiple nodes according to the configuration information to enable the multiple nodes to perform traffic flow testing.

[0090] Among them, the test commands are sent to multiple nodes. For the nodes participating in the same flow test, the test commands are sent simultaneously, which can ensure the time when the nodes receive the test commands and realize the task of starting the flow test on multiple nodes at the same time.

[0091] In one possible embodiment, the flow test process may include: the traffic pattern formed when many nodes send data to a single target node can be understood as constituting incast traffic. For the incast traffic pattern, it is crucial to start the flow test task of multiple nodes at the same time, which can ensure that the incast traffic pattern is between the sender and the receiver during the actual test process. When the operation and maintenance personnel are required to perform performance testing in the related technology, the flow time of each node is not uniform, and it is impossible to accurately determine whether each node is always in the incast traffic mode during the flow test. The test results of the congestion control algorithm for controlling the congestion situation may be inaccurate, and there are large errors in manual statistics.

[0092] The test result acquisition module 103 is used to obtain the flow test results. In the related art, the operation and maintenance personnel are required to manually log in to the switch for monitoring, which is inefficient and has the risk of misoperation. The present disclosure can automatically obtain the test results and generate a log file.

[0093] The performance test system may be started in at least one of the following ways: by a script or by a graphical interface, but is not limited to the above ways.

[0094] Figure 2 FIG. 1 shows a schematic diagram of a performance test system for another congestion control algorithm in an embodiment of the present disclosure. Figure 2 As shown, the performance testing system 100 further includes: a result statistics output module 201 .

[0095] The result statistics output module 201 is used to generate an evaluation report based on the flow test results.

[0096] In one possible embodiment, the automated traffic generation module 102 is further configured to generate a test command to be sent to each node in each cycle to perform the test based on the configuration information and the pre-set loop configuration. The result statistics output module 201 is configured to generate an evaluation report based on the traffic generation test results and the loop configuration.

[0097] In one possible embodiment, the performance testing system of the present disclosure is applied to evaluate the capabilities of congestion control algorithms deployed in RDMA networks in various scenarios, such as RDMA networks in intelligent computing centers and storage centers.

[0098] It should be noted that in the performance testing process disclosed herein, the nodes are real physical nodes. During the test, test commands are sent to real physical nodes, causing multiple nodes to undergo traffic testing to obtain traffic test results. Nodes can be servers, network cards, and other real hardware.

[0099] Figure 3 A schematic diagram showing an application scenario of a performance testing method for a congestion control algorithm according to an embodiment of the present disclosure is shown. Figure 3 As shown, it includes: a performance testing system 100 , a node 301 , a node 302 , a node 303 and a node 304 .

[0100] Among them, node 301, node 302, and node 303 can be senders, and node 304 can be a receiver. It should be noted that, Figure 3 The number of nodes in the example is only for reference and is not limited.

[0101] In the above application scenario, the performance testing system 100 sends test commands to multiple nodes, and the nodes perform flow testing and transmit traffic according to the test commands. Through this scenario, the congestion control algorithm deployed in the nodes can be tested. The congestion control algorithm can be automatically tested after each iteration. If the nodes involved in the test remain unchanged, the congestion control algorithm can be redeployed in the nodes after each iteration to complete the performance test again. This greatly improves the efficiency of performance testing, reduces the operational requirements for manual operation and maintenance personnel, and reduces the workload of operation and maintenance personnel.

[0102] This exemplary implementation is described in detail below with reference to the accompanying drawings and examples.

[0103] First, an embodiment of the present disclosure provides a performance testing method for a congestion control algorithm, which can be executed by any electronic device with computing and processing capabilities.

[0104] Figure 4 A flow chart showing a performance test method of a congestion control algorithm according to an embodiment of the present disclosure is shown as follows: Figure 4 As shown, the following steps are included:

[0105] S402: In response to a start instruction of the performance test, configuration information is obtained, where the configuration information includes at least configuration information of multiple nodes, where the nodes include at least a sender and a receiver, and a congestion control algorithm is deployed on each node.

[0106] In a possible embodiment, the configuration information of multiple nodes may include at least: the Internet Protocol (IP) of the node management port under test, the RDMA port IP of the node under test, the bottleneck link switch IP, the port number, and the network card device name under test; the configuration information may also include at least: the path for saving the flow test results.

[0107] S404: Sending a test command to the multiple nodes according to the configuration information, so that the multiple nodes perform a flow test.

[0108] The test command refers to a command sent when data transmission is performed between nodes.

[0109] S406: Obtain a traffic test result, where the traffic test result at least includes: a node bandwidth of each node.

[0110] In a possible embodiment, the flow test result may further include at least switch queue information between the sender and the receiver.

[0111] Through the above method, operation and maintenance personnel only need to configure the configuration information during the performance test of the congestion control algorithm to complete the automated test of the congestion control algorithm deployed on multiple nodes in the RDMA network.

[0112] In one possible embodiment, Figure 5 FIG. 1 is a flow chart showing a performance test method of another congestion control algorithm in an embodiment of the present disclosure. Figure 5 As shown, the following steps are included:

[0113] S502: In response to a start instruction of the performance test, configuration information is obtained, where the configuration information includes at least configuration information of multiple nodes, where the nodes include at least a sender and a receiver, and a congestion control algorithm is deployed on each node.

[0114] S504: Generate a test command in each cycle according to the configuration information and the preset loop configuration, until all test commands generated by the configurations in the loop configuration are sent.

[0115] S506: Obtain a traffic test result, where the traffic test result at least includes: a node bandwidth of each node.

[0116] Through the above method, the test commands in the performance test process do not need to be generated every time a test is performed. Instead, the test commands are generated according to a pre-set loop configuration through a designed loop mode. Based on the loop mode, various data transmission commands that may be involved between nodes in the entire RDMA network can be traversed, thus fully realizing automated testing.

[0117] In a possible embodiment, the loop configuration includes at least one of the following: a first loop configuration, a second loop configuration, and a third loop configuration; the first loop configuration is the transmission type for each node to perform a flow test; the second loop configuration is the number of queue pairs (QP) for each node to perform a flow test; and the third loop configuration is the message length transmitted for each node to perform a flow test.

[0118] The transmission type includes at least one of the following: write, send, and read. RDMA transmission type can also be added according to actual conditions. The transmission type can also be understood as the type of traffic transmitted between the sender and the receiver.

[0119] A QP is a virtual interface between the RDMA network card hardware and software. The number of QPs includes at least the number of optional queue pairs between the sending node and the receiving node.

[0120] Exemplarily, the number of QPs may be within a preset range, and the first preset range may include: 1-256.

[0121] For example, the message length may be a preset value, which may include at least 2 bytes, 512 bytes, 4096 bytes, and 65535 bytes, and may also include bytes of other values, which are not listed here.

[0122] It should be noted that the loop configurations given above are three loop configurations. When actually performing a flow test, all three loop configurations may be included, or one or two of them may be included. Other types of loop configurations may also be added according to actual conditions.

[0123] Through the above method, the present disclosure can traverse common RDMA transmission types, QP scales, and sent message sizes, and realize comprehensive evaluation of congestion control algorithms under different communication primitives, different congestion scales, and different message lengths.

[0124] In another possible embodiment, a test command database may be pre-configured, and test commands may be extracted from the test command database and sent to multiple nodes. Each time a node's traffic test is completed, a new test command may be automatically extracted and sent to multiple nodes.

[0125] The test commands in the test command database may include the test commands generated according to all the configurations in the loop configuration, and may also include other test commands.

[0126] In the above two methods, the performance test method of generating test commands and sending test commands in a cyclic manner is dynamic and does not require the construction of a large-scale database. The cyclic configuration can also be dynamically updated and modified according to actual needs, which is more flexible.

[0127] The method of using the test command database is simpler and has clearer logic. During performance testing, you only need to perform simple steps to pull the test command to complete the sending step, which is much simpler.

[0128] For the cycle process, Figure 6 A flow chart of sending a test command in an embodiment of the present disclosure is shown. Figure 6 As shown, the following steps are included:

[0129] S602: For any loop, generate a current test command corresponding to the current loop configuration according to the configuration information and the current loop configuration.

[0130] S604: Send the current test command to each node, so that each node performs a flow test according to the current test command.

[0131] In one possible embodiment, after sending a test command to a node in each cycle, the node may not directly perform a traffic test first, but may check whether all nodes have received the test command, and then send a start command to multiple nodes, the start command being used to instruct the multiple nodes to perform a traffic test. After receiving the command, the node will start the traffic test.

[0132] S606: Send an end command to each node. The end command is used to indicate the end of any cycle of the flow test.

[0133] In a possible embodiment, a loop configuration including a first loop configuration, a second loop configuration, and a third loop configuration is used as an example. The loop nesting of the three loop configurations can be changed. The first loop configuration is a first-level loop, the second loop configuration is a second-level loop, and the third loop configuration is a third-level loop.

[0134] The first-level loop is the outermost loop, the second-level loop is the middle loop, and the third-level loop is the innermost loop.

[0135] Exemplarily, for any third-level cycle, a test command with a first transmission type, a first number of queue pairs, and a first message length is generated and sent to each node until the flow test of the current third-level cycle is completed, thereby completing a third-level cycle;

[0136] Exemplarily, for any second-level loop, a preset message length is traversed, and a test command with a first transmission type, a first number of queue pairs, and different message lengths is generated, and is sent to each node in each loop until the preset message length is tested by each node, completing a second-level loop;

[0137] Exemplarily, for any first-level loop, a preset number of queue pairs and a preset message length are traversed, and a test command with a transmission type of the first transmission type, a different number of queue pairs, and a different message length is generated, and is sent to each node in each loop respectively, until the preset number of queue pairs and the preset message length are completed by each node after the flow test is completed, thus completing a first-level loop;

[0138] Exemplarily, for the loop configuration, the pre-set transmission types are traversed to generate test commands with different transmission types, different numbers of queue pairs, and different message lengths, which are sent to each node in each loop until the pre-set message length is tested by each node and the loop configuration is completed.

[0139] Figure 7 FIG. 4 is a flow chart showing a performance test method of another congestion control algorithm in an embodiment of the present disclosure. Figure 7 As shown, the following steps are included:

[0140] S702: In response to a performance test start instruction, obtain configuration information.

[0141] S704: Generate a test command in each cycle according to the configuration information and the preset loop configuration, until all test commands generated by the configurations in the loop configuration are sent.

[0142] S7041: When the loop configuration is the first loop configuration, the second loop configuration and the third loop configuration, and the first loop configuration is the first-level loop, the second loop configuration is the second-level loop, and the third loop configuration is the third-level loop, for any loop, generate the current test command corresponding to the current loop configuration according to the configuration information and the current loop configuration.

[0143] S7042: Send the current test command to each node, so that each node performs a flow test according to the current test command.

[0144] S7043: Send an end command to each node. The end command is used to indicate the end of any cycle of the flow test.

[0145] S706: Obtain a traffic test result, where the traffic test result at least includes: a node bandwidth of each node.

[0146] In one possible embodiment, the method of the present disclosure, step S404, sending a test command to cause each node to simultaneously initiate a traffic test task, may include: sending a command to multiple nodes via a parallel secure shell protocol (SSH) during the traffic test process, wherein the command includes at least one of the following: a test command, a start command, and an end command. If the test command is sent via SSH, it can ensure that multiple nodes are started simultaneously, and thus multiple nodes can directly initiate the traffic test task.

[0147] For example, when the test command is relatively large, the test command may be sent to multiple nodes first, and then the start command may be sent through SSH.

[0148] In a possible embodiment, the flow test result may be written into a test log file.

[0149] In a possible embodiment, according to the performance test process, the node bandwidth of each node in each traffic test is obtained, and the test result of each traffic test is obtained until traffic test results corresponding to multiple traffic tests are obtained.

[0150] In a possible embodiment, for the process of cyclically sending test commands, the test results of each flow test can be obtained and written into a test log file until the flow test results corresponding to multiple flow tests are obtained and all test log files are obtained.

[0151] In one possible embodiment, Figure 8 A flow chart of obtaining switch queue information is shown. Figure 8 As shown, the following steps are included:

[0152] S802: Obtain the start time and end time of each flow test and determine the test time period.

[0153] S804: Read the switch queue information of the switch during the test period.

[0154] S806: Obtain the test result of each flow test until the flow test results corresponding to multiple flow tests are obtained.

[0155] In a possible embodiment, the switch queue information may be obtained through the Simple Network Management Protocol (SNMP) and written into a test log file.

[0156] In a possible embodiment, it is determined whether the flow test results have been obtained according to a preset flow test number; if not, the test results of each flow test are continuously obtained until the flow test results are obtained.

[0157] For example, the number of flow testing times can be determined according to a pre-set cyclic configuration, where the number of flow testing times is equal to the number of times the cyclic configuration needs to be performed.

[0158] In a possible embodiment, for a flow test, for example, a test command is dynamically sent in a loop configuration manner. After the end of one loop, the test results obtained may include: node bandwidth and switch queue information, and the node bandwidth and switch queue information of the node may be written into a test log file.

[0159] Node bandwidth is obtained through the output of the performance test (perftest) and can be automatically written to the test log file after it is obtained. Switch queue information needs to be read and obtained through SNMP and written to the test log.

[0160] In one possible embodiment, Figure 9 A flow chart of obtaining the flow test result is shown in FIG. Figure 9 As shown, the following steps are included:

[0161] S902: Detect whether there is a new test log file.

[0162] The new test log file includes the node bandwidth corresponding to the newly completed traffic test.

[0163] If no new test log file is read, continue reading until it is read.

[0164] S904: A new test log file is read.

[0165] S906: Obtain the test start time and test end time in the new test log file to determine the test time period.

[0166] S908: Read the switch queue information of the switch during the test period.

[0167] S910: Write the switch queue information within the test period into a new test log file.

[0168] S912: According to the preset number of flow test times, determine whether the flow test results have been obtained; if so, end; if not, return to S902.

[0169] Because the switch port queue status during incast is a key indicator for evaluating the performance of congestion control algorithms, this information cannot be directly obtained on the client side. Traditional solutions require operators to manually log in to the switch to monitor it, which is extremely inefficient and carries the risk of misoperation. This method automatically retrieves switch queue information based on the test start and end times and outputs it to a log file, eliminating the inefficiencies and risks associated with manual intervention.

[0170] In a possible implementation, after the flow test result is obtained, an evaluation report may be generated according to the flow test result and the cycle configuration.

[0171] The evaluation report may also include at least: node bandwidth, fairness, and switch queue information.

[0172] In a possible embodiment, the evaluation report may also include other specific content determined based on node bandwidth, fairness, and switch queue information.

[0173] Among them, the evaluation report can at least include: the management port IP of the tested node, the RDMA port IP of the tested node, the bottleneck link switch IP, the total bandwidth of the bottleneck link, the throughput of each node, the average throughput of each node, the standard deviation of the throughput / bandwidth of each node, and the switch queue length.

[0174] In a possible embodiment, when the loop configuration includes a first loop configuration, a second loop configuration, and a third loop configuration, the format of the evaluation report may include: using the first loop configuration and the third loop configuration as table headers, and the total number of queue pairs in the second loop configuration as the vertical column arrangement condition for each evaluation report, to generate multiple evaluation reports.

[0175] For example, Table 1 shows a form of an evaluation report.

[0176] Table 1

[0177]

[0178] In the header of Table 1, XYZ represents the possible RDMA transmission types, ABCD represents the possible message sizes, and the QP number ranges from 1 to n.

[0179] For example, in a streaming test, the test command sent is: the node's RDMA transmission type is write, and the message size is 512 bytes. The header part is shown in Table 2.

[0180] Table 2

[0181] incast RDMA <write>-Message size <512> < / write>

[0182] If the QP number is 2, fill in the specific content of the evaluation report in the corresponding column of QP number 2.

[0183] In a possible embodiment, the content of the evaluation report includes at least one of the following: throughput and fairness of the node, and switch queue length of the node.

[0184] In a possible embodiment, based on the flow test results, a method for generating an evaluation report may include: determining the node throughput based on the node bandwidth of each node, determining fairness based on the standard deviation of the sender's node bandwidth, and determining the node's switch queue length based on the switch queue information.

[0185] In one possible embodiment, a node's ports can be in bonded mode or non-bonded mode. Bonded mode means binding two network ports to the same IP address, with traffic distributed across the two ports using a hashing method. During performance testing, the recorded node bandwidth is the total node bandwidth, and the bandwidth of the two network ports must be counted separately.

[0186] In statistical bond mode, the port bandwidth of multiple network ports corresponding to a node can be queried on the corresponding node based on the IP address. During the performance test, the port bandwidth on the node can be added for output and recorded in the test log file. It can also be queried separately. The specific method is not limited.

[0187] In a possible embodiment, when the port of the node is in bond mode, the method of generating an evaluation report may also include: determining the port throughput of the ports combined in the combination mode in the node based on the throughput of the node; and determining the port switch queue length of the ports combined in the combination mode in the node based on the switch queue length of the node.

[0188] Exemplarily, when the port of the node is in bond mode, Table 3 shows a schematic diagram of an evaluation report. As shown in Table 3, the RDMA transmission type is read, the message size is 512 bytes, and the QP number ranges from 1 to 256.

[0189] Table 3

[0190]

[0191] Among them, the above-mentioned specific statistical content can be the receiver or the sender. If only one party is needed to complete the evaluation of the receiver and the sender, only one party can be reflected in the evaluation report. If both the receiver and the sender need to be counted when evaluating a certain item, both need to be reflected in the evaluation report.

[0192] Port 1 and Port 2 represent the two network ports corresponding to the node. In Table 3, the unit of throughput is Gbps; the unit of queue is KB. The specific content is not repeated here.

[0193] Through the method in the embodiment of the present disclosure, the performance testing process of the congestion control algorithm can be implemented in a physical environment, that is, it can be understood as directly deploying the congestion control algorithm on real physical nodes and performing performance testing. Compared with the simulation process, or simply performing performance testing on the algorithm, etc., in a real physical environment, the performance testing method of the physical node is more realistic, and the results of the performance test are more credible than the results of other testing methods.

[0194] In addition, if there are virtual nodes, this method can also perform performance testing, just adding the virtual nodes to the test environment.

[0195] Furthermore, the method in the embodiment of the present disclosure can realize a comprehensive evaluation of the congestion control algorithm capability under different communication primitives, different congestion scales, and different message lengths. During the evaluation process, the operation and maintenance personnel only need to configure the configuration information to obtain complete flow test results, test log files and evaluation reports. The degree of automation is high, which improves the efficiency of performance testing of the congestion control algorithm, the efficiency of processing data, and the accuracy of evaluation and verification.

[0196] In one possible implementation, Figure 10 A flow chart showing a performance test method of another congestion control algorithm in an embodiment of the present disclosure is shown, which can be applied to nodes such as Figure 10 As shown, the following steps are included:

[0197] S1002: Receive a test command.

[0198] S1004: Perform a traffic test according to the test command, wherein congestion control is performed on the traffic process through the deployed congestion control algorithm.

[0199] In one possible implementation, Figure 11 An interactive diagram showing a performance test method of a congestion control algorithm in an embodiment of the present disclosure is shown. Figure 11 As shown, the following steps are included:

[0200] S1102: The performance test system obtains configuration information in response to a start instruction of the performance test. The configuration information includes at least configuration information of multiple nodes. The nodes include at least a sender and a receiver. A congestion control algorithm is deployed on each node.

[0201] S1104: The performance testing system sends a test command to multiple nodes according to the configuration information.

[0202] S1106: Multiple nodes perform a traffic flow test according to the test command, wherein congestion control is performed on the traffic flow process through the deployed congestion control algorithm.

[0203] S1108: The performance testing system obtains a traffic test result, which at least includes: a node bandwidth of each node.

[0204] Based on the same inventive concept, the following embodiments are provided. Since the principles of the following embodiments for solving the problems are similar to those of the above method embodiments, please refer to the implementation of the above method embodiments, and the repeated parts will not be repeated.

[0205] Figure 12 A schematic diagram of a performance test device for a congestion control algorithm according to an embodiment of the present disclosure is shown. Figure 12 As shown, the performance testing device 120 of the congestion control algorithm includes: a first acquisition unit 1201, which is used to obtain configuration information in response to a start indication of the performance test, where the configuration information at least includes: configuration information of multiple nodes, and the nodes at least include: a sender and a receiver, and each node deploys a congestion control algorithm; a sending unit 1202, which is used to send a test command to the multiple nodes according to the configuration information to perform a flow test; a second acquisition unit 1203, which is used to obtain a flow test result, where the flow test result at least includes: the node bandwidth of each node.

[0206] Figure 13 A schematic diagram of a performance test device for a congestion control algorithm according to an embodiment of the present disclosure is shown. Figure 13 As shown, the performance testing device 130 of the congestion control algorithm includes: a receiving unit 1301 for receiving a test command, and a testing unit 1302 for performing a flow test according to the test command, wherein congestion control is performed on the flow test process through the deployed congestion control algorithm.

[0207] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods, or program products. Therefore, various aspects of the present disclosure may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."

[0208] Refer to the following Figure 14 1400 according to this embodiment of the present disclosure will be described. Figure 14 The electronic device 1400 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0209] like Figure 14As shown, electronic device 1400 is implemented as a general-purpose computing device. Components of electronic device 1400 may include, but are not limited to, the aforementioned at least one processing unit 1410, the aforementioned at least one storage unit 1420, and a bus 1430 connecting various system components (including storage unit 1420 and processing unit 1410).

[0210] The storage unit stores program code, which can be executed by the processing unit 1410, so that the processing unit 1410 performs the steps described in the "Exemplary Method" section above according to various exemplary embodiments of the present disclosure. For example, the processing unit 1410 can perform the steps of any of the above method embodiments.

[0211] The storage unit 1420 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 14201 and / or a cache memory unit 14202 , and may further include a read-only memory unit (ROM) 14203 .

[0212] The storage unit 1420 may also include a program / utility 14204 having a set (at least one) of program modules 14205, such program modules 14205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0213] The bus 1430 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0214] Electronic device 1400 may also communicate with one or more external devices 1440 (e.g., a keyboard, pointing device, Bluetooth device, etc.), one or more devices that enable a user to interact with electronic device 1400, and / or any device that enables electronic device 1400 to communicate with one or more other computing devices (e.g., a router, modem, etc.). Such communication may occur via input / output (I / O) interface 1450. Furthermore, electronic device 1400 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via network adapter 1460. As shown, network adapter 1460 communicates with other modules of electronic device 1400 via bus 1430. It should be understood that, although not shown, other hardware and / or software modules may be used in conjunction with electronic device 1400, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0215] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0216] In particular, according to embodiments of the present disclosure, the processes described above with reference to the flowcharts may be implemented as a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods of the above embodiments.

[0217] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided. The computer-readable storage medium may be a readable signal medium or a readable storage medium. A program product capable of implementing the above-mentioned method of the present disclosure is stored thereon. In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is executed on a terminal device, the program code is used to cause the terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the "Exemplary Methods" section above of this specification.

[0218] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0219] In the present disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0220] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0221] In a specific implementation, the program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and the like, as well as conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0222] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0223] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0224] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.

[0225] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.

Claims

1. A performance testing method for a congestion control algorithm, characterized in that: The method comprises: In response to a start instruction of the performance test, configuration information is obtained; the configuration information includes at least configuration information of a plurality of nodes; the nodes include at least a sender and a receiver; the congestion control algorithm is deployed on each of the nodes; the nodes are physical hardware nodes in a physical environment; Sending a test command to the multiple nodes according to the configuration information, so that the multiple nodes perform a flow test; Obtaining a traffic test result; the traffic test result at least includes: a node bandwidth of each of the nodes; The sending of a test command to the plurality of nodes according to the configuration information to perform a flow test includes: According to the configuration information and the preset loop configuration, the test command is generated in each loop until the test commands generated by all the configurations in the loop configuration are sent; The cycle configuration includes at least one of the following: a first cycle configuration, a second cycle configuration, and a third cycle configuration; The first loop configuration is a transmission type for performing a flow test on each of the nodes; The second loop is configured to configure the number of queue pairs for each node to perform flow testing; The third loop configuration is to set the message length for each node to perform the flow test transmission.

2. The method according to claim 1, characterized in that The method further comprises: For any cycle, generating a current test command corresponding to the current cycle configuration according to the configuration information and the current cycle configuration; Sending the current test command to each of the nodes, so that each of the nodes performs a flow test according to the current test command; An end command is sent to each of the nodes, where the end command is used to indicate the end of the flow test of any one cycle.

3. The method according to claim 1, characterized in that The transmission type includes at least one of the following: write, send, and read.

4. The method according to claim 1, wherein When the loop configuration includes a first loop configuration, a second loop configuration, and a third loop configuration, and the first loop configuration is a first-level loop, the second loop configuration is a second-level loop, and the third loop configuration is a third-level loop, generating, according to the configuration information and the preset loop configuration, a test command to be sent to each tested node in each loop, includes: For any third-level cycle, generate a test command with the transmission type being the first transmission type, the number of queue pairs being the first, and the message length being the first size, and send the command to each of the nodes until the flow test of the current third-level cycle is completed, thereby completing one third-level cycle; For any second-level loop, traverse the preset message length, generate the test command with the transmission type being the first transmission type, the queue pairs being the first number, and the message length being different, and send the test command to each of the nodes in each loop respectively, until the preset message length is completed by each node after the flow test, thus completing a second-level loop; For any first-level loop, traverse the preset number of queue pairs and the preset message length, generate the test command with the transmission type being the first transmission type, with different numbers of queue pairs and different message lengths, and send them to each of the nodes in each loop respectively, until the preset number of queue pairs and the preset message length are completed by each node after the flow test is completed, thus completing a first-level loop; For the loop configuration, the pre-set transmission types are traversed to generate test commands with different transmission types, different numbers of queue pairs, and different message lengths, which are sent to each node in each loop until the pre-set message length is tested by each node and the loop configuration is completed.

5. The method according to claim 1, wherein The method further comprises: During the flow test, a command is sent to the plurality of nodes via the parallel secure shell protocol SSH; the command includes at least one of the following: a test command and an end command.

6. The method according to claim 1, wherein The method further comprises: The flow test result is written into the test log file.

7. The method according to claim 1, characterized in that The flow test result also includes at least: switch queue information between the sender and the receiver; The method further comprises: Get the start and end time of each flow test and determine the test time period; Read the switch queue information during the test period; The test result of each flow test is obtained until the flow test results corresponding to multiple flow tests are obtained.

8. The method according to claim 7, characterized in that The method further comprises: Determine whether the flow test result has been obtained according to the preset flow test number; If not, continue to obtain the test results of each flow test until the flow test result is obtained.

9. The method according to claim 8, characterized in that The method further comprises: The number of flow testing times is determined according to a preset cycle configuration.

10. The method according to claim 7, characterized in that The method further comprises: Get switch queue information through Simple Network Management Protocol (SNMP).

11. The method according to claim 2, characterized in that The method further comprises: Based on the flow test results and the loop configuration, an evaluation report is generated.

12. The method according to claim 11, characterized in that When the loop configuration includes a first loop configuration, a second loop configuration, and a third loop configuration, generating an evaluation report according to the flow test result and the type of the loop configuration includes: Multiple evaluation reports are generated using the first and third loop configurations as table headers and the total number of queue pairs of the second loop configuration as the column arrangement condition for each evaluation report.

13. The method according to claim 11, characterized in that The content of the evaluation report includes at least one of the following: throughput and fairness of the node, and switch queue length of the node.

14. The method according to claim 13, characterized in that Generating an evaluation report based on the flow test results includes: Determining the throughput of the node according to the node bandwidth of each node; Determine fairness based on the standard deviation of the sender's node bandwidth; Determine the switch queue length of the node according to the switch queue information.

15. The method according to claim 14, characterized in that If the node is in combination mode; The method further comprises: determining, according to the throughput of the node, the port throughput of the ports combined in the combination mode in the node; The port switch queue lengths of the ports combined in the combined mode in the node are determined according to the switch queue lengths of the node.

16. A performance testing method for a congestion control algorithm, characterized in that: The method comprises: Receiving a test command through a node; the node being a physical hardware node in a physical environment; wherein the node generates the test command in each cycle according to configuration information and a pre-set loop configuration until the test commands generated by all configurations in the loop configuration are sent; Performing a traffic flow test according to the test command; wherein congestion control is performed on the traffic flow process by using the deployed congestion control algorithm; The cycle configuration includes at least one of the following: a first cycle configuration, a second cycle configuration, and a third cycle configuration; The first loop configuration is a transmission type for performing a flow test on each of the nodes; The second loop is configured to configure the number of queue pairs for each node to perform flow testing; The third loop configuration is to set the message length for each node to perform the flow test transmission.

17. A performance testing device for a congestion control algorithm, characterized in that: include: A first acquiring unit, configured to acquire configuration information in response to a start instruction of a performance test; The configuration information includes at least: configuration information of multiple nodes; the nodes include at least: a sender and a receiver; each of the nodes deploys the congestion control algorithm; the nodes are physical hardware nodes in a physical environment; A sending unit, configured to send a test command to the plurality of nodes according to the configuration information to perform a flow test; The second acquiring unit is configured to acquire a traffic flow test result, wherein the traffic flow test result includes at least: a node bandwidth of each of the nodes; The sending unit is further configured to generate the test command in each cycle according to the configuration information and the preset loop configuration until the test commands generated by all configurations in the loop configuration are sent; The cycle configuration includes at least one of the following: a first cycle configuration, a second cycle configuration, and a third cycle configuration; The first loop configuration is a transmission type for performing a flow test on each of the nodes; The second loop is configured to configure the number of queue pairs for each node to perform flow testing; The third loop configuration is to set the message length for each node to perform the flow test transmission.

18. A performance testing device for a congestion control algorithm, characterized in that: include: a receiving unit configured to receive a test command through a node; the node being a physical hardware node in a physical environment; wherein the node generates the test command in each cycle according to the configuration information and a pre-set loop configuration until the test commands generated by all configurations in the loop configuration are sent; A testing unit, configured to perform a traffic flow test according to the test command; wherein congestion control is performed on the traffic flow test process by using the deployed congestion control algorithm; The cycle configuration includes at least one of the following: a first cycle configuration, a second cycle configuration, and a third cycle configuration; The first loop configuration is a transmission type for performing a flow test on each of the nodes; The second loop is configured to configure the number of queue pairs for each node to perform flow testing; The third loop configuration is to set the message length for each node to perform the flow test transmission.

19. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to perform the method according to any one of claims 1 to 16 by executing the executable instructions.

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

21. A computer program product comprising: A computer program or instruction, characterized in that when the computer program or instruction is executed by a processor, it implements the method according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Ethernet long network cable stream-hitting performance testing method and system

    CN107872365A

  • Methods, systems, and computer readable media for testing a system under test using congestion control monitoring

    US20240129220A1