java奥运会安排赛程问题_记录奥运-当今五大Java记录框架之间的竞赛

java奥运会安排赛程问题

开发人员:Takipi会告诉您何时新代码在生产中中断–

博客运行

Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2

日志记录实际上是每个服务器端应用程序中古老且固有的部分。 这是应用程序以持久且可读的方式输出实时状态的主要方法。 某些应用程序每天可能仅记录几兆字节,而其他应用程序可能会在数小时内记录千兆字节或更多的数据。

由于日志记录通常涉及IO将数据写入磁盘(阻塞或异步)–因此需要付出一定的代价。 在短时间内记录大量数据时,该成本会Swift增加。 我们决定更深入地研究当今一些领先的日志记录引擎的速度。

大多数开发人员记录数据的原因主要有以下三个:

  1. 监视 –查看代码在吞吐量,规模,安全性等方面的行为。
  2. 调试 –访问导致代码失败的状态(变量,堆栈跟踪…)。 Takipi帮助开发人员调试登台服务器和生产服务器,并了解代码崩溃和线程冻结的原因。
  3. 分析 –利用应用程序中的实时数据来得出有关其使用方式的结论。

在立面的后面 。 如今,大多数库都在代码的关键点内置了日志,以提供对其操作的可见性。 为了简化此过程并防止不同的库在同一JVM中采用多种日志记录方法,将代码与底层引擎分离的日志记录Facade成为最重要的问题。 当我们分析Java的前100个软件库时 ,SLF4J成为当今开发人员使用的主要日志记录界面。

竞赛

我们决定选择五个当今最杰出的测井引擎,并观察它们在许多比赛中的表现。 现在,在取出割炬和干草叉之前,我想说明的并不是要说哪个更好,而是要了解在许多常见的日志记录任务中引擎之间的吞吐量差异。

参赛者

  1. Log4J
  2. Log4J2
  3. 退回
  4. SLF4J简单记录(SLF4J SL)
  5. Java Util记录(JUL)

种族

我们想看看引擎如何比较一组标准的日志记录活动。 每个日志记录操作都包括一个时间戳和一个线程ID作为其上下文。

这些是种族:

  1. 记录字符串常量
  2. 记录POJO的.toString()值
  3. 记录可抛出对象
  4. 记录没有时间/ tid上下文的字符串常量

轨道

我们决定为每场比赛举行五次预赛,以确定最佳成绩,衡量完成的伐木作业次数。 在每个测试中,我们都给日志记录引擎一个任务,使其在一分钟内跨10个线程执行(测试分别运行)。 然后,我们取出偏差最大的2个加热点,并对其余3个结果取平均值。

在每个单独的日志记录操作之间,我们给CPU做一些工作来在日志记录操作之间放置一些空间(检查是否有小的随机数是素数)。 引擎均使用其默认配置在SLF4J后面运行。 基准测试是在Amazon m1.large EC2实例上运行的。

结果

对数奥林匹克结果2

对数奥林匹克后更改

要查看完整的数据集– 单击此处 。

第1场–字符串常量

在这场比赛中,引擎正在记录一个字符串常量以及线程和时间戳上下文。 Log4J在这里无疑是赢家,能够写的行数比JUL多了270%,比logback多了12.5%,比SLF4J SL多了52%。 值得注意的是,在更改Log4J2的配置之前,可以少写入4X(!)行,而swtich将其提升为#3,而写入的行数仅比logback少30%。

第2场– .toString()

在这场比赛中,引擎正在记录POJO(通过其.toString)以及线程和时间戳上下文。 Log4J2排在第一位,与SLF4J SL排在第二位相比,具有25%的优势(变更后),这里的结果更加接近。 Log4J和Logback在#3点上并驾齐驱,JUL以SLF4J SL的88%吞吐率获得白银。

第三场比赛-投掷

在这场比赛中,引擎正在记录异常对象和描述字符串以及线程和时间戳上下文。 在此竞赛中,Log4J2着火了,与#5的SLF4J SL相比,在#1处记录的行数是行的3倍(!)多。

Log4J和Logback也被遗忘了,记录的次数不到我们尊敬的获胜者的一半。 7月排在第二名,与我们的获胜者相比,记录了82%的比赛成绩-不错。

第4场比赛(赤脚跑步)– .toString()减去上下文

处理服务器日志时,每个条目的上下文(例如线程ID,类上下文,时间戳等)几乎与条目本身的内容一样重要。 在以前的比赛中,我们使用了在大多数服务器日志条目中可以找到的两个最常见的上下文元素-线程ID和时间戳。 我们认为通过运行.toString()竞赛而不使用任何引擎的上下文附加程序来分析这些开销非常有趣。

Log4J2是这里的赢家(更改会议后,可获得180%的提升),Logback和JUL的领先优势明显为25%。 SLF4J SL紧随其后。 令人困惑的是,在5个不同的加热条件下,SLF4J SL使用添加器的效果要好于不使用添加器的效果(希望您能在评论中听到您的想法)。

Log4J的最大突破是吞吐量增加了15%。 尽管在竞争中,JUL的性能不如Log4J或Log4J2,但无论有没有上下文数据,JUL都能提供几乎完全相同的结果。

我很想听听您的意见和建议。

  • 您也可以在GitHub上签出代码。

参考: The Logging Olympics –在我们的Jaki 合作伙伴 Tal Weiss的Takipi博客上, 探讨了 当今最重要的5种Java日志记录框架之间的竞赛 。

翻译自: https://www.javacodegeeks.com/2013/12/the-logging-olympics-a-race-between-todays-top-5-java-logging-frameworks.html

java奥运会安排赛程问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345139.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【渝粤题库】陕西师范大学165203 社会保险学 作业(专升本)

《社会保险学》作业 一、单选题 1、劳动者参加()不需要缴纳任何保险费,而且享受待遇不受年龄、工龄、缴费年限、性别等条件的限制。 A、养老保险 B、医疗保险 C、工伤保险 D、失业保险1948年正式宣 2、保障社会安全的最后一道防线是&#xff…

【渝粤题库】陕西师范大学189202 品牌管理 作业(专升本)

一、名词解释 1、商标 2、品牌个性 3、品牌接触点 4、品质认知 5、品牌 6、品牌联想 7、品牌联合 8、品牌经理制 9、品牌形象 10、品牌杠杆力 11、品牌审计 12、投射法 13、品牌保护 二、 选择填空 A. 消费者 B. 体验 C.品牌定位 D. 品牌标识 E.反比 F. 正比 G.伞型品牌策略 H.…

【渝粤题库】陕西师范大学200311常微分方程作业(高起本)

《常微分方程》作业 一.求解下列方程 1.求方程之通解; 2.求方程之通解; 3.解初值问题; 4.求方程 之通解; 5.求方程 的通解; 6. 求方程 的通解; 7…

为什么在子类中不重写超类的实例变量

当我们在父类和子类中创建一个具有相同名称的变量,并尝试使用持有子类对象的父类引用访问它时,我们会得到什么? 为了理解这一点,让我们考虑下面的示例,其中在Parent和Child类中声明一个具有相同名称的变量x 。 class…

【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)

一、单选题 1.有如下程序段,其执行后的输出结果为( )。 main() {int i8; while(i>1) {–i; printf(“%d”,i–);} } A. 753 B. 7531 C. 8642 D. 864 2.在下列的数组定义中,哪一个有语法错误(…

【渝粤题库】陕西师范大学201041德育论 作业(专升本)

《德育论》作业 一、单选题 1.德育过程的实质是(  )  A.将学生的思想品德认识转化为品德行为   B.提高学生自我教育、自我修养的自觉性  C.提高学生对客观世界的认识  D.教育者将一定社会的思想道德规范转化为受教育者个体的思想品德 2.大众传媒的…

【渝粤题库】陕西师范大学201661英语阅读(二)作业(高起专)

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 《阅读(二)》作业 I.Words DIRECTIONS: Read the sentence given with each word and choose the best meaning for it. 1.injure Wooden spears or swords should be used on…

cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三)

上周五下班前,打包成功了。我很高兴,周六去踢场足球,周日去现场看了最后一分钟掉球的恒大,度过了一个愉快的周末。然后,噩梦的周一开始了。我再次打包,打算打包就安装,但结果是失败的。为何&…

github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库

github上java项目随着Java开发人员使用既成熟又高度发展的语言来工作,无论何时编写新代码,我们都将面临一个持续的困境–使用大家都在谈论的热门新技术,或者坚持使用久经考验的库? 由于Java应用程序的很大一部分是商业性质的&…

【渝粤题库】陕西师范大学202071 统计学 作业(专升本、高起本)

《统计学》作业 一、单项选择题 1.对于占全国彩电总产量绝大比重的彩电企业进行生产基本情况全面调查这是( )   A、典型调查  B、普查    C、重点调查 D、抽样调查 2.某地进行国有商业企业经营情况…

【渝粤题库】陕西师范大学202861 发展心理学 作业(专升本)

《发展心理学》作业 一、名词解释 发展心理学正强化心理社会的合法延缓期复演说负强化学习障碍图式溶血症抓握反射应答性行为观察学习多动症 二、填空题儿童动作发展的顺序是(  )、 ( )、从大肌肉到小肌肉。(  &…

char java 回文_LeetCode刷题笔记(Java)---第1-18题

题目来自LeetCode文章目录全部章节1-18题19-40题41-60题61-80题81-100题101-120题121-140题1.两数之和2.两数相加3.无重复字符串的最长子串4.寻找两个有序数组的中位数5.最长回文子串6.Z 字形变换7.整数反转8.字符串转换整数 (atoi)9.回文数10.正则表达式匹配11.盛最多水的容器…

使用PostgreSQL使用Spring Boot和JPA构建基本应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 每个不平凡的应用程序都需要一种保存和更新数据的方法:可通过HTTP访问的资…

【渝粤题库】陕西师范大学210001儿童心理学 作业(高起专、高起本)

《儿童心理学》作业 一、填空 1、研究儿童心理必须遵循的原则是______ 、 _______ 、。 2、新生儿最基本的无条件反射是 、 ________ 、。 3、学前儿童掌握实物概念的特点是以_______为主,以_______为主。 4、感觉既是一种______现象,又是一种_______现象…

【渝粤题库】陕西师范大学210033 劳动法与社会保障法作业

《劳动法与社会保障法》作业 一、单项选择题 1.职工李某1985年8月进某皮鞋厂工作,二年后因失恋精神失常,经当地区精神病防治院诊断为精神分裂症,并经住院治疗,以后也常有病假。1995年9月李某以要调换新单位为由申请辞职。在单位制…

【渝粤题库】陕西师范大学292969 会计学 作业 (专升本、高起本)

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 《会计学Ⅱ》作业 一、名词解释 1、会计核算 2、会计主体 3、可比性 4、会计监督 5、持续经营 6、一致性 7、复式记账 8、会计期间 9、谨慎性 10、财产清查 11、权责发生制 12、流动资产 二、填空 1、…

百分制转化为五级制java_javav 的日志-编写存储过程,将百分制成绩,转换成绩等级’A’,’B’,’C’,’D’,’E’...

要求;存储过程要有输入和输出create procedure chengji( in n int , out result varchar )begindeclare result varchar(20);set ntruncate(rand()*100,0);casewhen n>90 thenset resultA;when n>80 thenset resultB;when n>70 thenset resultC;when n&…

guava 并发_使用Guava对并发应用程序进行基于对象的微锁定

guava 并发编写并发Java应用程序时最令人讨厌的问题之一是对线程之间共享的资源的处理,例如Web应用程序的会话和应用程序数据。 结果,如果应用程序的并发级别很低,许多开发人员选择根本不同步这些资源。 例如,不太可能同时访问会话…

【渝粤题库】陕西师范大学500001 理论力学 作业(专升本)

《理论力学》作业 一. 填空 在平面极坐标系中,速度的径向分量为______ ,横向分量为_____,加速度的径向分量为_____,横向分量为_____。在平面自然坐标系中,的方向为______,,质点的切向加速度为_…

java数组按照大小排列_Java怎么让数组中元素按照牌值从小到大的顺序排列

展开全部你说的这些牌是用数组来存放的,所以有些麻烦。直接复制运行,更改牌的62616964757a686964616fe58685e5aeb931333332643838数量测试,有不懂的再问我package test;import java.util.Arrays;import java.util.Random;public class DaoTes…