What is qperf?

Version 6

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

     

    References

     

    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.

     

    Setup

    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 21.21.21.7 tcp_bw tcp_lat

    tcp_bw:

        bw  =  2634 MB/sec

    tcp_lat:

        latency  =  7 us

     

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

     

    More options are available on the main page.