Set the factor to 1 will lead to a single queue for a request type? Xiaolin Ha <summer.he...@gmail.com> 于2023年5月30日周二 09:24写道:
> Currently, the handlers for processing RPC calls are divided into three > types, they are write, read and scan. Correspondingly, each type of handler > corresponds to a certain number of queues. > > The corresponding mode of handler and queue is according to > "hbase.ipc.server.callqueue.handler.factor", the default is 0.1, that is, > the default ratio of the number of queues to the number of handlers is > 1:10. The handlers for a call type are divided into handler*0.1 groups, > while each group handlers consume the same queue. > > I tested the performance between single queue and multi queue mode, the > result is that, for requests of similar size, multi queue and single queue > do not impact the performance too much, as displayed in > https://issues.apache.org/jira/browse/HBASE-27683. > But for scenarios where the request size or the process time of calls > varies greatly, a single queue has a very big advantage, it can make full > use of all handlers to handle all requests of the same type, such as all > the get handlers to process all the get requests. For the call queues, when > the producing speed is larger than or equal to the speed of consuming, just > several large calls can block the processing of small calls in the same > queue. > We found a scenario for feature stores in our production clusters, while > the requests/responses size of gets varies too much, single queue mode can > help to greatly reduce the queue time of calls. > > Thanks. >