如果你的日志请求达到了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>
  1. 对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>
  1. 减少内存使用

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

  2. 多worker模式

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

<system>
workers 8
</system>

11. Fluentd部署:性能优化的更多相关文章

  1. 11 MySQL之性能优化

    01-优化简介 MySQL数据库优化是多方面的,原则是减少系统瓶颈,减少资源的占用,增加系统的反应速度. 1.通过优化文件系统,提高磁盘I\O的速写速度: 2.通过优化操作系统的调度策略,提高MySQ ...

  2. Android性能优化问题总结

    性能优化这块,分为UI性能优化.内存优化.数据库优化.网络优化.耗电优化等等.可以从1.如何发现问题,2.怎么解决问题,3.解决效果对比,这几个方面去描述.举个简单例子——UI优化,可以从 UI出现什 ...

  3. Android性能优化的方方面面

    通常项目比较大的APP都面临着如下性能问题,APP启动慢.界面跳转慢.事件相应慢.滑动和动画卡顿.展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化 ...

  4. 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的

    前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...

  5. vue-小爱ADMIN系列文章(二):微信微博等分享,国际化,前端性能优化,nginx服务器部署

    最近在做我的小爱ADMIN后台管理系统,结合当前市场后台管理系统对相关功能的需求,我又开始新增了一些新的功能和组件,如分享功能组件,项目国际化功能:项目完成后,部署在nginx服务器,发现首次访问的速 ...

  6. Android进阶笔记11:ListView篇之ListView性能优化

    1. 首先思考一个问题ListView如何才能提高效率 ? 当convertView为空时候,用setTag()方法为每个View绑定一个存放控件的ViewHolder对象.当convertView不 ...

  7. CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

  8. (转) Android开发性能优化简介

    作者:贺小令 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于PC的桌面应用程序.以上理由,足以 ...

  9. CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案

    一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...

随机推荐

  1. 弹性布局( display: flex;)

    参考: https://www.cnblogs.com/hellocd/p/10443237.html

  2. 算法竞赛进阶指南0x33同余

    定义 如果整数a,b除以正整数m的余数相同,那么a,b模m同余 . 知识点 拓展欧几里得算法 代码 #include <bits/stdc++.h> using namespace std ...

  3. innerHTML 和 innertext 以及 outerHTML

    今天在制作firefox下支持复制的js代码的时候,用到了innerText,测试发现原来firefox支持innerHTML但不支持innerText. test.innerHTML: 也就是从对象 ...

  4. 5.20 NOI 模拟

    万年不更题解的鸽子来更题解了 \(T1\)矩阵 是个炒鸡恶心的推式子题 求\([x_1,x_2],[y_1,y_2]\)内部的数字和,把矩阵分成四份比较容易想到,差分也容易想到 \(Sum[x][y] ...

  5. 手把手教你 Apache DolphinScheduler 本地开发环境搭建 | 中英文视频教程

    点击上方 蓝字关注我们 最近,一些小伙伴反馈对小海豚的本地开发环境搭建过程不太了解,这不就有活跃的贡献者送来新鲜的视频教程!在此感谢@Tianqi-Dotes 的细致讲解 贡献者还贴心地录制了中英文两 ...

  6. Apache DolphinScheduler 1.2.1 发布说明

    Apache DolphinScheduler 于2020年2月24日正式发布 1.2.1 版,发布内容如下: 新特性: [#1497] 通过 API 创建的工作流在前端展示时自动调整布局. [#74 ...

  7. 节后复工,Apache DolphinScheduler喜迎7位新Committer

    Apache DolphinScheduler(Incubating)社区在节后上周第一周就迎来了好消息,经过 Apache DolphinScheduler PPMC 们的推荐和投票,我们高兴的宣布 ...

  8. Apache DolphinScheduler 1.2.0 task 任务存储结构说明

    本文章经授权转载 Table of Contents 任务总体存储 Shell节点 SQL节点 存储过程节点 SPARK节点 MapReduce(MR)节点 Python节点 Flink节点 HTTP ...

  9. CAD参数化功能的一些构想

    cad二次开发人员通常对设计的具体业务不够理解,而设计人员对程序开发的学习成本也较高. 可否将cad的参数化功能搭建为二次开发人员与设计人员之间的桥梁. 如设计人员提前利用参数化功能建立对应的动态块, ...

  10. 【Java】学习路径51-线程组

    平时创建线程的时候,系统会默认为线程分组. 我们可以使用 ThreadGroup tg1 = t1.getThreadGroup(); 取得t1的线程组对象. 然后使用getName获得线程组名称. ...