Detailed Description
So that the manner in which the features and techniques of the disclosed embodiments can be understood in more detail, a more particular description of the embodiments of the disclosure, briefly summarized below, may be had by reference to the appended drawings, which are not intended to be limiting of the embodiments of the disclosure. In the following description of the technology, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the disclosed embodiments. However, one or more embodiments may still be practiced without these details. In other instances, well-known structures and devices may be shown simplified in order to simplify the drawing.
The terms first, second and the like in the description and in the claims of the embodiments of the disclosure and in the above-described figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate in order to describe embodiments of the present disclosure. Furthermore, the terms "comprise" and "have," as well as any variations thereof, are intended to cover a non-exclusive inclusion.
The term "plurality" means two or more, unless otherwise indicated.
In the embodiment of the present disclosure, the character "/" indicates that the front and rear objects are an or relationship. For example, A/B represents: a or B.
The term "and/or" is an associative relationship that describes an object, meaning that there may be three relationships. For example, a and/or B, represent: a or B, or, A and B.
As shown in conjunction with fig. 1, an embodiment of the present disclosure provides a method for determining ECN performance, comprising:
step S101, performing a first waterline test on a preset test cluster to obtain the waterline number of the test cluster; the preset test cluster is configured with an active congestion control algorithm;
step S102, performing a second waterline test according to the number of waterlines to obtain a waterline value;
and step S103, determining and displaying congestion notification ECN performance according to the waterline value.
By adopting the method for determining ECN performance provided by the embodiment of the disclosure, the number of waterlines of the test clusters is obtained by performing a first waterline test on the preset test clusters; the preset test cluster is configured with an active congestion control algorithm; performing a second waterline test according to the number of waterlines to obtain a waterline value; ECN performance is determined based on the watermark value. Thus, the ECN performance can be automatically determined, the user can conveniently adjust the active congestion control algorithm according to the ECN performance, the efficiency of adjusting the active congestion control algorithm is improved, and the capability of stable operation of the data center is improved.
Optionally, the test cluster includes a plurality of servers and a plurality of switches connected using a two-layer leaf-spine network topology.
In some embodiments, as shown in connection with FIG. 2, FIG. 2 is a schematic diagram of a test cluster; the test cluster includes two core switches: a first core switch 1 and a second core switch 2; four access switches: a first access switch 3, a second access switch 4, a third access switch 5 and a fourth access switch 6; the core switch is configured to adopt more than 32 ports of 100GE switches, and the access switch is configured to be a 48×25+8×100GE switch. The test cluster also comprises a plurality of servers, namely: a first server 7, a second server 8, a third server 9, a fourth server 10, a fifth server 11, a sixth server 12, a seventh server 13, an eighth server 14, and a ninth server 15; the configuration of each service is as follows: the memory of the server is 16X 32G 2933MHz DDR4 or 16X 32G2666MHz DDR4; the operating system is CentOS 7.6, the network card is 25GE ROCE network card. The core switches are connected with the access switches by adopting 100G bandwidth network links, and the access switches are connected with the servers by adopting 25G bandwidth network links. The computing nodes are servers as computing nodes in the test cluster, such as the fourth server 10, the fifth server 11, the sixth server 12, the seventh server 13, the eighth server 14, and the ninth server 15 in fig. 2. The storage nodes are servers serving as storage nodes in the test cluster, and as shown in fig. 2, the servers serving as storage nodes are a first server 7, a second server 8 and a third server 9.
In some embodiments, a distributed storage management system is installed on a test cluster and storage nodes are mounted to computing nodes, each virtual having a number of logical storage units. In the case that the number of the computing nodes is 6 and the number of the storage nodes is 3, each storage node virtually generates 6 logical storage units, and each computing node can mount 3 logical storage units. Before the test starts, the test clusters are ensured to be deployed according to a network topology architecture, and the distributed storage management system can be used for managing the test clusters, and meanwhile, the mounting of the logic storage units by the computing nodes is realized.
In some embodiments, before the first watermark test is performed on the preset test cluster, the method further includes: and configuring a preset active congestion control algorithm for a preset test cluster.
Optionally, performing a first watermark test on the preset test cluster includes: and constructing a plurality of test flow models in the test cluster, and obtaining the waterline number of the test cluster under each test flow model. In this way, the ECN may be static or dynamic, and the ECN of the test cluster is determined to be dynamic ECN or static ECN by acquiring the waterline number of the test cluster under each test flow model, so that the ECN performance test is only performed on the dynamic ECN, and the efficiency of the ECN performance test is improved.
In some embodiments, a first watermark test is performed on a preset test cluster under a RoCEv2 network.
Optionally, the test flow model is obtained by: and setting test parameters of the vddbench load generating software by using the vddbench load generating software, and generating a test flow model according to the test parameters.
In some embodiments, the test flow model A is generated by using the vddbench load generating software in the test cluster, and setting a first test parameter of the vddbench load generating software; the first test parameter is a read-write mode randrw=5:5, the IO size coverage is 8k-64k random, and the concurrency number is 64. Setting second test parameters of the vddbench load generating software by using the vddbench load generating software in the test cluster to generate a test flow model B; the second test parameter is read-write mode randrw=9:1, IO size is 256K, and concurrency number is 64.
In some embodiments, the number of watermark values that the test cluster has under the test traffic model is the number of watermarks.
Optionally, performing a second watermark test according to the number of the watermarks, including: comparing the number of the waterlines with the preset number of the waterlines to obtain a first comparison result; and performing a second waterline test on the test cluster according to the first comparison result. In this way, whether the second waterline test is performed on the test cluster or not is determined through the first comparison result, and the second waterline test is not performed on the ECN which is not dynamically adjusted, so that the efficiency of determining the performance of the ECN can be improved.
Optionally, performing a second watermark test on the test cluster according to the comparison result, including: if the first comparison result is that the number of water lines is not equal to the preset number of water lines, constructing an OLTP-DATA (On-Line Transaction Processing-DATA, online transaction) traffic model, an OLAP (On-Line Analytical Processing, online analysis processing) traffic model, a VDI (Virtual Desktop Infrastructure ) traffic model, a video publishing traffic model, an Internet traffic model and an Exchange Server switch traffic model in the test cluster; and respectively acquiring waterline values of the test clusters under an OLTP-DATA flow model, an OLAP flow model, a VDI flow model, a video release flow model, an Internet flow model and an Exchange Server flow model.
In some embodiments, the preset waterline number is 1, the waterline number a of the test flow model a is 2, and the waterline number B of the test flow model B is 4; comparing the waterline quantity A with the preset waterline quantity 1 to obtain a first comparison result, wherein the waterline quantity A is not equal to the preset waterline quantity; comparing the waterline quantity B with the preset waterline quantity 1 to obtain a first comparison result that the waterline quantity B is not equal to the preset waterline quantity; and each first comparison result is that the number of waterlines is not equal to the preset number of waterlines, and a second waterline test is carried out on the test cluster.
Optionally, performing a second watermark test on the test cluster according to the first comparison result, including: under the condition that the first comparison result is that the number of waterlines is larger than the preset number of waterlines, constructing an OLTP-DATA flow model, an OLAP flow model, a VDI flow model, a video release flow model, an Internet flow model and an Exchange Server flow model in the test cluster; and respectively acquiring waterline values of the test clusters under an OLTP-DATA flow model, an OLAP flow model, a VDI flow model, a video release flow model, an Internet flow model and an Exchange Server switch flow model. Thus, the waterline values under various flow models are obtained, the ECN performance is comprehensively evaluated according to the waterline values under different flow models, and the ECN performance can be more comprehensively evaluated.
In some embodiments, the OLTP-DATA traffic model is generated by setting OLTP-DATA traffic model parameters of the vddbench load generation software at the test cluster using the vddbench load generation software; the OLTP-DATA traffic model parameters are read-write mode randrw=5:5, IO size coverage 8k-64k random and concurrent number coverage 32 and 64. A plurality of first alternative waterline values of the test cluster under the OLTP-DATA traffic model are obtained, and an average value of the first alternative waterline values is determined as the waterline value of the OLTP-DATA traffic model.
In some embodiments, the OLAP traffic model parameters of the vddbench load generation software are set in the test cluster by using the vddbench load generation software, so as to generate an OLAP traffic model; the OLAP traffic model parameters are read-write mode randrw=9:1, IO size coverage random 256k-4M and concurrency number coverage 2, 4, and 8. And acquiring a plurality of second alternative waterline values of the test cluster under the OLAP flow model, and determining an average value of the second alternative waterline values as the waterline value of the OLAP flow model.
In some embodiments, VDI traffic model parameters of the vddbench load generation software are set in the test cluster by using the vddbench load generation software, and a VDI traffic model is generated; the VDI traffic model parameters are read-write mode randrw=2:8, IO size coverage 16K-64K random and concurrent number coverage 8, 16 and 32. And acquiring a plurality of third alternative waterline values of the test cluster under the VDI flow model, and determining an average value of the third alternative waterline values as the waterline value of the VDI flow model.
In some embodiments, the video release flow model parameters of the vddbench load generating software are set in the test cluster by utilizing the vddbench load generating software, and a video release flow model is generated; the video release flow model parameters are read-write mode randrw=2:8, IO size 64K fixed and concurrency number coverage 4, 8 and 16. And acquiring a plurality of fourth alternative waterline values of the test cluster under the video release flow model, and determining an average value of the fourth alternative waterline values as the waterline value under the video release flow model.
In some embodiments, the internet traffic model parameters of the vddbench load generating software are set in the test cluster by using the vddbench load generating software, so as to generate an internet traffic model; the parameters of the internet traffic model are read-write mode randrw=2:8 and randrw=4:6, and the random and concurrent number coverage of the IO size coverage 16K-64K is 16 and 32. And acquiring a plurality of fifth alternative waterline values of the test cluster under the internet traffic model, and determining an average value of the fifth alternative waterline values as the waterline value under the internet traffic model.
In some embodiments, the Exchange Server flow model parameters of the vddbench load generating software are set in the test cluster by using the vddbench load generating software, so as to generate an Exchange Server flow model; the Exchange Server flow model parameters are read-write mode randrw=6:4 and randrw=3:7, and IO size coverage 32K-512K random and concurrent number coverage is 8 and 16. And acquiring a plurality of sixth alternative waterline values of the test cluster under the Exchange Server flow model, and determining the average value of the sixth alternative waterline values as the waterline value under the Exchange Server flow model.
Optionally, determining ECN performance based on the watermark value includes: respectively acquiring weights corresponding to an OLTP-DATA flow model, an OLAP flow model, a VDI flow model, a video release flow model, an Internet flow model and an Exchange Server flow model; weighting each waterline value according to each weight to obtain ECN performance parameters; and determining ECN performance according to the ECN performance parameters.
Optionally, obtaining weights corresponding to the OLTP-DATA traffic model, the OLAP traffic model, the VDI traffic model, the video distribution traffic model, the internet traffic model, and the Exchange Server traffic model includes: respectively performing table lookup operation on the OLTP-DATA flow model, the OLAP flow model, the VDI flow model, the video release flow model, the Internet flow model and the Exchange Server flow model by using a preset weight database to obtain weights respectively corresponding to the OLTP-DATA flow model, the OLAP flow model, the VDI flow model, the video release flow model, the Internet flow model and the Exchange Server flow model; the weight database stores the corresponding relation between the OLTP-DATA flow model, the OLAP flow model, the VDI flow model, the video release flow model, the Internet flow model, the Exchange Server flow model and the weight.
In some embodiments, the weight of the OLTP-DATA traffic model is determined as a first weight, and the watermark value obtained under the OLTP-DATA traffic model by the test cluster is determined as a first watermark value; determining the weight of the OLAP flow model as a second weight, and determining the waterline value obtained by the test cluster under the OLAP flow model as a second waterline value; determining the weight of the VDI flow model as a third weight, and determining the waterline value obtained by the test cluster under the VDI flow model as a third waterline value; determining the weight of the video release flow model as a fourth weight, and determining the waterline value obtained by the test cluster under the video release flow model as a fourth waterline value; determining the weight of the internet traffic model as a fifth weight, and determining the waterline value obtained by the test cluster under the internet traffic model as a fifth waterline value; determining the weight of the Exchange Server flow model as a sixth weight, and determining the waterline value obtained by the test cluster under the Exchange Server flow model as a sixth waterline value; by calculating g=a 1 *b 1 +a 2 *b 2 +a 3 *b 3 +a 4 *b 4 +a 5 *b 5 +a 6 *b 6 Obtaining ECN performance parameters; wherein G is an ECN performance parameter; a, a 1 Is a first weight; a, a 2 Is a second weight; a, a 3 Is a third weight; a, a 4 Is a fourth weight; a, a 5 Is a fifth weight; a, a 6 Is a sixth weight; b 1 Is the first waterline value; b 2 Is the second waterline value; b 3 Is the third waterline value; b 4 Is a fourth waterline value; b 5 Is a fifth waterline value; b 6 Is the sixth waterline value; * Representing multiplication. Optionally, the first weight is 25%, the second weight is 25%, the third weight is 12.5%, the fourth weight is 12.5%, the fifth weight is 12.5%, and the sixth weightThe weight is 12.5%.
Optionally, determining ECN performance according to the ECN performance parameter includes: performing table lookup operation on ECN performance parameters by using a preset first ECN performance database to obtain ECN performance corresponding to the ECN performance parameters; the first ECN performance database stores the corresponding relation between ECN performance parameters and ECN performance.
Optionally, determining ECN performance according to the ECN performance parameter includes: comparing the ECN performance parameter with a preset parameter to obtain a second comparison result; and determining ECN performance according to the second comparison result.
Optionally, comparing the ECN performance parameter with the preset parameter includes: by calculating H 1 =(I 1 -I 2 )/I 2 *100% obtaining a second comparison result; wherein H is 1 Is the second comparison result; i 1 For ECN performance parameters, I 2 Is a preset parameter.
Optionally, determining ECN performance according to the second comparison result includes: performing table lookup operation on the second comparison result by using a preset second ECN performance database to obtain ECN performance corresponding to the second comparison result; the second ECN performance database stores the corresponding relation between the second comparison result and ECN performance.
In some embodiments, the larger the second comparison result, the better the ECN performance.
In some embodiments, when the second comparison is between 0% and 20%, then determining ECN performance as intelligent exploration level; determining ECN performance as intelligent practice level when the second comparison result is between 21% and 45%; and if the second comparison result is larger than 45%, determining that the ECN performance is the intelligent pioneer grade.
Optionally, after determining the ECN performance according to the waterline value, the method further includes: ECN performance is presented to the user. In this way, the ECN performance is displayed to the user, so that the user can intuitively acquire the ECN performance, and the active congestion control algorithm is adjusted according to the ECN performance.
In some embodiments, the watermark value is an ECN watermark value.
As shown in connection with fig. 3, an embodiment of the present disclosure provides another method for determining ECN performance, comprising:
step S301, performing a first waterline test on a preset test cluster to obtain the waterline number of the test cluster; the preset test cluster is configured with an active congestion control algorithm;
step S302, performing a second waterline test according to the number of waterlines to obtain a waterline value;
step S303, determining to display congestion notification ECN performance according to the watermark value.
And step S304, the ECN performance is displayed to the user.
By adopting the method for determining ECN performance provided by the embodiment of the disclosure, the number of waterlines of the test clusters is obtained by performing a first waterline test on the preset test clusters; the preset test cluster is configured with an active congestion control algorithm; performing a second waterline test according to the number of waterlines to obtain a waterline value; and determining ECN performance according to the waterline value, and displaying the ECN performance to a user. In this way, the ECN performance can be automatically determined, and the ECN performance is sent to the user, so that the user can conveniently adjust the active congestion control algorithm according to the ECN performance, the efficiency of adjusting the active congestion control algorithm is improved, and the capability of stable operation of the data center is improved.
Optionally, presenting ECN performance to the user, including: and pushing the ECN performance to a preset client.
Optionally, presenting ECN performance to the user, including: and sending the ECN performance to a preset display screen, and triggering the display screen to display the ECN performance.
As shown in conjunction with fig. 4, an embodiment of the present disclosure provides an apparatus for determining ECN performance, comprising: a first test module 401, a second test module 402, and a determination module 403; a first test module 401, configured to perform a first waterline test on a preset test cluster, and obtain the number of waterlines of the test cluster; the preset test cluster is configured with an active congestion control algorithm; a second test module 402, configured to perform a second watermark test according to the number of the watermarks, to obtain a watermark value; a determining module 403 configured to determine a display congestion notification ECN performance based on the watermark value.
By adopting the device for determining ECN performance provided by the embodiment of the disclosure, a first waterline test is performed on a preset test cluster through a first test module, and the waterline number of the test cluster is obtained; the preset test cluster is configured with an active congestion control algorithm; the second test module performs a second waterline test according to the number of waterlines to obtain a waterline value; the determining module determines ECN performance based on the watermark value. In this way, the ECN performance can be automatically determined, so that a user can conveniently adjust the ECN threshold according to the ECN performance, and the efficiency of adjusting the ECN threshold is improved, thereby enabling the data center network to run stably.
As shown in conjunction with fig. 5, an embodiment of the present disclosure provides an apparatus for determining lossless network performance, further comprising: and a presentation module 404 configured to present the ECN capabilities to the user.
The first test module 401 performs a first waterline test on a preset test cluster, acquires the waterline number of the test cluster, and sends the waterline number to the second test module; the second test module 402 performs a second waterline test according to the number of waterlines, obtains a waterline value, and sends the waterline value to the determination module; the determining module 403 determines to display congestion notification ECN performance according to the watermark value, and sends the ECN performance to the displaying module 404; the presentation module 404 presents the ECN capabilities to the user.
By adopting the device for determining ECN performance provided by the embodiment of the disclosure, a first waterline test is performed on a preset test cluster through a first test module, and the waterline number of the test cluster is obtained; the second test module performs a second waterline test according to the number of waterlines to obtain a waterline value; and the determining module determines ECN performance according to the waterline value, and the displaying module displays the ECN performance to a user. In this way, the ECN performance can be automatically determined, and the ECN performance is sent to the user, so that the user can conveniently adjust the active congestion control algorithm according to the ECN performance, the efficiency of adjusting the active congestion control algorithm is improved, and the capability of stable operation of the data center is improved.
As shown in connection with fig. 6, an embodiment of the present disclosure provides an electronic device including a processor 600 and a memory 601 storing program instructions. Optionally, the electronic device may also include a communication interface (Communication Interface) 602 and a bus 603. The processor 600, the communication interface 602, and the memory 601 may communicate with each other via the bus 603. The communication interface 602 may be used for information transfer. The processor 600 may call program instructions in the memory 601 to perform the method for determining ECN performance of the above-described embodiments.
Further, the program instructions in the memory 601 described above may be implemented in the form of software functional units and may be stored in a readable storage medium when sold or used as a separate product.
The memory 601 serves as a readable storage medium, and may be used to store a software program, an executable program, such as program instructions/modules corresponding to the methods in the embodiments of the present disclosure. The processor 600 executes functional applications and data processing by running program instructions/modules stored in the memory 601, i.e. implements the method for determining ECN performance in the above-described embodiments.
The memory 601 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for functions; the storage data area may store data created according to the use of the terminal device, etc. In addition, the memory 601 may include a high-speed random access memory, and may also include a nonvolatile memory.
Optionally, the electronic device comprises a computer or a server or the like.
By adopting the electronic equipment provided by the embodiment of the disclosure, the number of waterlines of the test clusters is obtained by carrying out a first waterline test on the preset test clusters; the preset test cluster is configured with an active congestion control algorithm; performing a second waterline test according to the number of waterlines to obtain a waterline value; ECN performance is determined based on the watermark value. Thus, the ECN performance can be automatically determined, the user can conveniently adjust the active congestion control algorithm according to the ECN performance, the efficiency of adjusting the active congestion control algorithm is improved, and the capability of stable operation of the data center is improved.
Embodiments of the present disclosure provide a storage medium storing executable instructions configured to perform the above-described method for determining ECN performance.
The disclosed embodiments provide a computer program product comprising a computer program stored on a computer readable storage medium, the computer program comprising program instructions which, when executed by a computer, cause the computer to perform the above-described method for determining ECN performance.
The readable storage medium may be a transitory readable storage medium or a non-transitory readable storage medium.
Embodiments of the present disclosure may be embodied in a software product stored on a storage medium, including one or more instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of a method according to embodiments of the present disclosure. And the aforementioned storage medium may be a non-transitory storage medium including: a plurality of media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or a transitory storage medium.
The above description and the drawings illustrate embodiments of the disclosure sufficiently to enable those skilled in the art to practice them. Other embodiments may involve structural, logical, electrical, process, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in, or substituted for, those of others. Moreover, the terminology used in the present application is for the purpose of describing embodiments only and is not intended to limit the claims. As used in the description of the embodiments and the claims, the singular forms "a," "an," and "the" (the) are intended to include the plural forms as well, unless the context clearly indicates otherwise. Similarly, the term "and/or" as used in this application is meant to encompass any and all possible combinations of one or more of the associated listed. Furthermore, when used in this application, the terms "comprises," "comprising," and/or "includes," and variations thereof, mean that the stated features, integers, steps, operations, elements, and/or components are present, but that the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof is not precluded. Without further limitation, an element defined by the phrase "comprising one …" does not exclude the presence of other like elements in a process, method or apparatus comprising such elements. In this context, each embodiment may be described with emphasis on the differences from the other embodiments, and the same similar parts between the various embodiments may be referred to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method sections disclosed in the embodiments, the description of the method sections may be referred to for relevance.
Those of skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. The skilled artisan may use different methods for each particular application to achieve the described functionality, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. It will be clearly understood by those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the embodiments disclosed herein, the disclosed methods, articles of manufacture (including but not limited to devices, apparatuses, etc.) may be practiced in other ways. For example, the apparatus embodiments described above are merely illustrative, and for example, the division of the units may be merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not performed. In addition, the coupling or direct coupling or communication connection shown or discussed with each other may be through some interface, device or unit indirect coupling or communication connection, which may be in electrical, mechanical or other form. The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to implement the present embodiment. In addition, each functional unit in the embodiments of the present disclosure may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. In the description corresponding to the flowcharts and block diagrams in the figures, operations or steps corresponding to different blocks may also occur in different orders than that disclosed in the description, and sometimes no specific order exists between different operations or steps. For example, two consecutive operations or steps may actually be performed substantially in parallel, they may sometimes be performed in reverse order, which may be dependent on the functions involved. Each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.