Alexey Serbin created KUDU-3809:
-----------------------------------
Summary: Enable tablet location cache in the system catalog by
default
Key: KUDU-3809
URL: https://issues.apache.org/jira/browse/KUDU-3809
Project: Kudu
Issue Type: Task
Reporter: Alexey Serbin
[e55ee9d38|https://github.com/apache/kudu/commit/e55ee9d38] introduced tablet
location cache into the system catalog. However, it's not enabled by default.
Recent experiments show ~1.17x improvement in the synthetic RPC throughput
benchmark with ~1.78x times shorter average processing time per call. With
that, it makes sense to enable the cache by default since it caches only
metadata and doesn't use a lot of memory.
{noformat}
KUDU_ALLOW_SLOW_TESTS=1 ./bin/table_locations-itest \
--gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
--rpc_num_service_threads=5 \
--benchmark_num_threads=2 \
--table_locations_cache_capacity_mb=64
{noformat}
The results of the synthetic test are below.
With 64MiB cache:
{noformat}
GetTableLocations RPC: 15992.6 req/sec
Stats on GetTableLocations RPC (times in microseconds): Count: 79963
Mean: 19.7317
Last: 20
Percentiles:
0% (min) = 13
25% = 16
50% (med) = 19
75% = 22
95% = 29
99% = 38
99.9% = 47
99.99% = 67
100% (max) = 160
{noformat}
With cache disabled:
{noformat}
GetTableLocations RPC: 13610.4 req/sec
Stats on GetTableLocations RPC (times in microseconds): Count: 68052
Mean: 35.2727
Last: 32
Percentiles:
0% (min) = 16
25% = 30
50% (med) = 34
75% = 38
95% = 48
99% = 58
99.9% = 76
99.99% = 112
100% (max) = 200
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)