hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guanghao Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-18500) Performance issue: Don't use BufferedMutator for HTable's put method
Date Wed, 02 Aug 2017 05:51:00 GMT
Guanghao Zhang created HBASE-18500:
--------------------------------------

             Summary: Performance issue: Don't use BufferedMutator for HTable's put method
                 Key: HBASE-18500
                 URL: https://issues.apache.org/jira/browse/HBASE-18500
             Project: HBase
          Issue Type: Bug
            Reporter: Guanghao Zhang


Copied the test result from HBASE-17994.
Run start-hbase.sh in my local computer and use the default config to test with PE tool.
{code}
./bin/hbase org.apache.hadoop.hbase.PerformanceEvaluation --rows=100000 --nomapred --autoFlush=True
randomWrite 1
./bin/hbase org.apache.hadoop.hbase.PerformanceEvaluation --rows=100000 --nomapred --autoFlush=True
asyncRandomWrite 1
{code}

Mean latency test result.
|| || Test1 || Test2 || Test3 || Test4 || Test5 ||
| randomWrite | 164.39 | 161.22 | 164.78 | 140.61 | 151.69 |
| asyncRandomWrite | 122.29 | 125.58 | 122.23 | 113.18 | 123.02 |

50th latency test result.
|| || Test1 || Test2 || Test3 || Test4 || Test5 ||
| randomWrite | 130.00 | 125.00 | 123.00 | 112.00 | 121.00 |
| asyncRandomWrite | 95.00 | 97.00 | 95.00 | 88.00 | 95.00 |

99th latency test result.
|| || Test1 || Test2 || Test3 || Test4 || Test5 ||
| randomWrite | 600.00 | 600.00 | 650.00 | 404.00 | 425.00 |
| asyncRandomWrite | 339.00 | 327.00 | 297.00 | 311.00 | 318.00 |

In our internal 0.98 branch, the PE test result shows the async write has the almost same
latency with the blocking write. But for master branch, the result shows the async write has
better latency than the blocking client.  Take a look about the code, I thought the difference
is the BufferedMutator. For master branch, HTable don't have a write buffer and all write
request will be flushed directly. And user can use BufferedMutator when user want to perform
client-side buffering of writes. For the performance issue (autoFlush=True), I thought we
can use rpc caller directly in HTable's put method. Thanks.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message