-
Notifications
You must be signed in to change notification settings - Fork 18
/
netthroughput.html
303 lines (214 loc) · 8.37 KB
/
netthroughput.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Mon Mar 18 08:51:13 2024 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>netthroughput</title>
</head>
<body>
<h1 align="center">netthroughput</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#OPTIONS">OPTIONS</a><br>
<a href="#USAGE">USAGE</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#EXAMPLE">EXAMPLE</a><br>
<a href="#NOTES">NOTES</a><br>
<a href="#COPYRIGHT">COPYRIGHT</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">netthroughput
− Estimate SQL*Net throughput</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>netthroughput
-u -l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest]
[--interval=N] [--fetcharray=N] [--mbperquery=M]
[--period=N] [--csvoutput=file] [--csvappend=file]
[--csvexcel]</b></p>
<p style="margin-left:11%; margin-top: 1em">The
netthroughput utility can be used to estimate throughput
from a database to the client or application server from
which is running.</p>
<h2>OPTIONS
<a name="OPTIONS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>-l
u/p@c</b></p>
<p style="margin-left:17%;">Compulsory option to provide
the username, password, and connect string for a database
connection. You can omit the /p part in which case rwloadsim
will prompt for the password.</p>
<p style="margin-left:17%; margin-top: 1em">The user needs
access to v$ queries to estimate physical network
throughput.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--rampup=N</b></p>
<p style="margin-left:17%;">Set rampup period for
throughput tests, default is 5s</p>
<p style="margin-left:11%; margin-top: 1em"><b>--concurrency=N</b></p>
<p style="margin-left:17%;">Run this many concurrent test
streams, default 1.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--fetcharray=N</b></p>
<p style="margin-left:17%;">When running the test, the
default array size is set to 8 implying roughly 100kB in
each array fetch. You can specify a different array size
using this option.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--mbperquery=N</b></p>
<p style="margin-left:17%;">When running the test, the
query that is used to generate data sends (very close to)
1MB from the database to the client by default. This
parameter can be used to set a different amount of data; it
is an integer and sets the size in MB.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--verbosetest</b></p>
<p style="margin-left:17%;">Be more verbose.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--period=N</b></p>
<p style="margin-left:17%;">The period in seconds to run
the test; default 60s.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--csvoutput=file
<br>
--csvappend=file</b></p>
<p style="margin-left:17%;">Write results to the file named
as space separated values. There will be one line with these
columns:</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="17%"></td>
<td width="1%">
<p><b>1</b></p></td>
<td width="5%"></td>
<td width="77%">
<p>The number of concurrent streams.</p></td></tr>
<tr valign="top" align="left">
<td width="17%"></td>
<td width="1%">
<p><b>2</b></p></td>
<td width="5%"></td>
<td width="77%">
<p>The logical throughput in MB/s.</p></td></tr>
<tr valign="top" align="left">
<td width="17%"></td>
<td width="1%">
<p><b>3</b></p></td>
<td width="5%"></td>
<td width="77%">
<p>The physical throughput in MB/s or 0 if access to v$ is
not possible.</p></td></tr>
<tr valign="top" align="left">
<td width="17%"></td>
<td width="1%">
<p><b>4</b></p></td>
<td width="5%"></td>
<td width="77%">
<p>The value 0 if all streams executed concurrently,
otherwise the results are not reliable and the value shows
the needed rampup time. See below under NOTES.</p></td></tr>
</table>
<p style="margin-left:17%; margin-top: 1em">If the first
option is used or the second option is used but the file
does not already exist, an initial line with column headings
is written. If the second option is used, output will be
appended to the file.</p>
<p style="margin-left:11%; margin-top: 1em"><b>--csvexcel</b></p>
<p style="margin-left:17%;">If a csv file is created, use
’;’ as field separator, CRLF line terminators,
and omit # on the first line with column headings.</p>
<h2>USAGE
<a name="USAGE"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The
netthroughput utility is used to estimate the throughput of
database connections from some database server to the client
where it is executed.</p>
<p style="margin-left:11%; margin-top: 1em">The throughput
test will use one or more concurrent streams to fetch data
over the connection. You should normally use an increasing
number of streams until saturation where use of further
streams does not increase the throughput. There are two
calculations done, one based on the logical byte count from
the query being executed, and one based on the physical byte
count reported by the database. The latter is only available
if the database user has access to v$ queries.</p>
<h2>NOTES
<a name="NOTES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Both the client
and the database side will have high CPU utilization and
either side can therefore be limited by CPU. In that case,
the figures reported are not showing the possible network
throughput.</p>
<p style="margin-left:11%; margin-top: 1em">Note that your
network can be saturated using when many streams are
used.</p>
<p style="margin-left:11%; margin-top: 1em">If you get a
warning that rampump is too short, the streams have not been
running concurrently, and the results are unreliable. In
that case, make a new run with the suggested rampup
time.</p>
<h2>EXAMPLE
<a name="EXAMPLE"></a>
</h2>
<pre style="margin-left:11%; margin-top: 1em">netthroughput --concurrency=10 -ul username/{password}@//host/db --period=20
RWP*Load Simulator Release 3.0.2.20 Development on Mon, 19 Sep 2022 08:44:52 UTC
Connected default database to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Connecting sessions
All threads connected
Throughput test now running 20 s
Throughput estimate 1.574 GB/s logical, 1.574 GB/s physical</pre>
<p style="margin-left:11%; margin-top: 1em">The example
shows the estimated throughput from the database to the
client using 2 concurrent streams is 1.574 logical (and
physical) Gigabytes per second.</p>
<p style="margin-left:11%; margin-top: 1em">The following
example:</p>
<pre style="margin-left:11%; margin-top: 1em">rm -f tp.csv
for cur in 1 2 3 4 5
do
netthroughput --csvappend=tp.csv -ul username/{password}@//host/db --concurrency=$cur
done</pre>
<p style="margin-left:11%; margin-top: 1em">will create the
file tp.csv with five lines for 1 until 5 concurrent
streams; it can be used as input to gnuplot. If you
alternatively want to use typical office software on a
laptop, use the --csvexcel option and copy the csv file to
your laptop.</p>
<h2>NOTES
<a name="NOTES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">If you are
using the full distribution of rwloadsim, netthroughput is
an executable shell script in the bin directory that calls
rwloadsim with the -u option getting netthroughput.rwl from
the public directory. As a stand alone binary distribution,
netthroughput is an executable with the netthroughput.rwl
code embedded.</p>
<h2>COPYRIGHT
<a name="COPYRIGHT"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Copyright
© 2023 Oracle Corporation <br>
Licensed under the Universal Permissive License v 1.0 as
shown at https://oss.oracle.com/licenses/upl</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><a href="rwloadsim.html">rwloadsim(1rwl)</a>,
<a href="utilities.html">utilities(2rwl)</a></p>
<hr>
</body>
</html>