flume-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roshan Naik <ros...@hortonworks.com>
Subject Re: Flume perf measurements
Date Mon, 13 Apr 2015 21:01:42 GMT
  1.  HDD was a Single 7200 rpm regular disk.  The most significant aspects of the config are
noted in the measurements. Namely: Number of DataDirs, Batch size and Number of sinks or sources.
  2.  With Exec source it is a problem. Normally with transactional sources like avro or SpoolingDir,
you won't have the data loss issue. N case of Avro, the upstream application (Flume) which
is sending these will get an error and will have to resend. In case of SpoolingDir again the
data is still on disk.


From: 김동경 <style9595@gmail.com<mailto:style9595@gmail.com>>
Reply-To: "user@flume.apache.org<mailto:user@flume.apache.org>" <user@flume.apache.org<mailto:user@flume.apache.org>>
Date: Friday, April 10, 2015 11:18 PM
To: "user@flume.apache.org<mailto:user@flume.apache.org>" <user@flume.apache.org<mailto:user@flume.apache.org>>
Subject: Re: Flume perf measurements

Thank you for sharing Roshan.
I have a few questions.

1. What kind of, and how many hardware(HDD) did you use when you do file channel benchmark?
 Actually, I also did benchmark with file channel, I only get 2K~3K TPS.
Did you use HDDs for each data dirs?

Could you share the most influential parts in configuration for high performance?

2. Regarding 100K exec source batch size, if agent falls down before all the events are committed
to channel, aren`t those messages lost?
Do you have any measures to handle that message loss?

Thanks in advance

2015-04-11 3:44 GMT+09:00 Roshan Naik <roshan@hortonworks.com<mailto:roshan@hortonworks.com>>:
Will have this info on the wiki soon, but thought of sending it out right away to users list
also since there seem to be some threads on performance in the users list.

Sample Flume v1.4 Measurements for reference:

Here are some sample measurements taken with a single agent and 500 byte events.

Cluster Config: 20-node Hadoop cluster (1 name node and 19 data nodes).

Machine Config: 24 cores - Xeon E5-2640 v2 @ 2.00GHz, 164 GB RAM.

1.     File channel with HDFS Sink (Sequence File):

Source: 4 x Exec Source, 100k batchSize

HDFS Sink Batch size: 500,000

Channel: File

Number of data dirs: 8


Sink Count

1 data dirs

2 data dirs

4 data dirs

6 data dirs

8 data dirs

10 data dirs


14.3 k


21.9 k


35.8 k


24.8 k

43.8 k

72.5 k

77 k

78.6 k

76.6 k


58 k


49.3 k

49 k

Was looking for sweet spot in perf. So did not take measurements for all data  points on grid.
Only too for the ones that made sense. For example: when perf dropped by adding more sinks,
did not take more measurements for those rows.

2.     HDFS Sink:

Channel: Memory

# of  HDFS






Sequence File



34.3 k

33 k

33 k


71 k

75 k

69 k


141 k

145 k

141 k


271 k

273 k

251 k


382 k

380 k

370 k


478 k

538 k

486 k

Some simple observations :

  *   increasing number of dataDirs helps FC perf even on single disk systems
  *   Increasing  number of sinks helps
  *   Max throughput observed was about 538k events/sec for HDFS sink which is approx 240MB/s

View raw message