Fluentd部署:性能优化

本文提供一些对于单Fluentd进程进行性能优化的建议。如果你的日志请求达到了5000条/秒,这里描述的技术点可用于调优。

  1. 检查操作系统配置

    在安装Fluentd之前,进行操作系统参数优化。可参考这里

  2. 通过top查看系统瓶颈

    如果发现Fluentd运行效率不佳,可先查看一下当前系统瓶颈在哪里:CPU?内存?磁盘IO?

  3. 避免额外运算

    不要在Fluentd中执行过多的额外运算。这其实也是一个通用的使用建议。虽然Fluentd可以进行各种过滤、格式化等操作,但是过于复杂的配置难于理解和维护,也会降低其性能和健壮性。配置文件应保持尽可能的简单。

  4. 使用flush_thread_count参数

    如果Fluentd输出的日志目的地是一个远端的服务器或者服务,可打开配置文件中的flush_thread_count参数,此参数默认值为1. 使用多个flush线程会掩盖网络延迟,增加并发输出。

    该参数适用于所有的output插件。参考配置如下:

    <match test> @type output_plugin <buffer ...> flush_thread_count 8 ... </buffer> ...</match>
  5. 对S3/TD插件使用外部gzip

    Ruby使用GIL控制多线程的执行,同一时刻只能有一个线程运行,这在一定程度上降低了系统的并发性能。

    S3/TD插件允许异步调用外部的gzip程序来进行数据压缩,这可释放CPU的部分算力来执行其他处理逻辑。

    配置如下所示:

    # S3<match ...> @type s3 store_as gzip_command <buffer ...> flush_thread_count 8 ... </buffer> ...</match>
    # Treasure Data<match ...> @type tdlog use_gzip_command <buffer ...> flush_thread_count 8 ... </buffer> ...</match>
  6. 减少内存使用

    Ruby可配置GC参数以优化内存使用性能,可通过环境变量进行配置。为减少内存使用,可调整RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR为较小的值,默认为2.0,可将其调整为0.9或1.2等。具体可参考Ruby官方文档。

  7. 多worker模式

    对于日志量级很大的场景,CPU通常会是Fluentd的性能瓶颈。此时可启用多worker模式,通过多个worker进程并行处理日志事件。

    <system> workers 8</system>
详情参见下一篇文章。
(0)

相关推荐

  • mysql_优化参数整理

    mysql_优化参数整理

  • 号称下一代日志收集系统!来看看它有多强

    后面随着架构的优化与演进,又引入另一个轻量级的组件 Filebeat,Filebeat和Logstash一样属于日志收集处理工具,基于原先 Logstash-fowarder 的源码改造出来的.与Lo ...

  • 干货:C 的性能优化

    前言 性能优化不管是从方法论还是从实践上都有很多东西,从 C++ 语言本身入手,介绍一些性能优化的方法,希望能做到简洁实用. 实例1 在开始本文的内容之前,让我们看段小程序: // 获取一个整数对应1 ...

  • Android 性能优化必知必会 · Android Performance

    做了这么久性能相关的工作,也接触了不少模块,说实话要做好性能这一块,真心不容易.为什么这么说? 是因为需要接触的知识实在是太多了, Android 是一个整体,牵一发而动全身,不是说只懂一个模块就可以 ...

  • 浅谈面向客户端的性能优化

    有朋友通过<智能音箱场景下的性能优化>一文找到了我,既然智能音箱的性能优化相当于一个超集,那么对其的一个子集--客户端系统如何进行性能优化呢? 反正隔离在家,不妨对客户端的性能优化梳理一下 ...

  • 智能音箱场景下的性能优化

    QCon是由InfoQ主办的综合性技术盛会,今年是Qcon举办的第10个年头,半吊子全栈工匠有幸作为演讲嘉宾分享一个近两年来的实践经验--智能音箱场景下的性能优化,隶属于曾波老师出品的"场景 ...

  • 如何配置Nginx压缩实现性能优化?怎么学Linux系统

    如何配置Nginx gzip压缩实现性能优化?是每个Linux运维管理人员都需要掌握的技能.互联网时代发展迅速,Linux运维技术的需求更多推进不少.市场对于Linux运维人才的需求也在逐渐加大.Li ...

  • Flutter 2.2发布:针对各平台的性能优化、完善生态支持

    局长 OSC开源社区 昨天 文 | 局长 出品 | OSC开源社区(ID:oschina2013) 谷歌在昨日举办的 Google I/O 2021 大会上宣布了 Flutter 2.2,其开发团队称 ...

  • Web性能优化之图片延迟加载

    来源:微信公众号CodeL 对于一些图片多,页面长的网页来说,如果每次打开页面加载全部的网页内容,页面加载速度势必会受到影响,如果每次打开网页只将网页可视区域的内容加载给用户 ,将大大提高网页浏览速度 ...

  • ASP.Net服务性能优化原则

    dotNET跨平台 今天 以下文章来源于老王Plus ,作者老王Plus的老王理理Asp.net性能相关的问题及注意事项. 以下这些内容,全部是经验之谈.如果你有别的建议,也可以从后台发给我. 服务器 ...

  • 大厂面试中出现概率极高的Linux性能优化题

    linux服务器开发相关视频解析: tcp专题训练营之深度解析tcp/ip协议栈 手撕线程池,200行代码搞定 1. 为什么面试官喜欢考察性能优化问题? 面试官考察性能优化问题的目的可能并不是要你设计 ...