fireperf - A Network Benchmarking Tool


fireperf --server ...
fireperf --client ADDRESS ...


fireperf can perform network benchmarks to test throughput and quality of a network between a fireperf client and fireperf server.



Enables debugging output
If fireperf has been compiled with debugging support, this command will print various debug messages that will help to find bugs in the program.

-P N

If this option is set on the client side, it will instruct the client to open N connections and keep them open.
On the server side, it will set a limit how many connections the server is willing to accept.

-p N
-p N:M

Both server and client take a single port (N) or a port range (N:M).
The server will open a listening socket the port given or each port in the range and waits for the client to connect.
The client will for each connection randomly select a port in the range or use the specified port to connect to the server.


Prints the version of this program


If set, all connections will be closed as soon as they have been established. No data will be sent.
This is useful to test how many TCP handshakes per second are possible.


Instead of sending random data, this option will set the client to send packets filled with zeroes.
This is useful for testing compression between the client and server.



This starts the program in server mode which makes it connect to the specified port and waits for clients to connect.


Instead of sending data, this will configure fireperf to only send keepalive packets.
If a large number of connections is being created, it might become undesirable to saturate the link between client and server. This option will send some packets to keep the connection alive through for example NAT gateways.


--client ADDRESS

This starts the program in client mode. In this mode, the client will connect to the server at ADDRESS and start a throughput test.


Duplex mode enables the client to send data instead of only receiving it from the server. The same TCP connection will be used for traffic in both directions.

-t T

If set, the client will automatically terminate itself after T seconds. Otherwise it will run for forever.


Please report all bugs to the bugtracker at


Michael Tremer