Todd Lipcon has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/16249 )

Change subject: rpc: Change InboundCall arena to 4kB by default
......................................................................

rpc: Change InboundCall arena to 4kB by default

This changes the initial block size of the protobuf::Arena used by
InboundCall to 4kb instead of the 256 byte default.  This reduces the
number of allocations required per call significantly for larger
requests/responses.

4kb was chosen as it's not so large that it would cause a lot of wasted
memory (even with thousands of concurrent RPCs in the queue or being
handled it's only <10MB total), but still large enough that it provided
a substantial speedup.

In the future we might try to keep a per-RPC estimate of how much arena
size was actually used, and use that to pre-size the arena for future
calls, but didn't seem worth the complexity for now.

Benchmarked with:

    $ KUDU_ALLOW_SLOW_TESTS=1  ./build/latest/bin/table_locations-itest \
      --gtest_filter=TableLocationsTest.GetTableLocationsBenchmark \
      --rpc_num_service_threads=32 \
      --benchmark_num_threads=48

Before: 59408 req/sec
After:  74787 req/sec (1.25x)

Alexey notes that there isn't any measurable speedup for smaller RPCs
like in the GetTableSchema benchmark.

Change-Id: Id20a3cbb5c2da1b6bfc519d852b90687297d4739
Reviewed-on: http://gerrit.cloudera.org:8080/16249
Reviewed-by: Alexey Serbin <aser...@cloudera.com>
Tested-by: Kudu Jenkins
---
M src/kudu/rpc/inbound_call.cc
1 file changed, 9 insertions(+), 2 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved
  Kudu Jenkins: Verified

--
To view, visit http://gerrit.cloudera.org:8080/16249
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Id20a3cbb5c2da1b6bfc519d852b90687297d4739
Gerrit-Change-Number: 16249
Gerrit-PatchSet: 3
Gerrit-Owner: Todd Lipcon <t...@apache.org>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to