[
https://issues.apache.org/jira/browse/KUDU-3809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Serbin updated KUDU-3809:
--------------------------------
Summary: Enable table location cache in the system catalog by default
(was: Enable tablet location cache in the system catalog by default)
> Enable table 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
> Priority: Major
>
> [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)