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