[ 
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.

This improvement will improve the resource utility in various workload and 
guarantee a level of R/W/S isolation for requests processing at the same time.

  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).
 * 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.


> 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 improvement will improve the resource utility in various workload and 
> guarantee a level of R/W/S isolation for requests processing at the same time.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to