zoukankan      html  css  js  c++  java
  • Logtail提升采集性能

    默认性能限制

    为防止滥用消耗过多机器资源,我们对默认安装的Logtail进行了一系列的资源限制。默认安装的Logtail最多日志采集速度为20M/s,20个并发发送。

    其他资源限制请参考:启动参数 https://help.aliyun.com/document_detail/32278.html 中的默认配置。

    采集能力

    单核能力

    如果放开发送流控,Logtail默认单核的能力大致如下(具体根据不同正则、日志类型、采集提取的key数量、机器配置等会有一定浮动):

       

    极简模式

    正则模式

    分隔符模式

    JSON模式

    单核能力

    (单核100%CPU)

    采集速度

    100MB/s

    20MB/s

    35MB/s

    30MB/s

    内存占用

    80

    80

    80

    80

    采集速度

    0.1 MB/s(200条/s)

    CPU占用(单核)

    0.3%

    0.6%

    0.5%

    0.5%

    内存占用

    32

    32

    32

    32

    采集速度

    1 MB/s(2000条/s)

    CPU占用(单核)

    1.3%

    5.0%

    3.5%

    3.5%

    内存占用

    32

    32

    32

    32

    备注:测试环境
    CPU :Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz
    MEM : 64GB
    OS : Linux version 2.6.32-220.23.2.ali1113.el5.x86_64

    多核能力

    Logtail默认只开一个线程处理数据,如果开启多核,性能会有提升,但并不是线性关系,实测最多开到8个线程后,性能几乎没有上涨。

    • 极简模式最高性能可达:440MB/s
    • 正则最高性能可达:70MB/s
    • 分隔符最高性可达:75MB/s
    • JSON最高性能可达:75MB/s

    日志格式建议

    根据您的使用目的,合理选择对应的日志格式

    1. 搬数据:使用极简模式,性能最高
    2. 数据分析:多字符分隔符>单字符分隔符>JSON模式>正则模式
    3. Java堆栈类型数据:正则模式
    • 注意:正则模式采集性能和正则优化有非常大关系。

    如何放开资源限制

    可通过调整Logtail的启动参数来放开默认的资源限制,下面我们推荐2种配置方式:

    • 注意:Logtail使用短连接发送数据,如果发送并发过高,建议调整服务器的tcp参数,防止过多time_wait
    • 调整方式:sudo sysctl -w net.ipv4.tcp_tw_timeout=5

    单核小资模式

    在配置文件末尾追加以下两个参数,注意JSON需合法。

    {
        ...
        "max_bytes_per_sec" : 50000000,
        "send_request_concurrency" : 50
    }

    多核极致模式

    在配置文件末尾追加以下几个参数,需保证,注意JSON需合法。

    • 注意:需保证 cpu_usage_limit > process_thread_count
    {
        ...
        "cpu_usage_limit" : 5,
        "process_thread_count" : 4,
        "max_bytes_per_sec" : 50000000,
        "send_request_concurrency" : 50
    }

    本文作者:元乙

    原文链接 

    本文为云栖社区原创内容,未经允许不得转载。

  • 相关阅读:
    sqlserver 高性能存储过程分页
    显示路径下图片
    此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址随便造成的。请稍候重试。 jm vs咋还会有这个问题
    读取excel 可以多个模板同一连接遍历
    判断checkboxlist 是否选中的js函数
    C# json 序列化 扩展类
    判断表是否存在关联记录
    批量处理的sql语句
    sql 递归函数
    asp.net js 提示信息封装函数
  • 原文地址:https://www.cnblogs.com/zhaowei121/p/10985192.html
Copyright © 2011-2022 走看看