Provided by: qperf_0.4.11-2_amd64 bug

NAME

       qperf - Measure RDMA and IP performance

SYNOPSIS

       qperf
       qperf SERVERNODE [OPTIONS] TESTS

DESCRIPTION

       qperf  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.

       In its most basic form, qperf is run on one node in server mode by invoking it with no arguments.  On the
       other  node,  it is run with two arguments: the name of the server node followed by the name of the test.
       A list of tests can be found in the section, TESTS.  A variety of options may also be specified.

       One can get more detailed information on qperf by using the --help option.  Below are examples  of  using
       the --help option:

           qperf --help examples       Some examples of using qperf
           qperf --help opts           Summary of options
           qperf --help options        Description of options
           qperf --help tests          Short summary and description of tests
           qperf --help TESTNAME       More information on test TESTNAME

EXAMPLES

       In  these  examples,  we  first run qperf on a node called myserver in server mode by invoking it with no
       arguments.  In all the subsequent examples, we run qperf on another node and connect to the server  which
       we assume has a hostname of myserver.

       To run a TCP bandwidth and latency test:
              qperf myserver tcp_bw tcp_lat

       To run a SDP bandwidth test for 10 seconds:
              qperf myserver -t 10 sdp_bw

       To run a UDP latency test and then cause the server to terminate:
              qperf myserver udp_lat quit

       To measure the RDMA UD latency and bandwidth:
              qperf myserver ud_lat ud_bw

       To measure RDMA UC bi-directional bandwidth:
              qperf myserver rc_bi_bw

       To get a range of TCP latencies with a message size from 1 to 64K
              qperf myserver -oo msg_size:1:64K:*2 -vu tcp_lat

OPTIONS

       -ar, --access_recv OnOff
              If  OnOff  is  non-zero, data is accessed once received.  Otherwise, data is ignored.  By default,
              OnOff is 0.  This can help to mimic some applications.

       -ar1   Cause received data to be accessed.

       -ap, --alt_port Port
              Set alternate path port. This enables automatic path failover.

       -lap, --loc_alt_port Port
              Set local alternate path port. This enables automatic path failover.

       -rap, --rem_alt_port Port
              Set remote alternate path port. This enables automatic path failover.

       -ca, --cpu_affinity PN
              Set cpu affinity to PN.  CPUs are numbered sequentially from 0.   If  PN  is  "any",  any  cpu  is
              allowed otherwise the cpu is limited to the one specified.

       -lca, --loc_cpu_affinity PN
              Set local processor affinity to PN.

       -rca, --rem_cpu_affinity PN
              Set remote processor affinity to PN.

       -f, --flip OnOff
              If non-zero, cause sender and receiver to play opposite roles.

       -f1    Cause sender and receiver to play opposite roles.

       -h, --help Topic
              Print out information about Topic.  To see the list of topics, type qperf --help

       -H, --host Host
              Run  test between the current node and the qperf running on node Host.  This can also be specified
              as the first non-option argument.

       -i, --id Device:Port
              Use RDMA Device and Port.

       -li, --loc_id Device:Port
              Use local RDMA Device and Port.

       -ri, --rem_id Device:Port
              Use remote RDMA Device and Port.

       -lp, --listen_port Port
              Set the port we listen on to ListenPort.  This must be set to the same port on both the server and
              client machines.  The default value is 19765.

       -oo, --loop Var:Init:Last:Incr
              Run  a  test multiple times sequencing through a series of values.  Var is the loop variable; Init
              is the initial value; Last is the value it must not exceed and  Incr  is  the  increment.   It  is
              useful to set the --verbose_used (-vu) option in conjunction with this option.

       -m, --msg_size Size
              Set  the message size to Size.  The default value varies by test.  It is assumed that the value is
              specified in bytes however, a trailing kib or K, mib or M, or gib or G indicates that the size  is
              being  specified in kibibytes, mebibytes or gibibytes respectively while a trailing kb or k, mb or
              m, or gb or g indicates kilobytes, megabytes or gigabytes respectively.

       -mt, --mtu_size Size
              Set the MTU size.  Only relevant to the RDMA UC/RC tests.  Units are specified in the same  manner
              as the --msg_size option.

       -n, --no_msgs N
              Set test duration by number of messages sent instead of time.

       -cp, --cq_poll OnOff
              Turn  polling mode on or off.  This is only relevant to the RDMA tests and determines whether they
              poll or wait on the completion queues.  If OnOff is 0, they wait; otherwise they poll.

       -lcp, --loc_cq_poll OnOff
              Locally turn polling mode on or off.

       -rcp, --rem_cq_poll OnOff
              Remotely turn polling mode on or off.

       -cp1   Turn polling mode on.

       -lcp1  Turn local polling mode on.

       -rcp1  Turn remote polling mode on.

       -ip, --ip_port Port
              Use Port to run the socket tests.   This  is  different  from  --listen_port  which  is  used  for
              synchronization.    This   is   only   relevant   for   the   socket   tests  and  refers  to  the
              TCP/UDP/SDP/RDS/SCTP port that the test is run on.

       -e, --precision Digits
              Set the number of significant digits that are used to report results.

       -nr, --rd_atomic Max
              Set the number of in-flight operations that can be handled for a RDMA read or atomic operation  to
              Max.  This is only relevant to the RDMA Read and Atomic tests.

       -lnr, --loc_rd_atomic Max
              Set local read/atomic count.

       -rnr, --rem_rd_atomic Max
              Set remote read/atomic count.

       -sl, --service_level SL
              Set  RDMA  service  level  to SL.  This is only used by the RDMA tests.  The service level must be
              between 0 and 15.  The default service level is 0.

       -lsl, --loc_service_level SL
              Set local service level.

       -rsl, --rem_service_level SL
              Set remote service level.

       -sb, --sock_buf_size Size
              Set the socket buffer size.  This is only relevant to the socket tests.

       -lsb, --loc_sock_buf_size Size
              Set local socket buffer size.

       -rsb, --rem_sock_buf_size Size
              Set remote socket buffer size.

       -sp, --src_path_bits N
              Set source path bits. If the LMC is not zero, this will cause the connection to use a LID with the
              low order LMC bits set to N.

       -lsp, --loc_src_path_bits N
              Set local source path bits.

       -rsp, --rem_src_path_bits N
              Set remote source path bits.

       -sr, --static_rate Rate
              Force InfiniBand static rate.  Rate can be one of: 2.5, 5, 10, 20, 30, 40, 60, 80, 120, 1xSDR (2.5
              Gbps), 1xDDR (5 Gbps), 1xQDR (10 Gbps), 4xSDR (2.5 Gbps), 4xDDR (5 Gbps), 4xQDR (10  Gbps),  8xSDR
              (2.5 Gbps), 8xDDR (5 Gbps), 8xQDR (10 Gbps).

       -lsr, --loc_static_rate
              Force local InfiniBand static rate

       -rsr, --rem_static_rate
              Force remote InfiniBand static rate

       -t, --time Time
              Set  test  duration to Time.  Specified in seconds however a trailing m, h or d indicates that the
              time is specified in minutes, hours or days respectively.

       -to, --timeout Time
              Set timeout to Time.  This is the timeout used for various things  such  as  exchanging  messages.
              The default is 5 seconds.

       -lto, --loc_timeout Time
              Set  local  timeout  to  Time.   This  may be used on the server to set the timeout when initially
              exchanging data with each client.  However, as soon as we receive  the  client's  parameters,  the
              client's remote timeout will override this parameter.

       -rto, --rem_timeout Time
              Set remote timeout to Time.

       -un, --unify_nodes
              Unify the nodes.  Describe them in terms of local and remote rather than send and receive.

       -uu, --unify_units
              Unify  the  units  that  results  are  shown in.  Uses the lowest common denominator.  Helpful for
              scripts.

       -ub, --use_bits_per_sec
              Use bits/sec rather than bytes/sec when displaying networking speed.

       -cm, --use_cm OnOff
              Use the RDMA Connection Manager (CM) if OnOff is non-zero.  It is necessary  to  use  the  CM  for
              iWARP  devices.  The default is to establish the connection without using the CM.  This only works
              for the tests that use the RC transport.

       -cm1   Use RDMA Connection Manager.

       -v, --verbose
              Provide more detailed output.  Turns on -vc, -vs, -vt and -vu.

       -vc, --verbose_conf
              Provide information on configuration.

       -vs, --verbose_stat
              Provide information on statistics.

       -vt, --verbose_time
              Provide information on timing.

       -vu, --verbose_used
              Provide information on parameters used.

       -vv, --verbose_more
              Provide even more detailed output.  Turns on -vvc, -vvs, -vvt and -vvu.

       -vvc, --verbose_more_conf
              Provide more information on configuration.

       -vvs, --verbose_more_stat
              Provide more information on statistics.

       -vvt, --verbose_more_time
              Provide more information on timing.

       -vvu, --verbose_more_used
              Provide more information on parameters used.

       -V, --version
              The current version of qperf is printed.

       -ws, --wait_server Time
              If the server is not ready, continue to try connecting for Time seconds  before  giving  up.   The
              default is 5 seconds.

TESTS

       conf   Show configuration

       quit   Cause the server to quit

       rds_bw RDS streaming one way bandwidth

       rds_lat
              RDS one way latency

       sctp_bw
              SCTP streaming one way bandwidth

       sctp_lat
              SCTP one way latency

       sdp_bw SDP streaming one way bandwidth

       sdp_lat
              SDP one way latency

       tcp_bw TCP streaming one way bandwidth

       tcp_lat
              TCP one way latency

       udp_bw UDP streaming one way bandwidth

       udp_lat
              UDP one way latency

       rc_bi_bw
              RC streaming two way bandwidth

       rc_bw  RC streaming one way bandwidth

       rc_lat RC one way latency

       uc_bi_bw
              UC streaming two way bandwidth

       uc_bw  UC streaming one way bandwidth

       uc_lat UC one way latency

       ud_bi_bw
              UD streaming two way bandwidth

       ud_bw  UD streaming one way bandwidth

       ud_lat UD one way latency

       xrc_bi_bw
              XRC streaming two way bandwidth

       xrc_bw XRC streaming one way bandwidth

       xrc_lat
              XRC one way latency

       rc_rdma_read_bw
              RC RDMA read streaming one way bandwidth

       rc_rdma_read_lat
              RC RDMA read one way latency

       rc_rdma_write_bw
              RC RDMA write streaming one way bandwidth

       rc_rdma_write_lat
              RC RDMA write one way latency

       rc_rdma_write_poll_lat
              RC RDMA write one way polling latency

       uc_rdma_write_bw
              UC RDMA write streaming one way bandwidth

       uc_rdma_write_lat
              UC RDMA write one way latency

       uc_rdma_write_poll_lat
              UC RDMA write one way polling latency

       rc_compare_swap_mr
              RC compare and swap messaging rate

       rc_fetch_add_mr
              RC fetch and add messaging rate

       ver_rc_compare_swap
              Verify RC compare and swap

       ver_rc_fetch_add
              Verify RC fetch and add

AUTHOR

       Written by Johann George.

BUGS

       None  of  the  RDMA tests are available if qperf is compiled without the RDMA libraries.  None of the XRC
       tests are available if qperf is  compiled  without  the  XRC  extensions.   The  -f  option  is  not  yet
       implemented in many of the tests.