写点什么

Netflix Log4J 优化大规模日志记录

  • 2012-12-10
  • 本文字数:785 字

    阅读完需:约 3 分钟

经过 Netflix 内部优化的 log4j 版本——Blitz4j已经发布到Github 。与其他更传统的日志技术相比,Blitz4j 能够在大规模并发和流量拥挤的环境下高效生成日志,而且消耗的资源更少。这是通过重写log4j 中可能发生同步和死锁的代码部分实现的。

Netflix 对 log4J 的修改包括:

  1. 移除所有关键的同步,使用并发数据结构。
  2. 为内存缓冲区和工作线程提供强大的配置能力。
  3. 使用执行者池模型替换等待 - 通知模型,进一步隔离应用程序线程和日志线程。
  4. 通过可配置的摘要信息在日志高峰期更好地处理日志消息。

Netflix 宣称,使用 Blitz4j 时每秒钟记录 300 到 500 行日志的开销至少降低了75% ,同步相关的处理器使用峰值也完全消失了。现在,即使在高使用量和高日志量的情况下,应用程序也能在一个可接受的时间内做出响应。

随着交易量和每个实例日志需求的增加,Netflix 注意到log4j 消耗的资源越来越多,延缓了它所记录的进程的速度。因为对log4j 的大量投入,他们难以下定决心转移到像LogBack 这样不同的日志技术;相反,他们选择了重写log4j,为无阻塞和异步的日志进行了定制。 Log4j 框架并没有太大的变动;只有影响伸缩性的地方做了修改。

Netflix 的 Karthikeyan Ranganathan 认为,对于刚起步的项目而言 Blitz4j 可能并不是最好的选择。LogBack 是 log4j 团队开发的一个产品,它解决了 Netfliex 团队所关心的很多问题。在这方面,没有使用传统 log4j 框架或者基于slf4j 构建的项目应该考虑使用LogBack 而不是Blitz4j。但是对于在log4j 上有大量投入的公司而言,Blitz4j 是能够记录因特网规模日志的正确选择。

英文原文地址 Netflix Log4J Optimizations Yield Logging at Massive Scale


感谢臧秀涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-12-10 07:324537
用户头像

发布了 321 篇内容, 共 133.4 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

CODING DevOps 助力中化信息打造新一代研效平台,驱动“线上中化”新未来

CODING DevOps

持续集成 CODING DevOps 项目协同 合作 中化信息

征文投稿丨使用轻量应用服务器搭建博客环境

阿里云弹性计算

MySQL nginx 博客 Node 轻量应用服务器

等保备案主体是谁?在当地网安进行备案是吗?

行云管家

等保 等级保护 等保备案

wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module

wallys-wifi6

NFT质押LP流动性挖矿系统开发详情

开发微hkkf5566

OpenHarmony—内核对象事件之源码详解

OpenHarmony开发者

Open Harmony

叮!Techo Day 腾讯技术开放日如约而至!

CODING DevOps

CODING DevOps Cloud Studio Techo 腾讯技术开放日

大神详解开源 BUFF 增益攻略丨直播讲座

Apache IoTDB

开源 面试 求职 秋招 线上讲座

疫情之下,元宇宙游戏开发设计如何发展?

开源直播系统源码

游戏开发 元宇宙

使用Karmada实现Helm应用的跨集群部署

华为云开发者联盟

云原生 后端

使用 Open Connector 进行 HubSpot 和 SAP 系统的集成工作

汪子熙

云原生 系统集成 SAP 6月月更 open-connector

浅谈 SAP 软件里的价格折扣设计原理

汪子熙

SAP ERP pricing 企业管理软件 6月月更

高并发、高可用、弹性扩展,天翼云护航企业云上业务

天翼云开发者社区

云计算 服务器

物联网低代码平台常用《组件介绍》

AIRIOT

低代码 物联网 低代码开发平台 低代码平台 低代码,项目开发

字节跳动数据平台技术揭秘:基于ClickHouse的复杂查询实现与优化

字节跳动数据平台

Clickhouse

CRM 全栈开发工具 WebClient UI Workbench 的设计细节介绍

汪子熙

CRM webUI SAP 全栈开发 6月月更

VPS是干嘛用的?有哪些知名牌子?与云服务器有什么区别?

行云管家

运维 等保备案 VPS

后端开发—10个小技巧教你保证线程安全

C++后台开发

线程 多线程 后端开发 linux开发 C++开发

云上竞技,360°见证速度与激情

天翼云开发者社区

中能融合携手天翼云打造“能源大脑”

天翼云开发者社区

云计算 大数据 安全

Web3.0时代来了,看天翼云存储资源盘活系统如何赋能新基建(上)

天翼云开发者社区

区块链 Web

有哪些好用的供应商管理系统

优秀

低代码 数字化转型 供应商管理

Geoffrey Hinton:我的五十年深度学习生涯与研究心法

OneFlow

人工智能 机器学习 深度学习

当量子计算遇上人工智能

启科量子开发者官方号

人工智能 算力 量子计算

跟着官方文档学 Python 之:解释器和IDE

甜甜的白桃

Python pycharm IDLE 6月月更

3. Caller 服务调用 - dapr

MASA技术团队

C# .net 框架 Framework dapr

Wallys/4×4 MU-MIMO 6GHz QCN9074 Single Band Wireless Module

wallys-wifi6

openGauss内核:SQL解析过程分析

华为云开发者联盟

数据库 sql 后端

AI落地的新范式,就“藏”在下一场软件基础设施的重大升级里

九章云极DataCanvas

讲师征集令 | Apache DolphinScheduler Meetup分享嘉宾,期待你的议题和声音!

白鲸开源

Apache 大数据 开源 workflow dolpinsheduler

代理类型升级,APISIX 支持 Kafka 作为上游

API7.ai 技术团队

kafka 后端 代理 网关 APISIX 网关

Netflix Log4J 优化大规模日志记录_Java_Harry Brumleve_InfoQ精选文章