[
https://issues.apache.org/jira/browse/HBASE-27962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yutong Xiao updated HBASE-27962:
--------------------------------
Description:
We currently use the FastPathRWQueueRpcExecutor. But the numbers of read/write
handlers are fixed, which make the RegionServer performance not so good in our
prod env.
The logic of it is described below:
* The basic architecture is same as FastPathRWRpcExecutor.
* Introduced a float shared_ratio (0, 1.0), to indicate the ratio of the
number of shared handlers. (for example, if we have 100 handlers, 50 for write,
25 for get, 25 for scan, there will be 10 + 5 + 5 shared handlers and 40
isolated handlers for write, 20 for get and 20 for scan).
* Shared handler could run all the three kinds of requests.
* Shared handler will be shared only when it is idle.
* Shared handler is also bounded to a kind of RPCQueue, it will process the
requests in that queue first.
was:
We currently use the FastPathRWQueueRpcExecutor. But the numbers of read/write
handlers are fixed, which make the RegionServer performance not so good in our
prod env.
The logic of it is described below:
* The basic architecture is same as FastPathRWRpcExecutor.
* Introduced a float shared_ratio (0, 1.0), to indicate the ratio of the
number of shared handlers. (for example, if we have 100 handlers, 50 for write,
25 for get, 25 for scan, there will be 10 + 5 + 5 shared handlers and 40
isolated handlers for write, 20 for get and 20 for scan).
* When there is no idle fastpath handler for the three groups of handlers
respectively, it will try to get an idling shared handlers.
* The shared handlers are bounded to their own R/W/S queue, it will process
that kind of request first and only be shared after being added to idle handler
stacks.
> Introduce an AdaptiveFastPathRWRpcExecutor to make the W/R/S separations fit
> various workloads
> -----------------------------------------------------------------------------------------------
>
> Key: HBASE-27962
> URL: https://issues.apache.org/jira/browse/HBASE-27962
> Project: HBase
> Issue Type: Improvement
> Reporter: Yutong Xiao
> Assignee: Yutong Xiao
> Priority: Major
>
> We currently use the FastPathRWQueueRpcExecutor. But the numbers of
> read/write handlers are fixed, which make the RegionServer performance not so
> good in our prod env.
> The logic of it is described below:
> * The basic architecture is same as FastPathRWRpcExecutor.
> * Introduced a float shared_ratio (0, 1.0), to indicate the ratio of the
> number of shared handlers. (for example, if we have 100 handlers, 50 for
> write, 25 for get, 25 for scan, there will be 10 + 5 + 5 shared handlers and
> 40 isolated handlers for write, 20 for get and 20 for scan).
> * Shared handler could run all the three kinds of requests.
> * Shared handler will be shared only when it is idle.
> * Shared handler is also bounded to a kind of RPCQueue, it will process the
> requests in that queue first.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)