quasardb benchmarking tool¶
Introduction¶
The quasardb benchmarking tool (qdb-benchmark) enables you to evaluate the performance of your quasardb cluster. To do so, it runs chosen tests on the specified cluster and measures the time taken to process the commands as accurately as the operating systems allows it.
Quick Reference¶
Option
Usage
Default
display help
display version
display all available tests
display tests to be executed and exit
turn off cleaning up after each test
cluster URI
qdb://127.0.0.1:2836
pause duration between tests (in seconds)
1
duration of each test (in seconds)
4
sizes of entry contents to test (in bytes)
1,1k,1M
numbers of concurrent threads used for tests
1,2,4
path to the user security file
path to a file with cluster public key
tests to run
*
Usage scenarii¶
Identifying hardware limits in a quasardb cluster (network bandwidth, server processing power, etc.).
Determining the maximum throughput of your cluster.
Comparing to other databases.
Tuning your system: network, disk, OS, etc.
Parameters reference¶
-
-h
,
--help
¶
Displays basic usage information.
- Example
To display the online help, type:
qdb-benchmark --help
-
-v
,
--version
¶
Displays tool version information.
-
--show-tests
¶
Displays all available tests.
-
-n
,
--dry-run
¶
Displays tests to be executed and exit
-
--no-cleanup
¶
Turn off cleaning up after each test
-
-c
=<address>:<port>
,
--cluster
=<address>:<port>
¶ Specifies the address and port of the quasardb cluster to which the benchmark tool must connect.
- Argument
The URI (list of comma-separated endpoints, i.e. addresses and ports, preceded by
qdb://
) of a cluster on which the tests will be run.- Default value
qdb://127.0.0.0:2836
, the IPv4 localhost address and the port 2836- Example
If the daemon listens on localhost and on the port 5009:
qdb-benchmark --cluster=qdb://localhost:5009
-
-p
,
--pause
=<pause_duration>
¶ Specifies the time waited between tests (in seconds).
- Argument
A positive integer.
- Default value
1
- Example
Make a 10 seconds pause between two tests:
qdb-benchmark --pause=10
-
--duration
=<duration>
¶ Specifies the duration of each test (in seconds).
- Argument
A positive integer.
- Default value
4
- Example
Make the tests last 60 seconds each:
qdb-benchmark --duration=60
-
--threads
=<threads>
¶ Specifies the number of threads that qdb-benchmark should use to run the test. This function is helpful to simulate multiple clients from a single test instance.
- Argument
A list of positive integers representing the number of threads to use.
- Default value
1,2,4
- Example
Run each test two times, once in one thread and once in two threads:
qdb-benchmark --threads=1,2
-
--sizes
=<sizes>
¶ Specifies the sizes of the content elements (in bytes).
- Argument
A list of positive integers representing the content sizes. You can use the following literals: k, M, G
- Default value
1,1K,1M
- Example
Run each test three times, once with each size:
qdb-benchmark --sizes=128,2k,2M
-
--user-credentials-file
=<user-credentials-file>
¶ Specifies the user credential file to use while authenticating to the server.
- Argument
The path of the user credentials.
- Default value
“”
- Example
Connect to a secured server:
qdb-benchmark --user-credentials-file=user_private.key --cluster-public-file=cluster_public.key
-
--cluster-public-file
=<cluster-public-file>
¶ Specifies the cluster public key file to use while authenticating to the server.
- Argument
The path of the cluster public key.
- Default value
“”
- Example
Connect to a secured server:
qdb-benchmark --user-credentials-file=user_private.key --cluster-public-file=cluster_public.key
-
--tests
=<tests_regex>
¶ Specifies which tests to run. It accepts wildcard at start and end of input.
- Argument
The tests needed.
- Default value
All tests.
- Example
Run specific tests:
qdb-benchmark --tests=qdb_blob_*