mirror of
https://github.com/bluxmit/alnoda-workspaces.git
synced 2024-06-26 18:20:24 +12:00
yugabyte workspace - add yugabyte-workload-gen
This commit is contained in:
parent
953f1678f1
commit
8d02a80514
|
@ -16,8 +16,13 @@ RUN echo "------------------------------------------------------ yugabyte 2.11"
|
|||
&& chmod +x /tmp/tpcc/tpccbenchmark \
|
||||
&& mv /tmp/tpcc /opt/tpcc \
|
||||
&& ln -s /opt/tpcc/tpccbenchmark /usr/bin/tpccbenchmark \
|
||||
echo "------------------------------------------------------ Yugabyte workload generator" \
|
||||
&& mkdir /opt/yugabyte-workload-gen \
|
||||
&& cd /opt/yugabyte-workload-gen && wget https://github.com/yugabyte/yb-sample-apps/releases/download/1.3.9/yb-sample-apps.jar \
|
||||
&& echo "------------------------------------------------------ user" \
|
||||
&& chown -R abc /opt/yugabyte
|
||||
&& chown -R abc /opt/yugabyte \
|
||||
&& chown -R abc /opt/tpcc \
|
||||
&& chown -R abc /opt/yugabyte-workload-gen
|
||||
|
||||
ENV PATH="/opt/yugabyte/bin:/opt/yugabyte/postgres/bin:${PATH}"
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ This workspace was build from the [Postgres workspace](https://github.com/bluxmi
|
|||
includes all its features. In addition:
|
||||
- [Yugabyte 2.11 release](https://github.com/yugabyte/yugabyte-db/releases)
|
||||
- [tpccbenchmark](https://docs.yugabyte.com/latest/benchmark/tpcc-ysql/)
|
||||
- [YugabyteDB workload generator](https://github.com/Yugabyte/yb-sample-apps)
|
||||
|
||||
Yugabyte release is in the folder `/opt/yugabyte` with `./bin and ./postgres/bin` added to the PATH.
|
||||
|
||||
|
@ -17,3 +18,61 @@ Yugabyte release is in the folder `/opt/yugabyte` with `./bin and ./postgres/bin
|
|||
|
||||
Postgres tools from the [Postgres workspace](https://github.com/bluxmit/alnoda-workspaces/blob/main/workspaces/postgres-workspace/README.md)
|
||||
work with Yugabyte too.
|
||||
|
||||
### tpccbenchmark
|
||||
[tpccbenchmark](https://docs.yugabyte.com/latest/benchmark/tpcc-ysql/) runs the TPC-C workload against YugabyteDB YSQL.
|
||||
TPC-C is a popular online transaction processing benchmark that provides metrics you can use to evaluate the performance
|
||||
of YugabyteDB for concurrent transactions of different types and complexity that are either executed online or queued
|
||||
for deferred execution.
|
||||
|
||||
Example of use
|
||||
|
||||
1. Create db for testing
|
||||
```
|
||||
pgcli -h yugabyte-tservers-ip -p 5433 -U yugabyte
|
||||
>> CREATE DATABASE loadtest;
|
||||
```
|
||||
|
||||
2. Configure tpccbenchmark
|
||||
```
|
||||
cd /opt/tpcc
|
||||
nano config/workload_all.xml # change <DBName> to loadtest
|
||||
```
|
||||
|
||||
3. Prepare and execute load test
|
||||
```
|
||||
./tpccbenchmark --create=true --nodes=yuga-yb-tservers loadtest
|
||||
|
||||
./tpccbenchmark --load=true \
|
||||
--nodes=yuga-yb-tservers \
|
||||
--warehouses=10 \
|
||||
--loaderthreads 20
|
||||
|
||||
./tpccbenchmark --execute=true \
|
||||
--nodes=yuga-yb-tservers \
|
||||
--warehouses=10
|
||||
```
|
||||
|
||||
### YugabyteDB workload generator
|
||||
[YugabyteDB workload generator](https://github.com/Yugabyte/yb-sample-apps) emulates various workloads against YugabyteDB.
|
||||
|
||||
Help
|
||||
```
|
||||
cd /opt/yugabyte-workload-gen
|
||||
|
||||
java -jar yb-sample-apps.jar
|
||||
```
|
||||
|
||||
Example of use
|
||||
```
|
||||
cd /opt/yugabyte-workload-gen
|
||||
|
||||
java -jar yb-sample-apps.jar \
|
||||
--workload SqlInserts \
|
||||
--nodes yugabyte-tservers-ip:5433 \
|
||||
--nouuid \
|
||||
--value_size 256 \
|
||||
--num_threads_read 16 \
|
||||
--num_threads_write 4 \
|
||||
--num_unique_keys 10000000
|
||||
```
|
Loading…
Reference in a new issue