Skip to content
Branch: master
Find file History

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
Gemfile
README.md
agent.conf
docker-compose.yml
dummer.conf
receiver.conf

README.md

Fluentd benchmark - forward

This benchmarks following architecture scenario:

  Agent Node                                     Receiver Node
  +-----------------------------------+          +-----------------+
  | +-----------+      +-----------+  |          |  +-----------+  |
  | |           |      |           |  |          |  |           |  |
  | | Log File  +----->|  Fluentd  +--------------->|  Fluentd  |  |
  | |           |      |           |  |          |  |           |  |
  | +-----------+  in_tail ----- out_forward   in_forward  -----+  |
  +-----------------------------------+          +-----------------+

Setup Fluentd Receiver

Assume ruby is installed

git clone https://github.com/fluent/fluentd-benchmark
cd fluentd-benchmark/one_forward
bundle
bundle exec fluentd -c receiver.conf

Setup Fluentd Agent

Assume ruby is installed

git clone https://github.com/fluent/fluentd-benchmark
cd fluentd-benchmark/one_forward
bundle
bundle exec fluentd -c agent.conf

Run benchmark tool and measure

Run at Fluentd agent server.

This tool outputs logs to dummy.log, and Fluentd agent reads it and sends data to a receiver.

cd fluentd-benchmark/one_forward
bundle exec dummer -c dummer.conf

You may increase the rate (messages/sec) of log generation by -r option to benchmark.

bundle exec dummer -c dummer.conf -r 100000

You should see an output on Fluentd receiver as followings. This tells you the performance of fluentd processing.

2014-02-20 17:20:55 +0900 [info]: plugin:out_flowcounter_simple count:500       indicator:num   unit:second
2014-02-20 17:20:56 +0900 [info]: plugin:out_flowcounter_simple count:500       indicator:num   unit:second
2014-02-20 17:20:57 +0900 [info]: plugin:out_flowcounter_simple count:500       indicator:num   unit:second

You may use iostat -dkxt 1, vmstat 1, top -c, free, or dstat commands to measure system resources.

Sample Result

This is a sample result running on my environement

Machine Spec

CPU	Xeon E5-2670 2.60GHz x 2 (32 Cores)
Memory	24G
Disk	300G(10000rpm) x 2 [SAS-HDD]
OS CentOS release 6.2 (Final)

Result

Agent
rate of writing (lines/sec) reading (lines/sec) CPU (%) Memory (kB) Remarks
10 10 0.2 29304
100 100 0.3 35812
1000 1000 1.3 37864
10000 10000 6.6 39912
100000 100000 62 39912
200000 157148 100.4 36280 MAX
300000 N/A
400000 N/A
5247047 N/A MAX of dummer tool
You can’t perform that action at this time.