phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Assigned] (PHOENIX-3073) Auto-detect when SMALL hint should be applied
Date Wed, 14 Jun 2017 23:17:00 GMT


James Taylor reassigned PHOENIX-3073:

    Assignee:     (was: Junegunn Choi)

> Auto-detect when SMALL hint should be applied
> ---------------------------------------------
>                 Key: PHOENIX-3073
>                 URL:
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Junegunn Choi
>             Fix For: 4.12.0
>         Attachments: 3073-try.txt, PHOENIX-3073.patch
> While comparing Phoenix JDBC client to the native HBase Java client, I noticed that Phoenix
client uses significantly more CPU time on the client machine. Profiling revealed that the
majority of the time was spent on {{BaseResultIterators.getParallelScans()}}. This was surprising
to me as I was only testing with simple point lookup queries.
> Here's how I tested:
>     - {{IMAGE}} is a salted table with 100 salt buckets
>     - {{ID}}, the primary key, was randomly selected in a small range so that the requests
are served without disk I/O
> - 20K/sec concurrent requests using 128 threads
> {{getParallelScans()}} is quite expensive as it iterates over all regions of the table
which can be many, only to return a single Scan object for this query. Since such a single-key
point lookup is one of the most frequent type of requests in a typical OLTP application, I
believe it makes sense to have a fast path for it. With the patch, the average CPU usage of
the client during the workload dropped to 18.8% from 56.7% before the patch.

This message was sent by Atlassian JIRA

View raw message