Download netperf packages for Arch Linux, CentOS, Debian, Fedora, FreeBSD, Mageia, NetBSD, OpenMandriva, openSUSE, ROSA, Slackware, Ubuntu.
Name
netperf - a network performance benchmark
Synopsis
netperf [global options] -- [test specific options]
Description
Netperf is a benchmark that can be used to measure various aspects of networkingperformance. Currently, its focus is on bulk data transfer and request/response performance using either TCP or UDP, and the Berkeley Sockets interface. Inaddition, tests for DLPI, and Unix Domain Sockets, tests for IPv6 may be conditionally compiled-in.Global Options
- -N
- This option will tell netperf to not establish a control connection to a remote netserver. Instead it will try to establish a data connection directly,using only the information supplied by the command line parameters and/or internal defaults. Unless other ports are provided by the command line, by defaultthe data connection will be to the 'discard' port for a 'STREAM' or 'SENDFILE' test, the 'echo' port for an 'RR' test or the 'chargen' port for a 'MAERTS'test.
- -o sizespec
- Set an offset from the alignment specified with -a.
- -O sizespec
- As -o, but for the remote system.
- -p portnum,locport (*)
- Direct the control connection to a netserver listening on the specified port, rather than using a 'netperf' entry in /etc/services or the internal default(port 12865). If ',locport' is specified the control connection will be established from that local port number. Specifying a single port number with no commawill specify only the remote netserver port number and will leave local port number selection to the stack.
- -P 0|1
- Show (1) or suppress (0) the test banner.
- -S
- This option will cause an attempt to set SO_KEEPALIVE on the ends of the data connection for tests using BSD Sockets. It will be made on the netperf sideof classic tests, and both netperf and netserver side of an omni or migrated test.
- -s seconds
- This will cause netperf to sleep 'seconds' seconds before transferring data over the data connection.
- -t testname
- Specify the test to perform. Valid testnames include, but are not limited to, nor always compiled-in:
- -T lcpu,remcpu
- Request that netperf be bound to CPU lcpu and/or netserver be bound to CPU rcpu.
- -v verbosity
- Set the verbosity level for the test (only with -P).
- -V
- Display the netperf version and exit.
Test Specific Options
Please consult the netperf manual Care and Feeding of Netperf 2.5.X (doc/netperf.[pdf|html|txt]) for more information. Or you can join and send email [email protected].
Note
For those options taking two parms, at least one must be specified; specifying one value without acomma will set both parms to that value, specifying a value with a leading comma will set just the second parm, a value with a trailing comma will set just thefirst. To set each parm to unique values, specify both and separate them with a comma.* For these options taking two parms, specifying one value with no comma will only set the first parm and will leave the second at the default value. To setthe second value it must be preceded with a comma or be a comma-separated pair. This is to retain previous netperf behaviour.
Bugs
There are bound to be bugs. If you think you have found a bug, please mention it [email protected]. List membership is required to send email to the list. See http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk . Ifall else fails send email to [email protected].See Also
netserver(1)
Care and Feeding of Netperf 2.5.X
http://www.netperf.org/
Authors
HP Information Networks Division - Networking Performance Team.Rick Jones <[email protected]>
Karen Choy HP IND
Dave Shield <[email protected]> (man pages)
Others too numerous to mention here - see the AUTHORS file
Below is list of results collected with netperf.The interesting value is TCP_CRR, it measures how fast it can TCP connect/request/response/receive.In short, the transaction rate. The test is used to simulate a normal HTTP/1.0 transaction.What's worrying is that this value has very low on Xen virtualized guests. Performance differences between bare metal and virtualization has been as high as 2-3x.
Virt. platform | OS | CPU | # CPU cores | TCP_CRR | TCP_RR | UDP_RR | Comments |
Bare metal | Windows 7 Ultimate | Intel Core i5 CPU 760 @ 2.80GHz | 4 | N/A | 56319 | 48682 | Couldn't perform TCP_CRR |
Xen | Linux 2.6.18-164.2.1.el5xen x86_64 | Intel Xeon CPU E5345 @ 2.33GHz | 4 | 6494 | 24134 | 26852 | |
Bare metal | Linux 2.6.38-8-generic x86_64 #42-Ubuntu | Intel Core i5-2300 CPU @ 2.80GHz | 4 | 23230 | 62036 | 75954 | |
KVM | 2.6.38.6 kernel :) | AMD Phenom(tm) II X6 1055T Processor | 6(vm has 1) | 29279.62 | 104254.60 | 159134.70 | erh... did I do this wrong??? |
Xen | Linux 2.6.36.4 (custom PV kernel) under Xen 3.2.1 | Intel Xeon X3323 @ 2.50GHz | 1 | 9636 | 36644 | 44443 | Production Memset miniserver |
Xen dom0 (closer to the bare metal!) | Linux 2.6.26 | Intel Xeon X3323 @ 2.50GHz | 4 | 9589 | 38347 | 47181 | dom0 of the above Memset miniserver host |
Xen | Linux 2.6.38-x86_64-linode17 x86_64 | Intel Xeon CPU L5520 @ 2.27GHz | 4 | 4496 | 18160 | 20892 | |
Xen | FreeBSD dev 8.2-RELEASE i386 | Intel(R) Xeon(R) CPU E5430 @ 2.66GHz | 1 | 9317.74 | 35000.73 | 37654.41 | |
BareMetal | FreeBSD 8.2-RELEASE amd64 | VIA Nano processor U2250 (1.6GHz Capable) | 1 | 468.36 | 17478.24 | 24971.05 | |
XEN HVM | FreeBSD 8.2-RELEASE FreeBSD amd64 - XEN HVM | Intel(R) Xeon(R) CPU X5570 @ 2.93GHz | 16 | 5074.47 | 8969.24 | 7874.76 |
Linux
It's recommended you run these tests on Linux. You can either download prebuilt binaries from your favorite package system or build from source.The latter is quite easy.
Use these steps to build from source:
Get OS version with
Get processor info with
Mac OS X
Been having trouble compiling netperf on Mac OS. Might be an easy fix?
FreeBSD
or
Then, same as Linux:
Windows
Prebuilt binaries for Windows are available. Get them from http://www.chriswolf.com/download/netperf.zipTCP_CRR are problematic to run. Why I'm not sure, but not surprised this is the case. Linux is recommended for doing these tests.
Test results
Please submit your findings in the table above by editing this Gist.Enter your OS version, CPU, number of cores and the results. It's last column in netperf's output you are supposed to report for each test (the transaction rate).Note any special info such as hyperthreading, special sysctl settings etc in the comments field.