[ 
https://issues.apache.org/jira/browse/HBASE-5699?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-5699:
-------------------------------
    Attachment: 
HBASE-5699_write_iops_multiwal-6_10,50,120,190,260,330,400_threads.tiff
                
HBASE-5699_write_iops_multiwal-4_10,50,120,190,260,330,400_threads.tiff
                
HBASE-5699_write_iops_multiwal-2_10,50,120,190,260,330,400_threads.tiff
                HBASE-5699_write_iops_multiwal-1_1_to_200_threads.tiff
                HBASE-5699_write_iops_upstream_1_to_200_threads.tiff
                results-hbase5699-upstream.txt.bz2
                results-hbase5699-wals-1.txt.bz2
                results-updated-hbase5699-wals-2.txt.bz2
                results-updated-hbase5699-wals-4.txt.bz2
                results-updated-hbase5699-wals-6.txt.bz2
                hbase-5699_total_throughput_sync_heavy.txt
                hbase-5699_multiwal_400-threads_stats_sync_heavy.txt

Attaching results from some initial testing using WALPerformanceEvaluation with 
a sync-heavy workload.

If anyone has other measurements they'd like to see, or a different workload 
expressed (perhaps to look at limits for pushing bytes given larger edits with 
fewer syncs), please let me know.

h5. Overview
command used was
{code}
bin/hbase org.apache.hadoop.hbase.wal.WALPerformanceEvaluation -threads 
${threads} -regions $(((threads+1)/2)) -roll 100000 -iterations 1000000 -verify 
{code}

with # threads varied and # regions at ceil(threads/2). default is 
sync-per-write.

Test rig is a physical cluster with 4 data nodes and a total of 20 data disks 
(5 per node). Test client was run on a separate non-loaded host. HDFS 
2.5.0-cdh5.2.0

* {{.bz2}} files are the complete logs from the described group of runs.
* "upstream" and "wals-1" data is from prior to HBASE-12655, so run metrics 
other than the final benchmark results aren't comparable to later.
* There's an image showing total write iops across the cluster for each of the 
sets of test runs.
* hbase-5699_total_throughput_sync_heavy.txt has the final benchmark log from 
each of the runs, so you can quickly look across successive runs.
* hbase-5699_multiwal_400-threads_stats_sync_heavy.txt has the run metrics from 
just the final test of the multiwal options

h5. upstream vs multiwal-1

If you look at the two charts 
"HBASE-5699_write_iops_upstream_1_to_200_threads.tiff" and 
"HBASE-5699_write_iops_multiwal-1_1_to_200_threads.tiff", they behave roughly 
the same modulo noise. (the only difference in the two happens during region 
set up, which shouldn't be reflected here.)

They also level off on ability to push more through the pipeline at near the 
limit for iops given the 3 disks in the single pipeline.

h5. increasing number of pipelines
If you look at each of the 
HBASE-5699_write_iops_multiwal-X_10,50,120,190,260,330,400_threads.tiff charts, 
as we ramp up the number of writers we manage to push more overall activity 
through the cluster.

It's not a linear gain because splitting out the pipelines means that we do 
more overall syncs since fewer of them get obviated by our sync grouping.

In this test, expanding from 2 to 4 or 6 pipelines didn't provide much benefit 
because at up to 400 concurrent sync-heavy writers we just get to maxing out 
the number of iops that can be done with 2 pipelines.

> Run with > 1 WAL in HRegionServer
> ---------------------------------
>
>                 Key: HBASE-5699
>                 URL: https://issues.apache.org/jira/browse/HBASE-5699
>             Project: HBase
>          Issue Type: Improvement
>          Components: Performance, wal
>            Reporter: binlijin
>            Assignee: Sean Busbey
>            Priority: Critical
>         Attachments: HBASE-5699.3.patch.txt, 
> HBASE-5699_write_iops_multiwal-1_1_to_200_threads.tiff, 
> HBASE-5699_write_iops_multiwal-2_10,50,120,190,260,330,400_threads.tiff, 
> HBASE-5699_write_iops_multiwal-4_10,50,120,190,260,330,400_threads.tiff, 
> HBASE-5699_write_iops_multiwal-6_10,50,120,190,260,330,400_threads.tiff, 
> HBASE-5699_write_iops_upstream_1_to_200_threads.tiff, PerfHbase.txt, 
> hbase-5699_multiwal_400-threads_stats_sync_heavy.txt, 
> hbase-5699_total_throughput_sync_heavy.txt, 
> results-hbase5699-upstream.txt.bz2, results-hbase5699-wals-1.txt.bz2, 
> results-updated-hbase5699-wals-2.txt.bz2, 
> results-updated-hbase5699-wals-4.txt.bz2, 
> results-updated-hbase5699-wals-6.txt.bz2
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to