Closed danieljoos closed 1 month ago
I believe the failing test case generated-columns-unique
is unrelated. The error can be reproduced on the master branch by adding an UPDATE
to the test case (https://github.com/github/gh-ost/pull/1461)
Find below the results of some synthetic benchmarks, using the Go benchmarking capabilities. The benchmarks have been conducted on Codespace hosts. Benchmark functions can be found in the details.
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Delete-2 460914 2994 ns/op 1112 B/op 45 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.416s
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Delete-2 5844512 186.2 ns/op 128 B/op 4 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.306s
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Insert-2 774986 1713 ns/op 600 B/op 27 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.353s
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Insert-2 9303057 141.0 ns/op 104 B/op 3 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.453s
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Update-2 400082 3062 ns/op 1136 B/op 52 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.266s
goos: linux
goarch: amd64
pkg: github.com/github/gh-ost/go/logic
cpu: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
BenchmarkApplierBuildDMLEventQuery_Update-2 3431607 363.4 ns/op 232 B/op 6 allocs/op
PASS
ok github.com/github/gh-ost/go/logic 1.611s
Description
This pull request adapts the query building routines for DML event queries. Parts that never change throughout the migration will only be computed once.
Measurements
Tests with production load showed an increase in throughput of around 5-10%. The tests have been conducted on separate testing replicas.
(🔵 blue: current version, 🔴 red: updated version)
The results of synthetic benchmarks can be found here: https://github.com/github/gh-ost/pull/1459#issuecomment-2431632260
script/cibuild
returns with no formatting errors, build errors or unit test errors.