netthroughput − Estimate SQL*Net throughput
netthroughput -u -l u/p@c [--rampup=N] [--concurrency=N] [--verbosetest] [--interval=N] [--fetcharray=N] [--mbperquery=M] [--period=N] [--csvoutput=file] [--csvappend=file] [--csvexcel]
The netthroughput utility can be used to estimate throughput from a database to the client or application server from which is running.
-l u/p@c
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.
The user needs access to v$ queries to estimate physical network throughput.
--rampup=N
Set rampup period for throughput tests, default is 5s
--concurrency=N
Run this many concurrent test streams, default 1.
--fetcharray=N
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.
--mbperquery=N
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.
--verbosetest
Be more verbose.
--period=N
The period in seconds to run the test; default 60s.
--csvoutput=file
--csvappend=file
Write results to the file named as space separated values. There will be one line with these columns:
1 |
The number of concurrent streams. | ||
2 |
The logical throughput in MB/s. | ||
3 |
The physical throughput in MB/s or 0 if access to v$ is not possible. | ||
4 |
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. |
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.
--csvexcel
If a csv file is created, use ’;’ as field separator, CRLF line terminators, and omit # on the first line with column headings.
The netthroughput utility is used to estimate the throughput of database connections from some database server to the client where it is executed.
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.
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.
Note that your network can be saturated using when many streams are used.
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.
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
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.
The following example:
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
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.
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.
Copyright
© 2023 Oracle Corporation
Licensed under the Universal Permissive License v 1.0 as
shown at https://oss.oracle.com/licenses/upl
rwloadsim(1rwl), utilities(2rwl)