How to Use the Command 'netperf' (with Examples)
Netperf is a robust network benchmarking tool designed to measure the performance of network connections. Much like its cousin ‘iperf’, it evaluates network throughput by conducting network tests between a client and server. The primary objective of netperf is to allow users to identify bottlenecks and assess the quality of their network infrastructure. With tools like netperf, network administrators and engineers can make informed decisions to enhance network performance.
Use Case 1: Connect to a Server on a Specific IP Address via Default Port
Code:
netperf 192.168.1.1
Motivation:
Connecting to a server at a specific IP address using the default port is a basic operation for gauging network performance. By using the default port (12865), this command facilitates a quick evaluation without needing additional configuration, making it ideal for preliminary testing or environments where default settings suffice.
Explanation:
netperf
: This calls the netperf command-line tool.192.168.1.1
: This designates the IP address of the server you wish to connect to. This should be the IP where the netserver is actively listening, allowing for the performance test to occur.
Example Output:
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 12865 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 95.67
Use Case 2: Specify a Port
Code:
netperf 192.168.1.1 -p 5678
Motivation:
In many cases, administrators may need to conduct performance tests on a network server using a non-standard port, possibly due to security policies, firewalls, or specific network architecture requirements. Specifying a port ensures that netperf connects to the desired network endpoint, which can be vital for isolated tests in complex network environments.
Explanation:
netperf
: The command to start netperf.192.168.1.1
: The IP address of the target server.-p 5678
: The-p
option specifies the desired port number (5678 in this instance) for the connection, overriding the default port 12865.
Example Output:
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 5678 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 84.21
Use Case 3: Specify the Sampling Length in Seconds
Code:
netperf 192.168.1.1 -l 30
Motivation:
Adjusting the duration of the network test is crucial for detailed performance assessments. While the default sampling length is 10 seconds, extending the duration to 30 seconds allows for more comprehensive data collection and analysis. This can be especially beneficial for identifying sporadic network issues that may not appear in shorter test increments.
Explanation:
netperf
: The command to execute netperf.192.168.1.1
: The server’s target IP address.-l 30
: The-l
option sets the test sampling length to 30 seconds, enabling a longer and possibly more thorough performance analysis.
Example Output:
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 12865 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 30.00 92.45
Use Case 4: Force IPv4 or IPv6
Code:
netperf 192.168.1.1 -4
Motivation:
In today’s networking climate, whether testing with IPv4 or IPv6 can significantly impact test results. Forcing IPv4 or IPv6 allows verification under specific protocol conditions and ensures the performance under the exact network setup that is being analyzed. This is key in diverse network environments supporting both protocols, facilitating targeted performance testing and troubleshooting.
Explanation:
netperf
: The netperf execution command.192.168.1.1
: IP address of the target server.-4
: This flag specifically forces the execution of the test over IPv4. Using-6
would compel the test over IPv6.
Example Output:
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 12865 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.00 90.78
Conclusion
Netperf is an invaluable tool for those who need to assess and benchmark network performance. The different use cases presented illustrate how flexible and adaptable netperf can be, allowing tests to be tailored to specific requirements and configurations. Whether conducting simple performance checks or comprehensive evaluations, netperf offers a powerful means to understand and improve network functionality.