如何解决rsyslog在接收大流量远程syslog时因物理单核CPU跑满产生的丢包瓶颈

冬瑶姑娘_3009

冬瑶姑娘_3009

2026-06-07

381人浏览

原创

rsyslog默认单线程处理tcp连接和规则匹配,高并发时worker线程成瓶颈;需显式配置多线程输入(如module(load="imtcp" threads="8"))、分离ruleset、启用异步队列、禁用同步i/o及低效模块,并协同调优内核参数与文件描述符。

如何解决rsyslog在接收大流量远程syslog时因物理单核cpu跑满产生的丢包瓶颈

核心问题不是“CPU跑满”,而是rsyslog默认单线程处理TCP连接和规则匹配,导致高并发远程日志涌入时,单个worker线程成为瓶颈,无法充分利用多核资源,进而引发队列堆积、超时丢包或连接拒绝。

启用多线程输入与并行处理

rsyslog 8.0+ 支持真正的多线程输入,必须显式配置,不能依赖默认行为:

  • 加载 imtcp 模块时指定 Threads="n"(n建议设为物理CPU核心数,如8):
    module(load="imtcp" Threads="8" MaxSessions="2000")
  • 为每个监听端口单独定义 input,避免复用同一 ruleset 引发串行竞争:
    input(type="imtcp" port="514" threads="4" ruleset="rsyslog_in_1")<br>input(type="imtcp" port="10514" threads="4" ruleset="rsyslog_in_2")
  • 确保 ruleset 内部不包含阻塞操作(如同步文件写、慢速数据库查询),全部输出走异步队列

分离输入、解析与输出路径

避免所有日志共用一条处理流水线。按来源或设施拆分 ruleset,让不同线程池各司其职:

H2O EvalGPT
H2O EvalGPT

H2O EvalGPT是一款AI模型评测工具,H2O.ai 推出的基于 Elo 评级方法的大语言模型评估系统。

下载
  • 为网络设备(如交换机、防火墙)单独建 ruleset:
    ruleset(name="netdev" queue.type="linkedlist" queue.size="50000" queue.workerthreads="4")
  • 在对应 input 中绑定:
    input(type="imtcp" port="10514" ruleset="netdev")
  • 该 ruleset 下只做轻量过滤(如 if $syslogfacility-text == 'local7' then ...)和转发,不落地本地文件

关闭同步落盘与禁用低效模块

任何同步I/O都会卡住worker线程,尤其在SSD性能受限或磁盘繁忙时:

  • 本地文件输出一律加 - 前缀启用异步写:
    auth.* -/var/log/auth.log
  • 禁用 imklog(内核日志)和 imjournal(journald桥接)——它们与远程接收无关,却占用额外线程和内存
  • 移除所有 $ActionFileEnableSync on$ActionFileForceSync on 类配置

操作系统级协同调优

仅改rsyslog配置不够,需配合内核参数释放CPU和网络栈压力:

  • 提升TCP连接队列:
    net.core.somaxconn = 65535<br>net.ipv4.tcp_max_syn_backlog = 65535
  • 增大套接字缓冲区(防UDP/TCP丢包):
    net.core.rmem_max = 16777216<br>net.core.wmem_max = 16777216
  • 为 rsyslog 进程分配足够文件描述符:
    /etc/systemd/system/rsyslog.service.d/override.conf 中添加:
    [Service]<br>LimitNOFILE=65536

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2412

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

816

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

709

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

374

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2176

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

3992

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

647

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.2万人学习