hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bryan Beaudreault <bbeaudrea...@hubspot.com>
Subject Re: Average RPC Queue Time
Date Wed, 20 Nov 2013 16:55:44 GMT
A regionserver is configured with a certain number of RPC handlers
(hbase.regionserver.handler.count).  When these handlers are all occupied,
the calls back up into a callQueue.  This call queue is bounded by
ipc.server.max.callqueue.size (defaulting to 1GB of serialized requests)
and ipc.server.max.callqueue.length (10 * numHandlers).  So, with 5
handlers a maximum of 50 calls will be queued up before requests are
rejected outright.

The RpcQueueTime metrics are a measurement of how long individual calls
stay in this queued state.  If your handlers were never 100% occupied, this
value would be 0.  An average of 3 hours is concerning, it basically means
that when a call comes into the RegionServer it takes on average 3 hours to
start processing, because handlers are all occupied for that amount of time.

You can lower time through a few options:

- Up the max number of handlers (beware using too many, as this just shifts
load to the disks, and also takes more memory)
- Make your requests smaller (use caching or batching on a scan to return
less data per RPC call)
- Lower your client-side timeouts, so that you can handle the issue on the
client side (i.e. retries)
- Investigate disk or network issues that could be causing extremely slow
response times (ensure data is 100% local, too)

Just for perspective, the nominal operating value of this probably varies
greatly with the workload/environment, but in our clusters we have an
Average RPC Queue Time of near 0.  We only see the callQueue fill up in the
case of real problems, and almost always respond with immediate
redistribution of data to other servers.

HTH

 - Bryan


On Wed, Nov 20, 2013 at 11:31 AM, Shawn Hermans <shawnhermans@gmail.com>wrote:

> I am using CDH 4.3.1 with HBase 0.94.6.  Using Cloudera manager, I notice a
> metric called Average RPC Queue Time is abnormal.  It is over 3 hours
> normally and drops to a few minutes during non-peak times.  What is the
> meaning of this metric? Are these high queue times normal?
>
> Thanks,
> Shawn
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message