bloomberg / bloomberg/comdb2

Optimizing comdb2 for running TPCC (OLTP) benchmark

Open
#573 25 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
C
Stars
1.5k
Forks
243
Avg merge
2d 2h
Merged PRs (30d)
37

Description

Hello, currently we are runnig comdb2 on AWS and we are trying to figure out a way of optimizing the performance of the comdb2 running on TPCC (OLTP) benchmark. Our goal is to complete as many transactions as possible within 300 seconds.

### Workload

1. We are using TRANSACTION_READ_COMMITTED isolation. We are limited to use no more than 15 worker threads (otherwise there will be errors on our end, not comdb2 end).

2. The scale factor is 16 (Scale factor is the number of warehouses in TPCC).

3. Each worker is able to send another transaction immediately after one transaction completes.

4. Total Time for testing: 300 seconds.

5. Percent of transactions within above 300 seconds:
1. 45% NewOrder
2. 43% Payment
3. 4% OrderStatus
4. 4% Delivery
5. 4% StockLevel

### Cluster Config
One instance of [c4.4xlarge](https://aws.amazon.com/ec2/instance-types/), thus there is only one node in the cluster.

### Initial thoughts
Here are some of our initial thoughts:

1. increase cache size (64 mb -> 128 mb)
2. increase # of threads
3. increase log-sync-time
4. enable init_with_bthash

May I ask could you please provide some suggestions/hints on 1) what configs should we optimize 2) what value range of a specific config should we conduct experiment on ?

Thank you very much!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.