Test models
ApsaraDB RDS for SQL Server performance benchmarks use the TPC-C workload, an industry-standard Online Transaction Processing (OLTP) benchmark. The TPC-C model simulates a wholesale supplier with multiple warehouses shipping goods to a large number of customers. All benchmark results published in the RDS SQL Server Performance White Paper are based on the schema and stored procedures on this page.
How it works
The benchmark schema models a company that sells 100,000 items and stores inventory across multiple warehouses. Each warehouse serves 10 sales districts, and each district has 3,000 customers. Scaling the number of warehouses scales the dataset size proportionally — only the ITEM table has a fixed row count.
The workload runs a mix of five transaction types, issued at random according to the following distribution:
| Transaction | Stored procedure | Description | Load share |
|---|---|---|---|
| New order | [dbo].[NEWORD] | Receive a new customer order | 45% |
| Payment | [dbo].[PAYMENT] | Update a customer balance to record a payment | 43% |
| Delivery | [dbo].[DELIVERY] | Deliver orders asynchronously | 4% |
| Order status | [dbo].[OSTAT] | Retrieve the status of a customer's most recent order | 4% |
| Stock level | [dbo].[SLEV] | Return the inventory status of a warehouse | 4% |
New order and payment together account for 88% of the total workload.
Tables
The schema contains nine tables:
| Table | Description |
|---|---|
[dbo].[WAREHOUSE] | Each row represents one warehouse; row count equals the number of warehouses configured |
[dbo].[DISTRICT] | Each warehouse has 10 sales districts |
[dbo].[CUSTOMER] | Each district has 3,000 customers |
[dbo].[ITEM] | Fixed catalog of 100,000 items sold by the company |
[dbo].[STOCK] | Inventory levels per item per warehouse; scales with warehouse count |
[dbo].[ORDERS] | Customer orders; scales with warehouse count |
[dbo].[NEW_ORDER] | Orders that have been placed but not yet delivered |
[dbo].[ORDER_LINE] | Line items within each order |
[dbo].[HISTORY] | Payment history records |
Stored procedures
The five stored procedures map directly to the five TPC-C transaction types:
| Stored procedure | Transaction |
|---|---|
[dbo].[NEWORD] | New order |
[dbo].[PAYMENT] | Payment |
[dbo].[DELIVERY] | Delivery |
[dbo].[OSTAT] | Order status |
[dbo].[SLEV] | Stock level |
What's next
To reproduce benchmark results or run your own performance tests, download HammerDB and refer to the HammerDB TPROC-C documentation.
For the benchmark configuration used in official tests (warehouse count, ramp-up time, test duration), see the RDS SQL Server Performance White Paper.