Sizing an OLTP TPC-E-like workload, Part 1
I used AI tools to size an OLTP workload on an EC2 system, with DBT-5, a TPC-E-like fair-use implementation. I provided a systematic and mechanical plan for running a series of tests to determine what the appropriate scale factor is on a system.
I pre-configured the database with some settings that are known to be needed to be changed, such as shared_buffers and max_wal_size but more on this at a later time when we characterize the system behavior further to be able to tune some of these settings better. Remember, this is an iterative process when trying to figure it out for any workload.
I decided to use Claude Fable 5.1 for this exercise and fed in the following instructions:
- Start with the minimum valid database size with 5000 customers.
- Start testing with 1 user and increase by 1 user up to 2 times the number of logical processors.
- Run all tests with a 1 hour steady state as that is expected to be long enough to establish a stable result.
- Observe the TPC-E specification for valid transaction rates to determine what the appropriate database size is for the maximum observed transaction rate.
- It is expected that we will have to continue bisecting the database size to find the highest legal transaction rate allowed for this system.
- Continue to validate that the number of users that produced the most throughput continues to produce the most throughput at each database size.
The following chart illustrates the sum of all the testing from starting at a 5000 customer database, up to a 97,000 customer database:
We need to zoom in a little bit to see that the best result for this system is at 32,000 customers with 24 users:It's worth mentioning that during this exercise, Claude also ran some smoke tests at various times to make sure everything was working. There were some minor fixes, but a significant improvement was to actually spend the time to allow multiple Trade Results and Market Feed transactions to be handled concurrently. It's been pointed out at least a couple times over the years that this test kit was only allowing 1 to be executed at a time. So these fix-ups did require starting this exercise over more than a couple of times.Thanks goes to Amazon for providing AWS credits and access to Kiro and Claude.



