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