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)

Reply via email to