[
https://issues.apache.org/jira/browse/HBASE-13467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14565712#comment-14565712
]
Louis Ryan commented on HBASE-13467:
------------------------------------
Been busy with performance tuning in GRPC over the last few weeks but am
finally back at this.
Just a quick update on performance. I'm comparing TestIPC to my own TestGRPC
using 10000 cycles and 5 cells. On my local box
ipc.TestIPC(154): Cycled 10000 time(s) with 5 cell(s) in 7812ms
ipc.TestGRPC(147): Cycled 10000 time(s) with 5 cell(s) in 8602ms
ipc.TestGRPC(193): ASYNC 1000-concurrent : Cycled 10000 time(s) with 5 cell(s)
in 863ms
For a straight blocking calls we're ~10% slower than the existing IPC mechanism
which is not entirely surprising given the overheads of HTTP2. There are some
pending changes which should get us close to parity in the next couple of weeks.
The third number (863ms) is for when we issue batches of 1000 calls in parallel
to the server over the same connection which the GRPC binding lets you do very
easily.
> Prototype using GRPC as IPC mechanism
> -------------------------------------
>
> Key: HBASE-13467
> URL: https://issues.apache.org/jira/browse/HBASE-13467
> Project: HBase
> Issue Type: Improvement
> Components: API
> Affects Versions: 2.0.0
> Reporter: Louis Ryan
> Priority: Minor
>
> GRPC provide an RPC layer for protocol buffers on top of Netty 4/5. This
> could be used to replace the current internal implementation.
> GRPC supports some advanced features like streaming, async, flow-control,
> cancellation & timeout which might be useful
> Will prototype on GitHub here if folks are interested
> https://github.com/louiscryan/hbase
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)