About DBT2 Benchmark Performance

A NuoDB implementation of the DBT2 benchmark performed as described below. By configuring NuoDB table partitions and storage groups (TP/SG) specifically for the DBT2 workload, this implementation achieved over one million New Order Transactions Per Minute (NOTPM) with 40 TEs and 10 SMs.

Partitioning the TPC-C schema is straightforward. There is a single, master, warehouse ID that most tables refer to. For all tables that reference a warehouse ID, the NuoDB implementation partitions by that key. The number of warehouses is divided by the number of TEs and there is one partition for each TE.

  • Sixty-four active connections and benchmark threads achieved the highest throughput. This is a higher number than when the benchmark was run with earlier NuoDB versions.

  • With 1 SM and with TP/SG disabled, the number of TEs was increased to 12 before saturating the single SM.

  • With TPSG enabled, 8 TEs and a varying number of SMs, 4 SMs yielded the best performance but only 7% better than 2 SMs. Based on other benchmarks with many TEs, the optimal ratio appears to be 4 TEs per 1 SM.

  • One table partition per TE performed better than multiple partitions per TE when the data set was small (10 warehouses per TE). But with a larger 60-warehouse data set, the opposite was true. That is, performance improved by 10% when table partitions were increased from 1 to 3 on a single TE.

  • One storage group per SM performed as well as multiple storage groups per SM.

  • Domains perform better with SMs and TEs on separate machines. For example, in a 15-host domain, one configuration tested was TEs on 12 hosts and SMs on 3 hosts. Performance with this configuration was 20% better than a configuration that had a TE, an SM and a storage group on each host.

  • In a domain with more than 24 hosts, a misbehaving machine (such as one connected at only 1GB ethernet speed or one with a slow disk) can affect the performance of the entire domain.

See also One Million NOTPM DBT2 Benchmark on NuoDB 2.3 on the NuoDB public blog.