Closed yifanguan closed 3 years ago
@yifanguan can you provide some results to motivate this change? e.g. tpcc execute results before/after?
@robertsami I did a 3-node WH2700 TPCC experiment runs with the instance type: c5d.4xl on portal based on my changes.
TPCC execute results before my changes: ================RESULTS================ TPM-C | 33645.13 Efficiency | 96.90% Throughput (req/s) | 1224.55
TPCC execute results after my changes: ================RESULTS================ TPM-C | 33915.47 Efficiency | 97.68% Throughput (req/s) | 1244.84
@yifanguan Can you also share your count for the (average) number of DocDB RPCs for the relevant procedures?
@yifanguan Can you also share your count for the (average) number of DocDB RPCs for the relevant procedures?
On my local machine with 10 WH, I ran 100% Payment, 100% NewOrder, 100% Delivery for 300s, respectively.
For the Payment procedure, With my change, 6710 PGSQL operations / 958 committed transactions = 7.00417536534 DocDB RPC. Totally, 1983 update returning statements for 100% payment transaction in 300s. Without my change, 8520 PGSQL operations / 944 committed transactions = 9.02542372881 DocDB RPC. Totally, 1979 related update statements for 100% payment transactions in 300s.
For the NewOrder procedure, With my change, 9157 PGSQL operations / 505 committed transactions = 18.132673267 DocDB RPC. Totally, 437 related update statements for 100% NewOrder transaction in 300s Without my change, 8174 PGSQL operations / 450 committed transactions = 18.16444444 DocDB RPC. Totally, 452 related update statements for 100% NewOrder transactions in 300s.
For the Delivery procedure, With my change, 22685 PGSQL operations / 3815 committed transactions = 5.94626474443 DocDB RPC. Totally, 3738 related update statements for 100% Delivery transaction in 300s Without my change, 16749 PGSQL operations / 2387 committed transactions = 7.01675743611 DocDB RPC. Totally, 2232 related update statements for 100% Delivery transactions in 300s.
This diff modifies tpcc procedures: Delivery, NewOrder, and Payment to make the use of single-request UPDATE RETURNING.