1QPERF(1)                         User Commands                        QPERF(1)
2
3
4

NAME

6       qperf - Measure RDMA and IP performance
7

SYNOPSIS

9       qperf
10       qperf SERVERNODE [OPTIONS] TESTS
11
12

DESCRIPTION

14       qperf  measures  bandwidth  and latency between two nodes.  It can work
15       over TCP/IP as well as the RDMA transports.  On one of the nodes, qperf
16       is typically run with no arguments designating it the server node.  One
17       may then run qperf on a client node  to  obtain  measurements  such  as
18       bandwidth, latency and cpu utilization.
19
20       In  its  most  basic  form,  qperf is run on one node in server mode by
21       invoking it with no arguments.  On the other node, it is run  with  two
22       arguments:  the  name  of  the  server node followed by the name of the
23       test.  A list of tests can be found in the section, TESTS.   A  variety
24       of options may also be specified.
25
26       One  can  get  more  detailed  information on qperf by using the --help
27       option.  Below are examples of using the --help option:
28
29           qperf --help examples       Some examples of using qperf
30           qperf --help opts           Summary of options
31           qperf --help options        Description of options
32           qperf --help tests          Short summary and description of tests
33           qperf --help TESTNAME       More information on test TESTNAME
34

EXAMPLES

36       In these examples, we first run qperf on  a  node  called  myserver  in
37       server  mode  by  invoking it with no arguments.  In all the subsequent
38       examples, we run qperf on another node and connect to the server  which
39       we assume has a hostname of myserver.
40
41       To run a TCP bandwidth and latency test:
42              qperf myserver tcp_bw tcp_lat
43
44       To run a UDP latency test and then cause the server to terminate:
45              qperf myserver udp_lat quit
46
47       To measure the RDMA UD latency and bandwidth:
48              qperf myserver ud_lat ud_bw
49
50       To measure RDMA UC bi-directional bandwidth:
51              qperf myserver rc_bi_bw
52
53       To get a range of TCP latencies with a message size from 1 to 64K
54              qperf myserver -oo msg_size:1:64K:*2 -vu tcp_lat
55

OPTIONS

57       -ar, --access_recv OnOff
58              If  OnOff  is  non-zero, data is accessed once received.  Other‐
59              wise, data is ignored.  By default, OnOff is 0.  This  can  help
60              to mimic some applications.
61
62       -ar1   Cause received data to be accessed.
63
64       -ap, --alt_port Port
65              Set alternate path port. This enables automatic path failover.
66
67       -lap, --loc_alt_port Port
68              Set  local  alternate  path  port.  This  enables automatic path
69              failover.
70
71       -rap, --rem_alt_port Port
72              Set remote alternate path  port.  This  enables  automatic  path
73              failover.
74
75       -ca, --cpu_affinity PN
76              Set  cpu affinity to PN.  CPUs are numbered sequentially from 0.
77              If PN is "any", any cpu is allowed otherwise the cpu is  limited
78              to the one specified.
79
80       -lca, --loc_cpu_affinity PN
81              Set local processor affinity to PN.
82
83       -rca, --rem_cpu_affinity PN
84              Set remote processor affinity to PN.
85
86       -f, --flip OnOff
87              If non-zero, cause sender and receiver to play opposite roles.
88
89       -f1    Cause sender and receiver to play opposite roles.
90
91       -h, --help Topic
92              Print  out  information about Topic.  To see the list of topics,
93              type qperf --help
94
95       -H, --host Host
96              Run test between the current node and the qperf running on  node
97              Host.   This can also be specified as the first non-option argu‐
98              ment.
99
100       -i, --id Device:Port
101              Use RDMA Device and Port.
102
103       -li, --loc_id Device:Port
104              Use local RDMA Device and Port.
105
106       -ri, --rem_id Device:Port
107              Use remote RDMA Device and Port.
108
109       -lp, --listen_port Port
110              Set the port we listen on to ListenPort.  This must  be  set  to
111              the  same  port  on  both  the  server and client machines.  The
112              default value is 19765.
113
114       -oo, --loop Var:Init:Last:Incr
115              Run a test multiple times sequencing through a series of values.
116              Var is the loop variable; Init is the initial value; Last is the
117              value it must not exceed and Incr is the increment.  It is  use‐
118              ful  to  set the --verbose_used (-vu) option in conjunction with
119              this option.
120
121       -m, --msg_size Size
122              Set the message size to Size.  The default value varies by test.
123              It  is  assumed  that the value is specified in bytes however, a
124              trailing kib or K, mib or M, or gib or G indicates that the size
125              is  being specified in kibibytes, mebibytes or gibibytes respec‐
126              tively while a trailing kb or k, mb or m, or gb or  g  indicates
127              kilobytes, megabytes or gigabytes respectively.
128
129       -mt, --mtu_size Size
130              Set the MTU size.  Only relevant to the RDMA UC/RC tests.  Units
131              are specified in the same manner as the --msg_size option.
132
133       -n, --no_msgs N
134              Set test duration by number of messages sent instead of time.
135
136       -cp, --cq_poll OnOff
137              Turn polling mode on or off.  This is only relevant to the  RDMA
138              tests and determines whether they poll or wait on the completion
139              queues.  If OnOff is 0, they wait; otherwise they poll.
140
141       -lcp, --loc_cq_poll OnOff
142              Locally turn polling mode on or off.
143
144       -rcp, --rem_cq_poll OnOff
145              Remotely turn polling mode on or off.
146
147       -cp1   Turn polling mode on.
148
149       -lcp1  Turn local polling mode on.
150
151       -rcp1  Turn remote polling mode on.
152
153       -ip, --ip_port Port
154              Use Port to run the socket tests.  This is different from --lis‐
155              ten_port  which is used for synchronization.  This is only rele‐
156              vant for the socket tests and  refers  to  the  TCP/UDP/RDS/SCTP
157              port that the test is run on.
158
159       -e, --precision Digits
160              Set  the  number  of  significant digits that are used to report
161              results.
162
163       -nr, --rd_atomic Max
164              Set the number of in-flight operations that can be handled for a
165              RDMA  read or atomic operation to Max.  This is only relevant to
166              the RDMA Read and Atomic tests.
167
168       -lnr, --loc_rd_atomic Max
169              Set local read/atomic count.
170
171       -rnr, --rem_rd_atomic Max
172              Set remote read/atomic count.
173
174       -sl, --service_level SL
175              Set RDMA service level to SL.  This is only  used  by  the  RDMA
176              tests.  The service level must be between 0 and 15.  The default
177              service level is 0.
178
179       -lsl, --loc_service_level SL
180              Set local service level.
181
182       -rsl, --rem_service_level SL
183              Set remote service level.
184
185       -sb, --sock_buf_size Size
186              Set the socket buffer size.  This is only relevant to the socket
187              tests.
188
189       -lsb, --loc_sock_buf_size Size
190              Set local socket buffer size.
191
192       -rsb, --rem_sock_buf_size Size
193              Set remote socket buffer size.
194
195       -sp, --src_path_bits N
196              Set  source  path  bits. If the LMC is not zero, this will cause
197              the connection to use a LID with the low order LMC bits  set  to
198              N.
199
200       -lsp, --loc_src_path_bits N
201              Set local source path bits.
202
203       -rsp, --rem_src_path_bits N
204              Set remote source path bits.
205
206       -sr, --static_rate Rate
207              Force  InfiniBand  static rate.  Rate can be one of: 2.5, 5, 10,
208              20, 30, 40, 60, 80, 120, 1xSDR (2.5 Gbps), 1xDDR (5 Gbps), 1xQDR
209              (10  Gbps),  4xSDR  (2.5 Gbps), 4xDDR (5 Gbps), 4xQDR (10 Gbps),
210              8xSDR (2.5 Gbps), 8xDDR (5 Gbps), 8xQDR (10 Gbps).
211
212       -lsr, --loc_static_rate
213              Force local InfiniBand static rate
214
215       -rsr, --rem_static_rate
216              Force remote InfiniBand static rate
217
218       -t, --time Time
219              Set test duration to  Time.   Specified  in  seconds  however  a
220              trailing  m, h or d indicates that the time is specified in min‐
221              utes, hours or days respectively.
222
223       -to, --timeout Time
224              Set timeout to Time.  This  is  the  timeout  used  for  various
225              things such as exchanging messages.  The default is 5 seconds.
226
227       -lto, --loc_timeout Time
228              Set  local  timeout  to Time.  This may be used on the server to
229              set the timeout when initially exchanging data with each client.
230              However,  as  soon  as  we  receive the client's parameters, the
231              client's remote timeout will override this parameter.
232
233       -rto, --rem_timeout Time
234              Set remote timeout to Time.
235
236       -un, --unify_nodes
237              Unify the nodes.  Describe them in terms  of  local  and  remote
238              rather than send and receive.
239
240       -uu, --unify_units
241              Unify the units that results are shown in.  Uses the lowest com‐
242              mon denominator.  Helpful for scripts.
243
244       -ub, --use_bits_per_sec
245              Use bits/sec rather than bytes/sec  when  displaying  networking
246              speed.
247
248       -cm, --use_cm OnOff
249              Use  the  RDMA Connection Manager (CM) if OnOff is non-zero.  It
250              is necessary to use the CM for iWARP devices.  The default is to
251              establish  the connection without using the CM.  This only works
252              for the tests that use the RC transport.
253
254       -cm1   Use RDMA Connection Manager.
255
256       -v, --verbose
257              Provide more detailed output.  Turns on -vc, -vs, -vt and -vu.
258
259       -vc, --verbose_conf
260              Provide information on configuration.
261
262       -vs, --verbose_stat
263              Provide information on statistics.
264
265       -vt, --verbose_time
266              Provide information on timing.
267
268       -vu, --verbose_used
269              Provide information on parameters used.
270
271       -vv, --verbose_more
272              Provide even more detailed output.  Turns on  -vvc,  -vvs,  -vvt
273              and -vvu.
274
275       -vvc, --verbose_more_conf
276              Provide more information on configuration.
277
278       -vvs, --verbose_more_stat
279              Provide more information on statistics.
280
281       -vvt, --verbose_more_time
282              Provide more information on timing.
283
284       -vvu, --verbose_more_used
285              Provide more information on parameters used.
286
287       -V, --version
288              The current version of qperf is printed.
289
290       -ws, --wait_server Time
291              If  the server is not ready, continue to try connecting for Time
292              seconds before giving up.  The default is 5 seconds.
293

TESTS

295       conf   Show configuration
296
297       quit   Cause the server to quit
298
299       rds_bw RDS streaming one way bandwidth
300
301       rds_lat
302              RDS one way latency
303
304       sctp_bw
305              SCTP streaming one way bandwidth
306
307       sctp_lat
308              SCTP one way latency
309
310       tcp_bw TCP streaming one way bandwidth
311
312       tcp_lat
313              TCP one way latency
314
315       udp_bw UDP streaming one way bandwidth
316
317       udp_lat
318              UDP one way latency
319
320       rc_bi_bw
321              RC streaming two way bandwidth
322
323       rc_bw  RC streaming one way bandwidth
324
325       rc_lat RC one way latency
326
327       uc_bi_bw
328              UC streaming two way bandwidth
329
330       uc_bw  UC streaming one way bandwidth
331
332       uc_lat UC one way latency
333
334       ud_bi_bw
335              UD streaming two way bandwidth
336
337       ud_bw  UD streaming one way bandwidth
338
339       ud_lat UD one way latency
340
341       xrc_bi_bw
342              XRC streaming two way bandwidth
343
344       xrc_bw XRC streaming one way bandwidth
345
346       xrc_lat
347              XRC one way latency
348
349       rc_rdma_read_bw
350              RC RDMA read streaming one way bandwidth
351
352       rc_rdma_read_lat
353              RC RDMA read one way latency
354
355       rc_rdma_write_bw
356              RC RDMA write streaming one way bandwidth
357
358       rc_rdma_write_lat
359              RC RDMA write one way latency
360
361       rc_rdma_write_poll_lat
362              RC RDMA write one way polling latency
363
364       uc_rdma_write_bw
365              UC RDMA write streaming one way bandwidth
366
367       uc_rdma_write_lat
368              UC RDMA write one way latency
369
370       uc_rdma_write_poll_lat
371              UC RDMA write one way polling latency
372
373       rc_compare_swap_mr
374              RC compare and swap messaging rate
375
376       rc_fetch_add_mr
377              RC fetch and add messaging rate
378
379       ver_rc_compare_swap
380              Verify RC compare and swap
381
382       ver_rc_fetch_add
383              Verify RC fetch and add
384

AUTHOR

386       Written by Johann George.
387

BUGS

389       None of the RDMA tests are available if qperf is compiled  without  the
390       RDMA  libraries.   None of the XRC tests are available if qperf is com‐
391       piled without the XRC extensions.  The -f option is not yet implemented
392       in many of the tests.
393
394
395
396qperf                            November 2016                        QPERF(1)
Impressum