With Oracle Autonomous Data Warehouse Benchmark Kit you can run a benchmark derived from TPC-DS version 2.13 against Oracle Autonomous Data Warehouse Serverless. This lightweight utility executes all 99 TPC-DS queries in a single-user session (i.e. sequentially), using the order as defined in stream 0 of the TPC benchmark specification. A single-user run demonstrates the ability of a database to focus all of its available resources to minimize the response time of each of the queries. The queries for this kit were generated with dsqgen from the TPC benchmark-provided templates using qgen's default SEED. The results presented in this benchmark are not official TPC results and, therefore, cannot be compared to published TPC benchmark results.
The kit consists of two parts:
The kit requires access to an Autonomous Data Warehouse to run the queries. The kit itself is supported on Linux (X64) and MacOS (X64, ARM).
The kit supports the following TPC-DS configuration:
Database Resource | Scale Factor=1000 |
Minimum number of base compute | 8 OCPUs or 32 ECPUs |
Minimum provisioned storage | 2TB |
Note: It is not advised to use a regional wallet but to instead use an instance wallet. An instance wallet ensures that the kit knows exactly which autonomous database to connect. Using a regional wallet will prompt the kit to ask you for more specific information about your chosen autonomous data warehouse for running the kit.
After you have met the pre-requirements, you are ready to install the Oracle Autonomous Data Warehouse Benchmark Kit.
Note:
You are ready to use the kit. The benchmark kit needs to issue several administrative tasks in the database environment used for the benchmark kit that may impact your production environment. For example, to guarantee deterministic behavior, result cache information of the database is flushed prior to running the benchmark. It is not recommended to use this benchmark kit in any production environment.
cd /home/opc/bench_dss
source ./env.sh
./run -n <configName>
Note:
drop user TPCDS_1000G_TEXTC cascade
To view results of the Oracle Autonomous Data Warehouse Benchmark Kit, use the graphical UI to analyze your
benchmark runs. An Ojet webserver needs to be started on the client machine where you installed the kit and
executed benchmark runs. This is usually done as part of the installation process, but in case it is not
started or it was stopped manually, you must start it manually.
Note:
cd /home/opc/bench_dss
source ./env.sh
./ojet_serve.sh
http://<your local machine running the kit>:8001
https://<your remote machine running the kit>:8001
After successful authentication you will be able to analyze your benchmark runs. The main page shows you the list of the various benchmark runs you have run from your client machine. You can use the same benchmark kit installation to run the kit against different Autonomous Data Warehouses with different shapes, in different regions.
The Autonomous Data Warehouse Benchmark Kit consists of four main elements to navigate and drill down into various topics related to individual or multiple benchmark runs. The following describes the main purpose of each of those elements.
With the exception of adjusting the price for individual runs in the report section of an individual benchmark run, the whole application is read only. You cannot cause any harm or impact either your database or your benchmark results, so you are encouraged to explore the information and to provide feedback to the Oracle Autonomous Database team on stackoverflow.
The following section provides a high level introduction of the various sections.
You can choose a report either from the Run list menu to drill into details in the detail screen, or just by clicking on one of your selected runs shown in the Work Run List left hand menu (in yellow). Selecting a run will show you the detailed information for a run. By default the last run of your selected work run list will be shown
The detail screen has multiple sections:
See the details of your Autonomous Database that was used for the benchmark run. In this section you'll also see a rough cost estimation of what it cost you to run the benchmark on your system. You have the capability to change the price base for the configuration and adjust whether your system ran with license included or BYOL.
See the aggregated time spent for the queries, with the capabilities to drill down into details of individual queries.
See the timeline of the CPU utilization while running the 99 queries serially. You can hover over the time scale to see when individual queries were run.
A tabular form of the individual queries, incl. when they were run and some additional information, such as the sql monitor plan or result set of a query.
The run list gives you an overview of all executed benchmark runs. You can select or de-select all runs
for analysis and comparison. Selected runs will be shown in the Work Run List in the left hand side
menu.
Select multiple runs on the left hand menu to see the comparative performance numbers of these runs, based on various criteria. The subset of your selected benchmark runs highlighted in the left hand menu is compared.
Select multiple runs on the left hand menu to see the comparative price numbers of these runs, based on various criteria. The subset of your selected benchmark runs highlighted in the left hand menu is compared.
You can navigate the Web UI using your keyboard with Google Chrome Browser. The main navigation keystrokes are:
The Oracle Autonomous Data Warehouse Benchmark Kit provides various controls for your environment. You can:
cd /home/opc/bench_dss
source ./env.sh
You can create a new configuration file that will use a different Autonomous Data Warehouse. For example, you may want to run the benchmark against a new autonomous database in another region. To do so, you can create a new configuration file as follows:
config/sut where you installed the benchmark kit, e.g. cd /home/opc/bench_dss/config/sut
.myNewADW.config
dss.config.wallet.dir
dss.config.admin.password
To run a benchmark, you simply specify the previously created name of your configuration file. The ojet web server does not have to run to execute a benchmark run.
./run -n <configName>
To review results, the ojet web server need to be started. This webserver (nodejs express, ojet) can be
managed with
the
'ojet_serve.sh'
command in the ./bin subdirectory of your benchmark kit installation.
By default, the server is configured for local access only, disallowing remote access of the web UI. Local communication is done using http.
If remote client access of the Web UI is required, the webserver needs to be configured for remote access. Remote access requires you to set up a password for web access. Furthermore, remote access is only allowed using secure communication through https . Remote browsers will be asked for a password and the default for remote browsers before accessing any information about your benchmark runs.
Note:
The first time the server is brought up for remote access, the script will ask if key/cert file should be generated (using openssl). If you have a certificate, answer 'n' and the location of the files is asked for. If you do not have a certificate, it will be generated. If the files are generated, the files will be regarded as untrusted and the browser will give a message regarding this. In this case, accept the untrusted certificate to continue.
A full list of available commands for ojet_serve.sh
is listed below:
./ojet_serve.sh -h
(re)start ojet webserver on port 8001
Usage : ./ojet_serve.sh <option>
options:
-h this message
-stop stops the ojet webserver (process 20658 ); will not start new ; will not stop 'unknown' other ojet servers
-stopAll kills all ojet webserver processes
-port <p> start ojet on port <p> (default is 8002)
-remote rebuild webserver for use with remote access (not restricted to only localhost) and https protocol
To manage your runs, you can use the admin.sh
utility. A full list of all
available
options are listed below:
./admin.sh -h
--------------------------------------------------------------
--------------------------------------------------------------------------------------
Manages the runs listed and preserved
Usage : ./admin.sh <option> [runId|tarball]*
options:
-h this message
-list lists run(s) currently on the run list
-hide [runId]+ hides run(s) from the runs listed
-show [runId]+ shows run(s) back on the runs listed
-export [runId]+ exports run results so it can be imported at another location
-import [tarball]+ imports run and at to the list of runs
-delete [runId]+ deletes selected run(s)
-setComment [runId] <text> replaces the comment for this run to <text> (if no text given will prompt for it)
-setRunSet [runId] <sets> replaces the runSet for specified run to listed sets (comma-separated values if more than one) (if no text given will prompt for it)
-undo undo the last hide/show action
Example:
./admin.sh -export oracle_mymac/45 oracle_mymac/46
./admin.sh -setComment oracle_mymac/46 need review
./admin.sh -setRunSet oracle_mymac/47 set1,set2
Note: hide/show/import recreate the run list and any run that is not valid (e.g. no data for it) will be removed during this process
--------------------------------------------------------------------------------------
The following section lists a number of common questions and troubleshooting tips.
If you are still having trouble then you can use stackoverflow to post questions and to find answers or to help others answer their questions. When you post, tag your question with oracle-autonomous-db, as follows: Questions tagged [oracle-autonomous-db]
No, this kit can only run against Oracle Autonomous Database Serverless at this point in time. The kit checks your environment to have enough computational resources to ensure it is not run against an environment that is not sized appropriately
Ensure that you can connect to the database outside the kit using a standard SQL tool, e.g. sqlcl or sqlplus using the information provided in the wallet. Check whether your environment requires the connection going through a proxy, or whether the appropriate ports are open
If you are getting an invalid username/password error when the kit tries to run you need to ensure that neither the password for ADMIN nor TPCDS_1000G_TEXTC has changed.
cd /home/opc/bench_dss/config/sut/myrun.config.
The kit will ask you for the ADMIN password then again the next time the kit is run.
If you run the kit against an autonomous database it will first check whether a schema named TPCDS_1000G_TEXTC is existent in your environment. If the schema is existent, the kit will check whether the schema has the proper objects and row counts installed.
If you run a kit for the first time, the kit asks you for information about your environment, such as which database to run against and the ADMIN password. If you have changed any of these parameters, you need to delete the configuration file of your environment in the directory where you installed the kit, e.g.
rm /home/opc/bench_dss/config/sut/myrun.config