java 性能调优_Java性能调优调查结果(第一部分)

java 性能调优

我们在2014年10月进行了Java性能调优调查。该调查的主要目的是收集对Java性能世界的见解,以改善Plumbr产品。 但是,我们也很高兴与您分享有趣的结果。 我们收集的数据为进行冗长的分析提供了素材,因此我们决定将结果划分为一系列博客文章。 这是第一个,试图回答以下问题:

  • 谁处理Java性能问题?
  • Java性能问题有多广泛?
  • 解决这些问题需要多长时间?
  • 这个时间花在哪里?

回答我们调查的工程角色

2014年10月,共有308位受访者接听了我们的电话,并完成了调查。我们还根据其角色对受访者进行了介绍,以下图表说明了使用的不同标题:

java-performance-tuning-roles

进一步放大此分布,可以说数据是由响应者角色分配的,如下所示:

  • 73%工程
  • 6%的运营
  • 2%质量检查
  • 14%管理
  • 5%无法分类

我们可以得出结论,该调查主要基于工程角色,而管理层,运营和质量保证人员则略有不同。

93%的受访者在过去一年中遇到了绩效问题

“在过去的12个月中,您是否遇到过Java性能问题?” 这是为其余调查奠定整体基础的第一个问题。 在308位受访者中,有286位( 占93%)确认他们在去年遇到了Java性能问题 。 对于这286人,我们在调查中还有9个问题需要回答。

对于其余22位在去年没有遇到任何Java性能问题的人,这也是该调查的最后一个问题。

我们确实承认回答我们调查的人员的选择可能有偏见,并且这个数字并不真正代表Java世界的地位。 毕竟,当您构建性能监视工具时,那些经常在您的网站上闲逛的人更可能最近参与了性能监视领域。 因此,我们不能真正宣称93%的Java应用程序工作人员每年都会遇到性能问题。

我们可以肯定地说的是,我们从286个有关Java应用程序性能问题的独特示例中获得了数据。 因此,让我们看看问题到底是什么。

大部分时间都花在复制,证据收集和根本原因分析上。

在308位受访者中,有156位选择回答“过程中最耗时的部分”的问题。 这是一个自由文本问题,我们能够对146个答案进行分类。

这些答案被证明是调查中最有趣的结果之一。 令人惊讶的是,有76%的受访者在“ 试图复制-收集证据-理解证据-将证据与根本原因联系起来 ”循环中挣扎最多:

Java性能调整最耗时的活动

  • 受访者的20% 大部分的时间试图重现该问题,这样他们就可以开始收集证据
  • 25%的人在尝试收集证据 (例如日志文件或堆/线程转储)和理解证据方面最费力
  • 30%花费的大部分时间 试图 证据源代码/配置链接到的根本原因

公平地说,您还应该注意,有相当多的受访者(13%)声称,为该问题建立实际的解决方案是该过程中最耗时的部分。 尽管这是一个可观的数额,但仍比大多数用户花费在试图找出根本原因的恶性循环中的花费少五倍多。

您花了多长时间解决性能问题?

在本节中,我们要求受访者量化他们试图发现根本原因时所面临的痛苦。 同样,我们有284位受访者回答了这个问题:

java性能调整花费的时间调整

答案证实,即使某些情况很容易检测和排除故障,但大多数性能问题还是很难解决的。 荣誉给个答复谁发现,在不到一个小时的固定的问题,但让我们一会儿,专注于48名受访者停止(的情况下,17%),对他们来说,跟踪下来,并解决性能问题意味着多了一个花了一个月。

解释以上数据的另一种方法是查看花费的中位数和平均时间:

  • 中位数时间落在“超过一天但不到一周”的范围内,这意味着花了几天的时间进行检测和故障排除。
  • 由于缺少上界,因此平均值的计算有些棘手,但是当假设“一个多月”转化为“恰好两个月”时,用于查找和修复根本原因的平均时间为80个小时

如果我们看一下所花费的总时间,这些数字看起来就更令人恐惧了– 284名受访者总共花费22,600个小时来检测和解决单个性能问题。 这相当于超过130个工作月 。 仅仅考虑这个数字就清楚地表明该领域迫切需要更好的解决方案。

翻译自: https://www.javacodegeeks.com/2014/11/java-performance-tuning-survey-results-part-i.html

java 性能调优

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

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

相关文章

wps生成正态分布的随机数_量子计算与机器学习: 量子生成对抗网络QGAN

随着量子信息和量子计算的快速发展(经费多了),科研工作者们一边感叹着量子计算机时代即将拥有的强大计算能力,一边又在考虑着如何将现有的高效算法和量子计算机相适配。作为最近几年如此火爆的机器学习,也就自然而然地…

通过反汇编来理解restrict关键字

一次难忘的面试经历多年前,一次互联网某厂实习生的面试题,题目的代码片段很简单,如下:1 #include 2 int main()3 {4 int *restrict pInt (int*)malloc(4);5 int *pNewInt pInt;6 return 0;7 } 12345678面试官问…

python车牌识别系统开源代码_汽车牌照识别系统【YOLO+MLP】

车牌识别系统可以自动检测并识别图像中的车辆牌照,其算法主要包括牌照定位、牌照分割、字符识别等步骤。本文将给出一种基于深度学习的车牌识别系统方案。要快速掌握开发人工智能系统的技能,推荐汇智网的 机器学习系列在线课程由于可以自动地从视频图像中…

幻灯片演示什么模式最好_清洁单元测试图案–演示幻灯片

幻灯片演示什么模式最好我有机会在2014年GDG DevFestKarlsruhe会议上谈论“清洁单元测试模式”。 感谢组织者邀请我,也感谢所有听我讲话的人。 如所承诺的,我为那些想看一下我在演讲中没有讲过的其他幻灯片的人分享了演示文稿: 清洁单元测试…

js text 和 html,JS DOM innerText和textContent的区别

innerText和textContent很多人会困惑,因为都可以用来获取文本内容,实际上,两者还是有很多区别的,本文就将介绍这两个属性的异同,希望可以对大家的学习有所帮助。一、之前错误的认识innerText IE6就开始支持&#xff0c…

如何用耳机翻页_游戏耳机的经典之作—罗技(G)Astro A40体验

前言经常去网吧玩游戏的朋友,在家玩如果没有头戴式耳机,那体验真的会差一大截。优秀的电竞游戏耳机会带来更好的游戏体验,不仅是舒适性。像绝地求生这类FPS游戏,游戏耳机会让听声辩位更容易更精确。最近因为大促降价入手的罗技&am…

我改了500个Bug,但是!!

IT程序猿 微博网友评论:空白一页blank:不写bug怎么改bug 抠Bee:不经意间病毒都出来了我在海的这边你在哪里丫:好了,发给开发小弟了富贵小小神仙:要不然呢,那些从开发到维护的程序员不都是靠这么…

jboss maven_使用Maven配置JBoss / Wildfly数据源

jboss maven大多数Java EE应用程序在其业务逻辑中使用数据库访问,因此开发人员经常面临在应用程序服务器中配置驱动程序和数据库连接属性的需求。 在本文中,我们将使用Maven为JBoss / Wildfly和Postgre数据库自动化该任务。 这项工作是根据我从以前的魔兽…

globalmapper如何选取图像上的点_OpenCV 进阶应用,用编程手段搞定图像处理

在我们生活中,常见的图像处理软件有Adobe Photoshop、Adobe Illustrator等。然而,并非只有软件才能实现图像处理,通过编程手段也是能实现的!通过编程手段实现图像处理,也就是计算机视觉。所谓计算机视觉,就…

pytorch relu函数实现_什么是pytorch?

PyTorch是一个:机器学习框架,简单易学可以看做是支持GPU计算和自动微分计算的“Numpy”库支持100多种Tensor常规算子,包括:创建、索引、切片、转置、连接、随机数、形状改变,线性代数、数学计算Tensor是一个有值有属性…

C sort 排序函数用法

最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数用法1、sort函数可…

python人脸_Python 使用 face_recognition 人脸识别

Python 使用 face_recognition 人脸识别 人脸识别 face_recognition 是世界上最简单的人脸识别库。 使用 dlib 最先进的人脸识别功能构建建立深度学习,该模型准确率在99.38%。 Python模块的使用 Python可以安装导入 face_recognition 模块轻松操作,对于简…

osgi 如何引入包_OSGi Testsuite:引入类名过滤器

osgi 如何引入包OSGi Testsuite是一个JUnit测试运行程序 ,它动态地收集要执行的测试类。 它已经由我的同伴Rdiger大约一年前出版,并且已经在某些项目中证明有用。 但是对于gonsole,我们必须使用一个难看的补丁,因为1.0版仅支持.*T…

C语言,一把菜刀。

C 与 C 的真正区别在哪里?C是中餐厨师的菜刀,做啥菜就那一把刀,切菜切肉切鱼,都是这一把刀,刀工好的师傅,豆腐都能切成一朵花。无论你提什么概念,都能用指针给你做出来,如果不行&…

查询计算机专业及选修了英语的学生,实验五 数据库综合查询(学生)

实验五 数据库综合查询一、实验目的1. 掌握SELECT语句的基本语法和查询条件表示方法; 2. 掌握查询条件种类和表示方法; 3. 掌握连接查询的表示及使用; 4. 掌握嵌套查询的表示及使用; 5. 了解集合查询的表示及使用。二、实验内容1.…

python读取写入文件_Python文件读写保存操作

记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项。 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之后,下面开始动手写代码&am…

css中设置br标签之后的样式_CSS学习

语法:选择器,声明(由一个属性和一个值)注释:/* */选择器:1. id选择器,class选择器2. 组和选择3. 属性选择创建:外部样式表html <head> <link rel"stylesheet" type"text/css" href"mystyle.css"> </head>内部样式表html <h…

eclipse扩展点_Eclipse扩展点评估变得容易

eclipse扩展点编码Eclipse扩展点评估有点冗长&#xff0c;而且很少能自我解释。 当我最近忙于自己忙于这个话题时&#xff0c;我写了一个小助手&#xff0c;目的是减少通用编程步骤的样板代码&#xff0c;同时增加开发指导和可读性。 它原来是不容易找到一个表现的解决方案&am…

扯淡!C语言怎么可能被淘汰呢?

“第一门编程语言学C靠谱吗&#xff1f;”“C还有未来吗&#xff1f;”“我应该考虑学C吗&#xff1f;”“C太老了吧&#xff01;”你是否也听过类似的话语&#xff1f;听说过无数次&#xff0c;有些是面对面的交谈&#xff0c;而有些来自某个论坛。虽然答案无非是“取决于具体…

如何正确运用计算机技术,如何正确认识与运用计算机网络技术.doc

如何正确认识与运用计算机网络技术如何正确认识与运用计算机网络技术摘要&#xff1a;正如每个人所见&#xff0c;在中国当前的形势下&#xff0c;从小培养计算机网络技术人才还是个薄弱环节。作为中小学计算机网络技术教师的我们必须在透彻了解本校或本地区学生对计算机网络技…