写点什么

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

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

关注

评论

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

OceanBase CEO杨冰:小就是大,构建企业核心竞争力

OceanBase 数据库

华为云主机安全助力企业种出“金葫芦”

IT资讯搬运工

如何用紧凑型语音表征打造高性能语音合成系统

小红书技术REDtech

深度学习 语音合成 自编码器 表征学习 语音表征

基于 Impala 的高性能数仓建设实践之虚拟数仓

网易数帆

大数据 impala 数仓架构

轻量化服务,大道至简,触手可及

鼎道智联

微服务 云服务 PWA 轻应用 原子化服务

沉浸感拉满!这样的电影杀约起来

科技云未来

演进式架构从不缺设计方法,最大的阻力在于「人」

万事ONES

金融和科创深化合作,常熟农商银行与博云签署战略合作协议

BoCloud博云

云计算 容器 云原生

在Rust和C之间传递字符串,有 7 种方法!

非凸科技

c rust

3000人无缝连接,WeLink助力华荣科技全场景数字化办公

神奇视野

企业搭建知识库的重要性,你了解多少?

Geek_da0866

沟通不受限,审批不堆积 深大智能通过华为云WeLink+OA实现办公提速

神奇视野

Bundle-less 的思考和实践分享

字节跳动终端技术

bundle 字节跳动 前端 构建工具 拆包

高僧斗法(博弈-Nim博弈)

Five

算法竞赛 算法题 8月月更

leetcode 225. Implement Stack using Queues 用队列实现栈(简单)

okokabcd

LeetCode 数据结构与算法

开源一夏 | Java 覆盖jar包内的方法

六月的雨在InfoQ

开源 钉钉 Java core 8月月更

软件测试100天上岸3-测试有哪些最高原则

和牛

测试 8月月更

Java:在Word文档中添加或删除页眉页脚

Geek_249eec

Java word 页眉页脚

​五大不良 coding 习惯,你占了几样?

SEAL安全

Code 代码规范 CODING

华为云安全云脑,让企业云化运营更放心

IT资讯搬运工

AIRIOT答疑第9期|AIRIOT平台服务于哪些客户?

AIRIOT

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

2022各互联网大厂面经及总结+大厂Java岗面试真题解析(进大厂必看攻略)

程序知音

Java 程序员 Java 面试 后端技术 八股文

2022 全球 AI 模型周报

Zilliz

深度学习 计算机视觉 Transformer 多模态

万物皆可集成系列:低代码释放用友深度价值(1)—系统对接集成

葡萄城技术团队

创建知识库使您的客户能够体验自助服务

Geek_da0866

3D可视化在智慧园区的应用

3DCAT实时渲染

专访通过 OBCP V3 首位考生:V3 让知识更加结构化、体系化

OceanBase 数据库

观测云产品更新|观测云计费更新;新增场景仪表板/笔记/查看器的查看权限;优化监控器和事件等

观测云

7大特征交互模型,最好的深度学习推荐算法总结

博文视点Broadview

身价百亿的Zendesk:创业,从一个小目标开始

ToB行业头条

定制开发APP——怎样吸引更多用户?

开源直播系统源码

软件开发 直播系统源码 定制开发 app定制开发

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