You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The has_global_grant check (see here) is done early and unconditionally in the function. It is only needed infrequently (see here) for the usage of the binlog_admin_variable.
The function as written accounts for about 2% of CPU time on many of the write-heavy sysbench microbenchmarks that I run. The patch below moves the work from has_global_grant so it is only called when needed and that saves about 2% of CPU (or improves throughput by 2%).
The impact is more obvious on workloads with low concurrency than with high, because there are other perf issues on the high concurrency workloads.
Some example results are below. The numbers in the second column are the throughput for FB MyRocks 8.0.32 with the patch relative to unmodified FB MyRocks 8.0.32 and FB MyRocks was compiled at git hash 49b37df (code current as of 24-05-29) with RocksDB 9.2.1. When the number is 1.0 then FB MyRocks with the patch has the same perf, when > 1.0 then FB MyRocks with the patch is faster.
The has_global_grant check (see here) is done early and unconditionally in the function. It is only needed infrequently (see here) for the usage of the binlog_admin_variable.
The function as written accounts for about 2% of CPU time on many of the write-heavy sysbench microbenchmarks that I run. The patch below moves the work from has_global_grant so it is only called when needed and that saves about 2% of CPU (or improves throughput by 2%).
The impact is more obvious on workloads with low concurrency than with high, because there are other perf issues on the high concurrency workloads.
Some example results are below. The numbers in the second column are the throughput for FB MyRocks 8.0.32 with the patch relative to unmodified FB MyRocks 8.0.32 and FB MyRocks was compiled at git hash 49b37df (code current as of 24-05-29) with RocksDB 9.2.1. When the number is 1.0 then FB MyRocks with the patch has the same perf, when > 1.0 then FB MyRocks with the patch is faster.
See here for an overview of how I use sysbench.
From my older small server, sysbench with 1 thread
From my newer small server, sysbench with 1 thread
From a 2-socket server, sysbench with 16 threads, the impact is less here
From a 32-core, 1-socket server, sysbench with 24 threads, the impact is less here
The text was updated successfully, but these errors were encountered: