50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:324515
用户头像

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

关注

评论

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

Cisco vManage漏洞分析:从SSRF到Root权限的完整攻击链

qife122

网络安全 SD-WAN

NocoBase 本周更新汇总:优化及缺陷修复

NocoBase

开源 低代码 零代码 无代码 版本更新

免费的 AI 数据分析神器!3 分钟、0 代码构建 AI 问数智能体

极客天地

什么是关系型数据库?全面解析 RDBMS 核心原理与应用实践

镜舟科技

关系型数据库 RDBMS StarRocks 湖仓一体 实时分析

MyEMS开源能源管理系统核心代码解读019

开源能源管理系统

开源 开源能源管理系统 代码解读 能源管理系统

【新模型速递】PAI-Model Gallery云上一键部署Qwen3-Coder模型

阿里云大数据AI技术

人工智能 大数据 开源 大模型 Qwen3-Coder

Apache RocketMQ,构建云原生统一消息引擎

Apache RocketMQ

RocketMQ 云原生 消息队列 云栖大会

第十五章 SEO的简单免费工具

溪抱鱼

SEO SEO 优化

TEM on 腾讯云安装 + 试用指南

TiDB 社区干货传送门

KaiwuDB 2.1.0 单节点裸机部署

KaiwuDB

腾讯云TencentOS提交Swap Table补丁系列 Linux内核内存交换性能提升20%~30%

极客天地

精彩瞬间:阿里云 KubeCon China 2025 之行回顾!

阿里巴巴云原生

阿里云 云原生 KubeCON

MyEMS开源能源管理系统核心代码解读020

开源能源管理系统

开源 开源能源管理系统 代码解读 能源管理系统

体育场馆LED屏解决方案

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏 体育

2025杭州国际智能科技产业博览会(世亚智博会)

AIOTE智博会

智博会 人工智能展 世亚智博会 智能科技展 杭州智博会

AI英语口语练习APP的技术方案

北京木奇移动技术有限公司

软件外包公司 AI英语学习 AI英语

MyEMS开源能源管理系统核心代码解读018

开源能源管理系统

开源 开源能源管理系统 代码解读 能源管理系统

我的代码背叛了我?为什么 a=1, b=2,最后x和y都等于0?

poemyang

并发编程 volatile 可见性 Java并发编程

传统公关已式微?企业出海品牌维护要靠实时舆情监控

沃观Wovision

出海企业 海外舆情 沃观Wovision 舆情监测系统

电脑下载速度很慢怎么解决 提高电脑下载速度的软件推荐

阿拉灯神丁

视频下载器 idm下载 下载工具

KWDB一键部署全攻略

KaiwuDB

UniApp + ThinkPHP 开黑游戏陪玩小程序(老板评价+订单系统)

DUOKE七七

uni-app thinkphp6

Solana 开发者拟将区块计算单位上限从 6000 万提升至 1 亿,带来繁荣的链上生态

PowerVerse

AI 应用开发的陷阱:MCP 的致命问题

电子尖叫食人鱼

人工智能 大数据

Mysql查询语句执行流程?更新语句执行流程?

不在线第一只蜗牛

MySQL

金融企业项目实践 - 开发者空间OpenGauss数据库助力项目完成

华为云开发者联盟

云主机 GaussDB(for openGauss) 数据库、 华为开发者空间

书本大纲:从芯片、分布式到云计算AI时代

poemyang

云计算 分布式 高并发

5000字谈普通人如何用AI利益最大化

阿星AI工作室

AI 产品经理 小白 工具集 AIGC

收藏!国内120+AI Agent开发/构建平台大盘点(上):互联网、云计算、AI、传统软件厂商推出的智能体平台

王吉伟频道

智能体 AI Agent Agentic AI 智能体平台 Agent开发平台

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