diff --git a/.github/scripts/performance-benchmarking/get-mysql-dolt-job-json.sh b/.github/scripts/performance-benchmarking/get-mysql-dolt-job-json.sh index 0e0efb6dd4a..2f4597803d5 100755 --- a/.github/scripts/performance-benchmarking/get-mysql-dolt-job-json.sh +++ b/.github/scripts/performance-benchmarking/get-mysql-dolt-job-json.sh @@ -44,8 +44,9 @@ meanMultiplierWritesQuery="select round(avg(multipliers), $precision) as writes_ meanMultiplierOverallQuery="select round(avg(multipliers), $precision) as overall_mean_multiplier from (select (round(avg(t.latency_percentile) / (avg(f.latency_percentile) + .000001), $precision)) as multipliers from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name != 'bulk_insert' group by f.test_name)" -tpccLatencyQuery="select f.test_name as test_name, f.server_name, f.server_version, avg(f.latency_percentile) as from_latency_median, t.server_name, t.server_version, avg(t.latency_percentile) as to_latency_median, ROUND(avg(t.latency_percentile) / (avg(f.latency_percentile) + .000001), $precision) as multiplier from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name LIKE '$tpccRegex' group by f.test_name;" -tpccTpsQuery="select f.test_name as test_name, f.server_name, f.server_version, avg(f.sql_transactions_per_second) as tps, t.test_name as test_name, t.server_name, t.server_version, avg(t.sql_transactions_per_second) as tps from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name LIKE 'tpcc%' group by f.test_name;" +tpccLatencyQuery="select f.test_name as tpcc_latency, f.server_name, f.server_version, avg(f.latency_percentile) as from_latency_median, t.server_name, t.server_version, avg(t.latency_percentile) as to_latency_median, ROUND(avg(t.latency_percentile) / (avg(f.latency_percentile) + .000001), $precision) as multiplier from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name LIKE '$tpccRegex' group by f.test_name;" +tpccTpsQuery="select f.test_name as tpcc_tps, f.server_name, f.server_version, avg(f.sql_transactions_per_second) as from_tps, t.test_name as test_name, t.server_name, t.server_version, avg(t.sql_transactions_per_second) as to_tps, ROUND(avg(t.latency_percentile) / (avg(f.latency_percentile) + .000001), $precision) as multiplier from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name LIKE 'tpcc%' group by f.test_name;" +tpccTpsMultiplierQuery="select round(avg(t.latency_percentile) / (avg(f.latency_percentile) + .000001), $precision) as tpcc_tps_multiplier from from_results as f join to_results as t on f.test_name = t.test_name where f.test_name like 'tpcc%' group by f.test_name" echo ' { @@ -109,6 +110,7 @@ echo ' "--sysbenchQueries='"$meanMultiplierOverallQuery"'", "--tpccQueries='"$tpccLatencyQuery"'", "--tpccQueries='"$tpccTpsQuery"'" + "--tpccQueries='"$tpccTpsMultiplierQuery"'" ] } ], diff --git a/go/performance/utils/benchmark_runner/dolt_tpcc.go b/go/performance/utils/benchmark_runner/dolt_tpcc.go index e8b57c9ed95..153022a7205 100644 --- a/go/performance/utils/benchmark_runner/dolt_tpcc.go +++ b/go/performance/utils/benchmark_runner/dolt_tpcc.go @@ -71,6 +71,10 @@ func (b *doltTpccBenchmarkerImpl) Benchmark(ctx context.Context) (Results, error } defer os.RemoveAll(testRepo) + if err := configureServer(ctx, b.serverConfig.GetServerExec(), testRepo); err != nil { + return nil, err + } + serverParams, err := b.serverConfig.GetServerArgs() if err != nil { return nil, err @@ -114,3 +118,19 @@ func GetTpccTests(config TpccConfig) []Test { } return tests } + +func configureServer(ctx context.Context, doltPath, dbPath string) error { + queries := []string{ + "set @@PERSIST.dolt_stats_auto_refresh_enabled = 1;", + "set @@PERSIST.dolt_stats_auto_refresh_interval = 2;", + "set @@PERSIST.dolt_stats_auto_refresh_threshold = 1.0;", + } + for _, q := range queries { + q := ExecCommand(ctx, doltPath, "sql", "-q", q) + q.Dir = dbPath + if err := q.Run(); err != nil { + return err + } + } + return nil +} diff --git a/go/performance/utils/benchmark_runner/tpcc_tests.go b/go/performance/utils/benchmark_runner/tpcc_tests.go index a7df1f10eb9..fff9027b52b 100644 --- a/go/performance/utils/benchmark_runner/tpcc_tests.go +++ b/go/performance/utils/benchmark_runner/tpcc_tests.go @@ -48,7 +48,7 @@ var _ TestParams = &tpccTestParamsImpl{} // NewDefaultTpccParams returns default TpccTestParams. func NewDefaultTpccParams() *tpccTestParamsImpl { return &tpccTestParamsImpl{ - NumThreads: 2, // TODO: When ready, expose as command line argument. + NumThreads: 1, // TODO: When ready, expose as command line argument. ScaleFactor: 1, Tables: 1, TrxLevel: tpccTransactionLevelRr,