topcommand first. Try to identify which part of your system is becoming a bottleneck (CPU, Memory, Disk I/O, etc.).
flush_thread_countoption will parallelize your outputs (the default is 1). Using multiple threads can hide the IO/network latency. This parameter is available for all output plugins.
gzipCommand for S3/TD
gzip. This frees up the Ruby interpreter while allowing Fluentd to process other tasks.
flush_thread_countoption as well.
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTORto a lower value.
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTORis used for full GC trigger and the default is
Do full GC when the number of old objects is more than R * N where R is this factor and N is the number of old objects just after last full GC.
2.0 * before old objects. This improves the throughput but it grows the total memory usage. This setting is not good for the low resource environment e.g. a small container. For such cases, try