1QPERF(1) User Commands QPERF(1)
2
3
4
6 qperf - Measure RDMA and IP performance
7
9 qperf
10 qperf SERVERNODE [OPTIONS] TESTS
11
12
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
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
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
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
386 Written by Johann George.
387
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)