Performance Test Methods
This section describes performance testing of GeminiDB Cassandra instances, including the test environment, procedure, and results.
Test Environment
- Region: AP-Singapore
- AZ: AZ1, AZ2, and AZ3 (three-AZ deployment)
- Elastic Cloud Server (ECS): h3.4xlarge.2 with 16 vCPUs, 32 GB of memory, and CentOS 7.5 64-bit image
- Nodes per instance: 3
- Instance specifications: All specifications described in Table 1
Test Tool
YCSB is an open-source tool for testing performance of databases. In this test, YCSB 0.15.0 is used. RoundRobinPolicy is used for load balancing.
For details on how to use this tool, see YCSB.
Test Metrics
Operations per Second (OPS): operations executed by a database per second
Test Procedure
- Configure the workload file.
Set values for fields readproportion, insertproportion, updateproportion, scanproportion, and readmodifywriteproportion in the file by referring to Table 2.
Set a value for field recordcount in the file by referring to Table 3.
- Use workload-insert-mostly as an example. Run the following command to prepare test data:
sh bin/ycsb.sh load cassandra-cql -P workloads/workload-insert-mostly -p "hosts=${ContactPoints}" -p "port=${port}" -p "cassandra.username=${username}" -p "cassandra.password=${password}" -p operationcount=400000000 -p recordcount=400000000 -p exportfile=./data_load.exp -threads ${threadNum} -s > data_load.log 2>&1 &
- Use workload-insert-mostly as an example. Run the following command to test performance:
sh bin/ycsb.sh run cassandra-cql -P workloads/workload-insert-mostly -p "hosts=${ContactPoints}" -p "port=${port}" -p "cassandra.username=${username}" -p "cassandra.password=${password}" -p operationcount=9000000 -p recordcount=9000000 -p maxexecutiontime=3600 -p exportfile=./workload-insert-mostly.exp -threads ${threadNum} -s > workload-insert-mostly_run.log 2>&1 &
Test Models
- Workload model
Table 2 Workload models Workload Model
Description
More read requests than write requests
workload-read-mostly
95% read, 5% update
Balanced read and write requests
workload-read-write-combination
50% update, 50% read
Balanced read and rewrite requests
workload-read-modify-write
50% read, 50% read-modify-write
Read, update, and write requests
workload-mixed-operational-analytical
65% read, 25% update, 10% insert
More write requests than read requests
workload-insert-mostly
90% insert, 10% read
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot