[ 
https://issues.apache.org/jira/browse/HBASE-9775?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13815768#comment-13815768
 ] 

stack commented on HBASE-9775:
------------------------------

Looking at YCSB, it makes a static HBaseConfiguration in the head of 
HBaseClient.  Each 'client' then does new HTable(conf, name).  Internally this 
will do a getConnection so all threads/clients will use the same underlying rpc 
connection/HConnection instance.  Let me try amending the YCSB HBaseClient so 
each has its own connection to see if that ups the amount a single 
client/YCSB-thread can drive.

Each HTable has an AsyncProcess.  An AsyncProcess can have 100 tasks 
outstanding at a time; an arbitrary number.  There is an upper bound of 256 
threads per connection IFF the connection was let create its own pool. In YCSB 
hbase client, the HTable creates the pool and it is an unbounded pool contained 
only by the 100 outstanding tasks AsyncProcess so I'd guess that when Elliott 
was running, he had "...32*77 threads (~2400)" rather than an upper bound of 
256.  To be checked.


> Client write path perf issues
> -----------------------------
>
>                 Key: HBASE-9775
>                 URL: https://issues.apache.org/jira/browse/HBASE-9775
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 0.96.0
>            Reporter: Elliott Clark
>            Priority: Critical
>         Attachments: 9775.rig.txt, 9775.rig.v2.patch, 9775.rig.v3.patch, 
> Charts Search   Cloudera Manager - ITBLL.png, Charts Search   Cloudera 
> Manager.png, hbase-9775.patch, job_run.log, short_ycsb.png, ycsb.png, 
> ycsb_insert_94_vs_96.png
>
>
> Testing on larger clusters has not had the desired throughput increases.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to