What is qperf?

Version 7

    This post is aimed for beginners and explains what is qperf command and supplies few examples.


    >> Take our free online InfiniBand training on the Mellanox Academy




    qperf is a Linux command that measures bandwidth and latency between two nodes.  It can work over TCP/IP as well as the RDMA transports.

    On one of the nodes, qperf is typically run with no arguments designating it the server node.

    One may then run qperf on a client node to obtain measurements such as bandwidth, latency and cpu utilization.


    Note: For optimal RDMA performance please use perftest package, that is the formal Open Fabrics performance test package (e.g. ib_send_bw, ib_write_bw ...) - click here for the package.



    Two hosts connected back to back or via a switch.

    Before you start, make sure there is an IP connectivity on the required link.


    Run on one host to be considered as the qperf server:

    # qperf


    Run on the second node considered as a qperf client command from this format

    # qperf <server-ip-or-hostname> <test>


    For Example:

    # qperf tcp_bw tcp_lat


        bw  =  2634 MB/sec


        latency  =  7 us


    The values that you get depends on the network bandwidth, connectivity and congestion.


    More options are available on the main page.