Server network card performance tuning method, device and system

Through a full-dimensional tuning method based on BIOS, system level and usage scenarios, combined with comprehensive performance testing, the problem of single server network card performance tuning in the existing technology and inability to adapt to new needs is solved, and the overall improvement and high network card performance is achieved. Load capacity.

CN118567733BActive Publication Date: 2024-12-24BEIJING TIANDI CHAOYUN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411036391.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-31
Publication Date
2024-12-24
Estimated Expiration
2044-07-31

AI Technical Summary

Technical Problem

The existing server network card performance tuning method is single, it is difficult to make full use of modern hardware performance characteristics, and it is unable to effectively adapt to new network application needs. Traditional testing methods ignore important performance indicators such as network latency and error rate.

Method used

Adopt a full-dimensional tuning method based on BIOS, system level and usage scenarios, combining comprehensive performance testing and re-tuning, including CPU power consumption management, memory timing adjustment, I/O device configuration optimization, core scheduling optimization, and network stack Parameter adjustment, advanced network driver settings, etc., use Iperf or custom scripts to perform network performance pressure measurement, and generate detailed tuning reports.

Benefits of technology

Improve server network card performance, adapt to new network application needs, improve the ability to deal with high load conditions, ensure network performance is optimal, and is suitable for enterprise-level data centers and cloud computing environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118567733B_ABST
    Figure CN118567733B_ABST
Patent Text Reader

Abstract

The present application provides a method, device and system for tuning the performance of a server network card, the method comprising: performing a first tuning process on the performance of the server network card based on a preliminary tuning strategy preset for the server BIOS; performing a second tuning process on the performance of the server network card based on a preset system-level tuning strategy; performing a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; running an integrated test suite to perform a comprehensive performance stress test on the server network card to determine the performance tuning effects of the aforementioned three tuning processes, and re-tuning when the performance tuning effect is not good. The present application can ensure the performance of the server's network card through multi-dimensional tuning processes based on BIOS, system level, and usage scenarios, as well as comprehensive performance testing and re-tuning processes, so that it can adapt to new network application requirements and enhance the server's ability to cope with high load conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer network technology, and in particular to a method, device and system for optimizing the performance of a server network card. Background Art

[0002] In data centers and cloud computing environments, the performance of server network connections is critical to the stability and performance of the overall system. As the key interface between the server and the network, the performance tuning of the server's network interface card (NIC) plays a critical role in improving network transmission efficiency, reducing latency, optimizing bandwidth utilization, and ensuring service quality.

[0003] However, when tuning the performance of a network card, the selection and execution of a test method is a complex issue. Existing test methods are often relatively simple, such as adjusting BIOS parameters or simply testing through scripts. This method is difficult to fully utilize the performance characteristics of modern hardware, and cannot adapt well to new network application requirements. Summary of the invention

[0004] The purpose of this application is to provide a method, device and system for tuning the performance of a server network card. Through multi-dimensional tuning processing based on BIOS, system level, and usage scenarios, as well as comprehensive performance testing and re-tuning processing, the performance of the server's network card can be guaranteed, so that it can adapt to new network application requirements and improve the server's ability to cope with high load conditions.

[0005] In a first aspect, the present application provides a server network card performance tuning method, the method comprising: performing a first tuning process on the server network card performance based on a preliminary tuning strategy of a preset server BIOS; wherein the preliminary tuning strategy comprises: setting a CPU power consumption management strategy, adjusting memory timing, and optimizing I / O device configuration; performing a second tuning process on the server network card performance based on a preset system-level tuning strategy; wherein the system-level tuning strategy comprises: core scheduling optimization, memory management, file system optimization, and network stack parameter adjustment; performing a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; wherein the third tuning process comprises: at least one of the following optimization methods in the advanced settings of the network driver: optimizing the interrupt handling mechanism, adjusting the cache size, adjusting the number of queues, and selecting the DMA transmission mode; running an integrated test suite to perform a comprehensive performance stress test on the server network card to determine the performance tuning effects of the aforementioned three tuning processes, and performing re-tuning when the performance tuning effect is not good.

[0006] Furthermore, the above network stack parameter adjustment includes but is not limited to: TCP window size and queue length settings; file system optimization includes: file access mode and cache strategy optimization; core scheduling optimization includes: process priority and CPU affinity settings. Memory timing adjustment includes: memory frequency and CAS delay time adjustment; I / O device configuration optimization includes: RAID controller settings and PCIe slot allocation optimization;

[0007] Furthermore, the step of running the integrated test suite to perform comprehensive performance stress testing on the server network card includes: using Iperf or a custom script to perform network performance stress testing; simulating the corresponding network load through relevant test tools to evaluate the performance tuning effects of the above three tuning processes.

[0008] Furthermore, the above-mentioned step of running the integrated test suite to perform a comprehensive performance stress test on the server network card also includes: simulating a real network environment during the test of the comprehensive performance stress test and recording stress test data; performing data analysis based on the stress test data to generate a detailed tuning report; the detailed tuning report includes: performance comparison before and after tuning, performance bottleneck analysis and optimization suggestions.

[0009] Furthermore, the step of determining the performance tuning effects of the above three tuning processes includes:

[0010] Obtain a performance bandwidth test value of the network card; determine whether a difference between the performance bandwidth test value and the performance bandwidth specification value of the network card is less than a preset threshold; if not, determine that the performance tuning effects of the above three tuning processes are not good.

[0011] Furthermore, the above-mentioned re-tuning step includes: adjusting network stack parameters and network card parameters.

[0012] Furthermore, the above-mentioned server network card performance tuning method is suitable for enterprise-level data centers and cloud computing environments. It can perform hardware performance tuning on a variety of server models and build test scenarios with different load modes to ensure that network performance can reach the optimal state; the test scenarios with different load modes include: database query request test scenarios, video streaming test scenarios, and file download test scenarios.

[0013] In the second aspect, the present application also provides a server network card performance tuning device, the device comprising: a first tuning module, used to perform a first tuning process on the server network card performance based on a preliminary tuning strategy of a preset server BIOS; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, and I / O device configuration optimization; a second tuning module, used to perform a second tuning process on the server network card performance based on a preset system-level tuning strategy; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization, and network stack parameter adjustment; a third tuning module, used to perform a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt handling mechanism optimization, cache size adjustment, queue number adjustment, DMA transmission mode selection; a stress testing module, used to run an integrated test suite to perform a comprehensive performance stress test on the server network card to determine the tuning effects of the aforementioned three tuning processes, and perform re-tuning when the performance tuning effect is not good.

[0014] In a third aspect, the present application also provides a server network card performance tuning system, characterized in that it includes a server and a network card configured on the server; the server is used to execute the method described in the first aspect.

[0015] In a fourth aspect, the present application further provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the method described in the first aspect above.

[0016] In the server network card performance tuning method, device and system provided by the present application, first, based on the preliminary tuning strategy of the preset server BIOS, the server network card performance is subjected to a first tuning process; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, and I / O device configuration optimization; then, based on the preset system-level tuning strategy, the server network card performance is subjected to a second tuning process; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization, and network stack parameter adjustment; then, according to the specifications and usage scenarios of the server network card, the network card parameters are subjected to a third tuning process; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt handling mechanism optimization, cache size adjustment, queue number adjustment, and DMA transmission mode selection; finally, the integrated test suite is run to perform a comprehensive performance stress test on the server network card to determine the performance tuning effects of the aforementioned three tuning processes, and perform re-tuning when the performance tuning effect is not good. In this way, through multi-dimensional tuning based on BIOS, system level, and usage scenarios, as well as comprehensive performance testing and re-tuning, the server's network card performance can be guaranteed, adapted to new network application requirements, and the server's ability to cope with high load conditions can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] In order to more clearly illustrate the specific implementation methods of the present application or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0018] Figure 1 A flow chart of a server network card performance tuning method provided in an embodiment of the present application;

[0019] Figure 2 A schematic diagram of BIOS tuning provided in an embodiment of the present application;

[0020] Figure 3 A schematic diagram of system-level tuning provided in an embodiment of the present application;

[0021] Figure 4 A schematic diagram of network card parameter tuning provided in an embodiment of the present application;

[0022] Figure 5 A structural block diagram of a server network card performance tuning device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0023] The technical solution of the present application will be described clearly and completely below in conjunction with the embodiments. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.

[0024] Existing server network card performance tuning methods often fail to comprehensively evaluate the relationship between network card performance and server configuration, making it difficult to provide direct and effective guidance for tuning. In addition, traditional performance testing often focuses on a single performance indicator, such as bandwidth, throughput, etc., while ignoring other important performance indicators such as network latency, error rate, and resource consumption. The network card performance testing tools and methods available on the market are mainly aimed at performance testing in ordinary scenarios, and do not target specific needs in the tuning process. With the continuous updating and upgrading of hardware configurations and the continuous changes in network application scenarios, existing testing methods are difficult to fully utilize the performance characteristics of modern hardware, and cannot adapt well to new network application requirements.

[0025] Based on this, the embodiment of the present application provides a server network card performance tuning method, device and system, which can ensure the performance of the server network card through multi-dimensional tuning based on BIOS, system level, and usage scenarios, as well as comprehensive performance testing and re-tuning, so as to adapt it to new network application requirements and improve the server's ability to cope with high load conditions. To facilitate understanding of this embodiment, a server network card performance tuning method disclosed in the embodiment of the present application is first introduced in detail.

[0026] Figure 1 A flow chart of a server network card performance tuning method provided in an embodiment of the present application, the method specifically comprises the following steps:

[0027] Step S102, based on the preset preliminary tuning strategy of the server BIOS, a first tuning process is performed on the server network card performance; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, and I / O device configuration optimization;

[0028] In this embodiment, the above-mentioned memory timing adjustment includes: adjustment of memory frequency and CAS delay time; I / O device configuration optimization includes: RAID controller setting and PCIe slot allocation optimization; the above-mentioned multiple tuning strategies can improve the performance of the network card to adapt to the server performance optimization in a high-load network environment.

[0029] Step S104, based on a preset system-level tuning strategy, performing a second tuning process on the server network card performance; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization and network stack parameter adjustment;

[0030] The above network stack parameter adjustments include but are not limited to: TCP window size and queue length settings; file system optimization includes: file access mode and cache strategy optimization; core scheduling optimization includes: process priority and CPU affinity settings.

[0031] Step S106, performing a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt handling mechanism optimization, cache size adjustment, queue number adjustment, DMA transmission mode selection;

[0032] Step S108, running the integrated test suite to perform a comprehensive performance stress test on the server network card to determine the performance tuning effects of the above three tuning processes, and re-tuning when the performance tuning effect is not good.

[0033] In this embodiment, Iperf or a custom script is used to perform network performance stress testing; the corresponding network load is simulated by relevant test tools to evaluate the performance tuning effects of the above three tuning processes. During the comprehensive performance stress testing process, the real network environment is simulated and the stress testing data is recorded; data analysis is performed based on the stress testing data to generate a detailed tuning report; the detailed tuning report includes: performance comparison before and after tuning, performance bottleneck analysis, and optimization suggestions.

[0034] The specific evaluation method is as follows: obtain the performance bandwidth test value of the network card; determine whether the difference between the performance bandwidth test value and the performance bandwidth specification value of the network card is less than a preset threshold; if not, determine that the performance tuning effect of the above three tuning processes is not good, and adjust the network stack parameters and network card parameters to achieve re-tuning. The parameter adjustment here can be reduced or increased according to the actual situation.

[0035] The server network card performance tuning method provided in the embodiment of the present application can cope with a large number of dynamic network requests during server operation and maintain efficient and stable data processing performance; it is suitable for enterprise-level data centers and cloud computing environments, and can perform hardware performance tuning and build test scenarios with different load modes for a variety of server models to ensure that network performance can reach the optimal state; the test scenarios with different load modes include: database query request test scenario, video streaming test scenario, and file download test scenario. Through multi-dimensional tuning based on BIOS, system level, and usage scenarios, as well as comprehensive performance testing and re-tuning, the server's network card performance can be guaranteed to adapt to new network application requirements and enhance the server's ability to cope with high load conditions.

[0036] In the operation and maintenance and performance optimization of the server, network card performance tuning is a key link to ensure the efficiency and stability of network communication. The embodiment of the present application provides a server network card performance tuning method, which effectively solves the shortcomings of traditional network card performance tuning tests. The following is a detailed description of the tuning process of various aspects:

[0037] 1. Server BIOS performance tuning:

[0038] By optimizing the performance of the server BIOS, the potential of the server hardware can be fully utilized to improve the efficiency of the use of resources such as the processor and memory. This embodiment selects appropriate BIOS settings, including but not limited to CPU power management, memory timing adjustment, and I / O device configuration, to ensure that the server achieves optimal performance under high load conditions.

[0039] First, determine the initial tuning strategy for the server BIOS based on the server's hardware characteristics. The tuning work involves setting the CPU power management strategy, such as selecting the performance mode; adjusting the memory timing, including memory frequency and CAS latency; and optimizing the I / O device configuration. Before tuning, the current BIOS configuration should be backed up in case of emergency.

[0040] The specific BIOS setting process is as follows Figure 2 As shown:

[0041] 1.1. Make sure CPU Performance mode is enabled:

[0042] In the BIOS, under CPU Power Management or similar options, disable all power saving options, such as Intel SpeedStep, C-States, Turbo Boost;

[0043] 1.2. Memory timing adjustment: memory frequency and CAS latency:

[0044] In BIOS, DRAM Configuration or similar options, set the memory frequency to the maximum supported frequency (such as 3200MHz). This is determined by the memory parameter frequency and hardware support; adjust timing parameters such as CAS latency (CL) to lower values ​​to improve performance. The typical timing setting is CL-tRCD-tRP-tRAS (such as 16-18-18-38), and adjust according to the configured memory specifications.

[0045] 1.3.I / O device configuration optimization:

[0046] PCI-E Settings In the BIOS, set PCI-E Configuration to Gen3 or Gen4 (depending on your hardware support) to ensure that the network card PCIE speed meets the specification parameters.

[0047] 1.4. Based on performance requirements and hardware support, try adjusting the following settings of network function parameters:

[0048] 1.4.1. Interrupt settings: disable interrupt sharing or enable MSI-X.

[0049] 1.4.2.SR-IOV: Enable SR-IOV if the network card supports it.

[0050] 1.4.3.Jumbo frame: Enable the Jumbo frame function when the server requires it.

[0051] 1.4.4.TCP / IP Offload Engine: Enable the TCP / IP Offload Engine if the network card supports it.

[0052] 2. System level tuning:

[0053] Optimize the server's operating environment and improve overall performance through operating system configuration and management tools, including core scheduling optimization, memory management, file system adjustment and network stack configuration. By implementing a series of system optimization measures, the system's response speed and processing capabilities can be improved.

[0054] Use Linux's sysctl tool to perform detailed configuration at the operating system level, including but not limited to network stack parameter adjustment (such as TCP window size, queue length setting), file system optimization (such as file access mode, cache strategy) and core scheduling optimization (such as process priority, CPU affinity setting). Figure 3 As shown:

[0055] 2.1. Network stack parameter adjustment:

[0056] 2.1.1.TCP Window Size

[0057] Adjust parameters such as / proc / sys / net / ipv4 / tcp_window_scaling, / proc / sys / net / ipv4 / tcp_rmem, tcp_wmem, etc.:

[0058] echo 1> / proc / sys / net / ipv4 / tcp_window_scaling;

[0059] echo "4096 87380 6291456"> / proc / sys / net / ipv4 / tcp_rmem;

[0060] echo "4096 16384 4194304"> / proc / sys / net / ipv4 / tcp_wmem.

[0061] 2.1.2. Queue length setting:

[0062] Adjust parameters such as / proc / sys / net / core / somaxconn, / proc / sys / net / ipv4 / tcp_max_syn_backlog, etc.:

[0063] echo 1024> / proc / sys / net / core / somaxconn;

[0064] echo 2048> / proc / sys / net / ipv4 / tcp_max_syn_backlog.

[0065] 2.2. File system optimization:

[0066] 2.2.1. File access mode:

[0067] Use flags such as O_DIRECT and O_SYNC to directly operate files to avoid buffer interference.

[0068] int fd = open("file.txt", O_RDWR | O_DIRECT);

[0069] 2.2.2. Cache strategy:

[0070] Adjust / proc / sys / vm / dirty_ratio and / proc / sys / vm / dirty_background_ratio:

[0071] echo 10> / proc / sys / vm / dirty_ratio;

[0072] echo 5> / proc / sys / vm / dirty_background_ratio.

[0073] 2.2.3. File system mount options:

[0074] Use mount options such as noatime, nodiratime, etc., such as mount -o noatime,nodiratime / dev / sda1 / mnt.

[0075] 2.3.Core scheduling optimization:

[0076] 2.3.1. Process priority:

[0077] Use the nice or renice command to adjust the priority of the process, such as: nice -n -10 . / my_program and renice -n -5 -p 1234.

[0078] 2.3.2.CPU affinity settings:

[0079] Use the taskset command to bind a process to a specific CPU as follows:

[0080] taskset -c 0,1,2,3,4,5,6,7 . / my_program , where my_program is the test script.

[0081] 3. Network card parameter tuning:

[0082] This step mainly makes detailed adjustments to the physical layer, data link layer, and network layer of the network card, such as adjusting the interrupt frequency, cache size, number of queues, DMA transmission, etc., to balance network throughput and latency, improve the network card processing capability, and reduce packet loss and error rate.

[0083] Adjust the network card parameters according to the specifications and usage scenarios of the network card. This includes advanced settings of the network driver, such as optimization of the interrupt handling mechanism, adjustment of the cache size and number of queues, and selection of the DMA transfer mode. When tuning, the network load characteristics must be considered to ensure that the tuned parameters can achieve the best balance between network throughput and latency, such as Figure 4 As shown:

[0084] 3.1. Optimization of interrupt handling mechanism:

[0085] 3.1.1. Interrupt Throttling:

[0086] Reducing the interrupt frequency can reduce CPU load but may increase latency.

[0087] Use the ethtool command to adjust the network card interrupt tuning parameters:

[0088] ethtool -C eth0 adaptive-rx off adaptive-tx off rx-usecs 250 tx-usecs250.

[0089] 3.1.2. Multiqueue Interrupts:

[0090] Multi-queue support can distribute interrupt load and improve multi-core processing capabilities.

[0091] Enable and configure RSS (Receive-Side Scaling), for example: ethtool -L eth0 combined 8.

[0092] 3.2. Cache size adjustment:

[0093] 3.2.1. Adjust the ring buffer size:

[0094] Use ethtool to adjust the receive and send ring buffer sizes (Ring Buffer Size), such as: ethtool-G eth0 rx 4096 tx 4096.

[0095] 3.2.2. Kernel parameter adjustment:

[0096] Configure kernel parameters to improve network buffer performance as follows:

[0097] sysctl -w net.core.rmem_max=16777216;

[0098] sysctl -w net.core.wmem_max=16777216;

[0099] sysctl -w net.core.rmem_default=8388608;

[0100] sysctl -w net.core.wmem_default=8388608.

[0101] 3.3. Queue number adjustment:

[0102] Number of receive and transmit queues: Adjust the number of receive (RX) and transmit (TX) queues according to the network card and system load, such as: ethtool -L eth0 rx 8 tx 8.

[0103] 3.4.DMA transfer mode selection:

[0104] 3.4.1. Adjust DMA mode:

[0105] DMA (Direct Memory Access) mode can reduce CPU burden and improve data transmission efficiency. Configure the DMA transmission mode, for example, set it to scatter-gather mode, such as ethtool -K eth0 sg on.

[0106] 3.4.2. Optimize memory access:

[0107] Adjust the memory allocation strategy and bind memory to optimize DMA performance as follows:

[0108] sysctl -w vm.dirty_ratio=15;

[0109] sysctl -w vm.dirty_background_ratio=5.

[0110] 4. Comprehensive performance stress test:

[0111] This embodiment uses an integrated test suite to perform performance stress testing on the network card in a simulated real network environment, and the results are closer to the performance of the server in actual work.

[0112] Run the integrated test suite, such as using Iperf or custom scripts to perform network performance stress testing. During the test, simulate the real network environment, such as multi-threaded requests, large-volume data transmission, and different packet sizes. Record the stress test data, including key indicators such as throughput, latency, jitter, and packet loss rate. The script is as follows:

[0113] #! / bin / bash

[0114] # Set test parameters

[0115] server_ip="10.0.0.1"

[0116] port="5001"

[0117] duration="60"# Test duration, in seconds

[0118] num_threads="4"# Number of concurrent connections

[0119] packet_sizes=("64" "512" "1500")# Different packet sizes

[0120] output_file="network_performance_results.txt"

[0121] # Execute multi-threaded request test

[0122] echo "Running multi-threaded requests test..."[ ]

[0123] echo "Test: Multi-threaded requests">>$output_file

[0124] iperf3 -c $server_ip -p $port -P $num_threads -t $duration>>$output_file

[0125] # Perform a large-volume data transmission test

[0126] echo "Running high throughput test..."

[0127] echo "Test: High throughput">>$output_file

[0128] iperf3 -c $server_ip -p $port -P $num_threads -t $duration -w 1M>>$output_file

[0129] # Perform tests with different packet sizes

[0130] echo "Running different packet size test..."

[0131] echo "Test: Different packet sizes">>$output_file

[0132] for size in "${packet_sizes[@]}"; do

[0133] echo "Packet size: $size bytes">>$output_file

[0134] iperf3 -c $server_ip -p $port -P $num_threads -t $duration -l ${size}K>>$output_file

[0135] done

[0136] echo "Tests completed. Results saved in $output_file."

[0137] Generate a detailed tuning report based on the stress test results and server operation logs. The report should include performance comparison before and after tuning, performance bottleneck analysis, and possible further optimization suggestions. Fine-tune the network card parameters based on the report results until the best performance is achieved.

[0138] The method provided in the embodiment of the present application has the beneficial effect that the server, after being carefully tuned through the above steps, can cope with a large number of dynamic network requests and maintain efficient and stable data processing performance. In the actual application of data centers or cloud computing platforms, the ability of servers to respond to high concurrency situations is significantly improved. The tuning test method combines the characteristics of hardware properties, system settings, and network environment to comprehensively improve the performance of the network card and ensure the accuracy and practicality of the tuning results.

[0139] The technical solution provided in this embodiment includes the following steps: first, based on the hardware characteristics of the server, determine the preliminary strategy of BIOS tuning; second, use professional tools to perform detailed configuration at the operating system level; third, adjust the network card parameters according to the specifications and usage scenarios of the network card; finally, run the integrated test suite to generate a tuning report. Compared with the prior art, it ensures that the network card performance test is more scientific and effective. Not only can it optimize server performance in multiple dimensions, but it can also perform personalized tuning for different usage scenarios. After being tuned by the method of this invention, the server can maintain an efficient steady state when processing a large number of network requests, significantly improving the server's ability to cope with high concurrency, which is of great significance for the construction of high-performance network services such as enterprise data centers and cloud computing platforms. This embodiment not only proposes a new network card performance tuning test method, but also ensures the accuracy and practicality of the tuning results through a series of in-depth tests and analyses, and has high application value and broad promotion prospects.

[0140] The embodiment of the present application provides a method for tuning the performance of a server network card, which belongs to the field of computer network technology and aims to solve the complex problems of network card performance tuning in data centers and cloud computing environments. The method combines hardware configuration, operating system settings and network environment characteristics to achieve comprehensive optimization of network card performance. Specifically including: system-level optimization, such as adjustment of network stack parameters and file systems; BIOS setting adjustment, including CPU power management, memory timing and I / O device configuration; network parameter configuration, combined with network card specifications and usage scenarios; and comprehensive performance stress testing, simulating real environments and recording key performance indicators. Through these steps, a tuning plan suitable for high-concurrency network environments is formulated for different server models and load modes, significantly improving the server's ability to cope with high-load situations.

[0141] Based on the above method embodiment, the present application embodiment also provides a server network card performance tuning device, see Figure 5 As shown, the device includes: a first tuning module 52, which is used to perform a first tuning process on the server network card performance based on a preset preliminary tuning strategy of the server BIOS; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, and I / O device configuration optimization; a second tuning module 54, which is used to perform a second tuning process on the server network card performance based on a preset system-level tuning strategy; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization, and network stack parameter adjustment; a third tuning module 56, which is used to perform a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt handling mechanism optimization, cache size adjustment, queue number adjustment, and DMA transmission mode selection; a stress testing module 58, which is used to run an integrated test suite to perform a comprehensive performance stress test on the server network card to determine the tuning effects of the above three tuning processes, and perform re-tuning when the performance tuning effect is not good.

[0142] Furthermore, the above network stack parameter adjustment includes but is not limited to: TCP window size and queue length settings; file system optimization includes: file access mode and cache strategy optimization; core scheduling optimization includes: process priority and CPU affinity settings. Memory timing adjustment includes: memory frequency and CAS delay time adjustment; I / O device configuration optimization includes: RAID controller settings and PCIe slot allocation optimization;

[0143] Furthermore, the stress testing module 58 is used to perform network performance stress testing using Iperf or a custom script; and to simulate the corresponding network load through relevant test tools to evaluate the performance tuning effects of the above three tuning processes.

[0144] Furthermore, the stress testing module 58 is used to simulate the real network environment and record stress testing data during the comprehensive performance stress testing process; perform data analysis based on the stress testing data and generate a detailed tuning report; the detailed tuning report includes: performance comparison before and after tuning, performance bottleneck analysis and optimization suggestions.

[0145] Furthermore, the stress testing module 58 is used to obtain a performance bandwidth test value of the network card; determine whether the difference between the performance bandwidth test value and the performance bandwidth specification value of the network card is less than a preset threshold; if not, determine that the performance tuning effects of the above three tuning processes are not good.

[0146] Furthermore, the stress testing module 58 is used to adjust network stack parameters and network card parameters.

[0147] Furthermore, the above-mentioned server network card performance tuning method is suitable for enterprise-level data centers and cloud computing environments. It can perform hardware performance tuning on a variety of server models and build test scenarios with different load modes to ensure that network performance can reach the optimal state; the test scenarios with different load modes include: database query request test scenarios, video streaming test scenarios, and file download test scenarios.

[0148] The device provided in the embodiment of the present application has the same implementation principle and technical effects as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the embodiment of the device, reference may be made to the corresponding contents in the aforementioned method embodiment.

[0149] Based on the above method embodiments, the present application also provides a server network card performance tuning system, which includes a server and a network card configured on the server; the server is used to execute the method described in the previous embodiment.

[0150] The system provided in the embodiment of the present application has the same implementation principle and technical effects as those of the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the embodiment of the system, reference may be made to the corresponding contents in the aforementioned method embodiment.

[0151] An embodiment of the present application also provides a computer-readable storage medium, which stores computer-executable instructions. When the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the above method. The specific implementation can be found in the aforementioned method embodiment, which will not be repeated here.

[0152] The computer program products of the methods, devices, and electronic devices provided in the embodiments of the present application include a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the methods described in the previous method embodiments. The specific implementation can be found in the method embodiments, which will not be repeated here.

[0153] Unless otherwise specifically stated, the relative steps, numerical expressions and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present application.

[0154] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program codes.

[0155] In the description of the present application, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicating the orientation or positional relationship, are based on the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as limiting the present application. In addition, the terms "first", "second", and "third" are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance.

[0156] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-described embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-described embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims

1. A method for optimizing server network card performance, characterized in that: The method comprises: Based on the preset server BIOS preliminary tuning strategy, the server network card performance is first tuned; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, I / O device configuration optimization; the memory timing adjustment includes: memory frequency and CAS delay time adjustment; the I / O device configuration optimization includes: RAID controller setting and PCIe slot allocation optimization; Based on the preset system-level tuning strategy, the server network card performance is subjected to a second tuning process; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization and network stack parameter adjustment; the network stack parameter adjustment includes: TCP window size and queue length setting; the file system optimization includes: file access mode and cache strategy optimization; the core scheduling optimization includes: process priority and CPU affinity setting; According to the specifications and usage scenarios of the server network card, the network card parameters are subjected to a third tuning process; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt handling mechanism optimization, cache size adjustment, queue number adjustment, DMA transmission mode selection; the interrupt handling mechanism optimization includes: network card interrupt tuning and multi-queue interrupt tuning; the cache size adjustment includes: ring buffer size adjustment and kernel parameter adjustment; the queue number adjustment includes: adjustment of the number of receiving and sending queues; the DMA transmission mode selection includes: adjusting the DMA mode and optimizing memory access; Run the integrated test suite to perform comprehensive performance stress testing on the server network card to determine the performance tuning effects of the above three tuning processes, and perform further tuning if the performance tuning effect is not good.

2. The method according to claim 1, characterized in that The steps to run the integrated test suite to perform comprehensive performance stress testing on the server network card include: Use Iperf or custom scripts to perform network performance stress testing; use relevant test tools to simulate the corresponding network load to evaluate the performance tuning effects of the above three tuning processes.

3. The method according to claim 1, characterized in that The steps of running the integrated test suite to perform comprehensive performance stress testing on the server network card also include: During the comprehensive performance stress test, simulate the real network environment and record the stress test data; Perform data analysis based on stress test data and generate a detailed tuning report; the detailed tuning report includes: performance comparison before and after tuning, performance bottleneck analysis, and optimization suggestions.

4. The method according to claim 1, characterized in that: The steps for determining the performance tuning effects of the above three tuning processes include: Get the performance bandwidth test value of the network card; Determine whether the difference between the performance bandwidth test value and the performance bandwidth specification value of the network card is less than a preset threshold; If not, it is determined that the performance tuning effects of the above three tuning processes are not good.

5. The method according to claim 1, characterized in that The steps for re-tuning include: Adjust the network stack parameters and network card parameters.

6. A server network card performance tuning device, characterized in that: The device comprises: A first tuning module is used to perform a first tuning process on the server network card performance based on a preset server BIOS preliminary tuning strategy; wherein the preliminary tuning strategy includes: CPU power consumption management strategy setting, memory timing adjustment, and I / O device configuration optimization; the memory timing adjustment includes: adjustment of memory frequency and CAS delay time; the I / O device configuration optimization includes: RAID controller setting and PCIe slot allocation optimization; The second tuning module is used to perform a second tuning process on the server network card performance based on a preset system-level tuning strategy; wherein the system-level tuning strategy includes: core scheduling optimization, memory management, file system optimization and network stack parameter adjustment; the network stack parameter adjustment includes: TCP window size and queue length setting; the file system optimization includes: file access mode and cache strategy optimization; the core scheduling optimization includes: process priority and CPU affinity setting; The third tuning module is used to perform a third tuning process on the network card parameters according to the specifications and usage scenarios of the server network card; wherein the third tuning process includes: at least one of the following optimization methods in the advanced settings of the network driver: interrupt processing mechanism optimization, cache size adjustment, queue number adjustment, DMA transmission mode selection; the interrupt processing mechanism optimization includes: network card interrupt tuning and multi-queue interrupt tuning; the cache size adjustment includes: ring buffer size adjustment and kernel parameter adjustment; the queue number adjustment includes: adjustment of the number of receiving and sending queues; the DMA transmission mode selection includes: adjusting the DMA mode and optimizing memory access; The stress testing module is used to run the integrated test suite to perform comprehensive performance stress testing on the server network card to determine the tuning effects of the above three tuning processes, and to perform re-tuning when the performance tuning effect is not good.

7. A server network card performance tuning system, characterized in that: It comprises a server and a network card configured on the server; the server is used to execute the method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are called and executed by a processor, the computer-executable instructions prompt the processor to implement the method according to any one of claims 1 to 5.