Logtail提高採集性能

默認性能限制

爲防止濫用消耗過多機器資源,咱們對默認安裝的Logtail進行了一系列的資源限制。默認安裝的Logtail最多日誌採集速度爲20M/s,20個併發發送。html

其餘資源限制請參考:啓動參數 https://help.aliyun.com/document_detail/32278.html 中的默認配置。服務器

採集能力

單核能力

若是放開發送流控,Logtail默認單核的能力大體以下(具體根據不一樣正則、日誌類型、採集提取的key數量、機器配置等會有必定浮動):併發

   

極簡模式tcp

正則模式性能

分隔符模式測試

JSON模式優化

單核能力spa

(單核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
}


原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索