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

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

回答我们调查的工程角色

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

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

  • 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%的受访者在“ 试图复制-收集证据-理解证据-将证据与根本原因联系起来 ”循环中挣扎最多:

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

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

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

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

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

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

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

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

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

Java性能调优调查结果(第一部分)相关推荐

  1. Java性能调优调查结果(第二部分)

    这是系列文章的第二篇,我们将分析2014年10月进行的性能调整调查的结果.如果您尚未阅读第一部分,我们建议从此处开始 . 第二部分将重点监视Java应用程序的性能问题. 特别是,我们尝试回答以下问题: ...

  2. Java性能调优调查结果(第三部分)

    这是该系列文章的第三篇,我们将分析2014年10月进行的调查的结果.如果您尚未这样做,我建议从该系列的前两篇文章开始: 问题严重性分析和监视域分析 . 这篇文章着重于故障排除/根本原因检测. 本调查部 ...

  3. Java性能调优调查结果(第四部分)

    这是系列文章中的最后一篇,我们将分析我们在2014年10月进行的Java Performance Tuning Survey的结果.如果您还没有阅读第一篇文章,我建议您首先阅读以下内容: 性能问题的频 ...

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

    java 性能调优 我们在2014年10月进行了Java性能调优调查.该调查的主要目的是收集对Java性能世界的见解,以改善Plumbr产品. 但是,我们也很高兴与您分享有趣的结果. 我们收集的数据为 ...

  5. java 性能调优_Java性能调优调查结果(第四部分)

    java 性能调优 这是本系列中的最后一篇文章,我们将分析我们在2014年10月进行的Java Performance Tuning Survey的结果.如果您尚未阅读第一篇文章,建议您首先阅读以下内 ...

  6. java 性能调优_Java性能调优调查结果(第三部分)

    java 性能调优 这是本系列文章的第三篇,我们将分析2014年10月进行的调查的结果.如果您尚未这样做,我建议从本系列的前两篇文章开始: 问题严重性分析和监视域分析 . 这篇文章着重于故障排除/根本 ...

  7. java 性能调优_Java性能调优调查结果(第二部分)

    java 性能调优 这是系列文章的第二篇,我们将分析2014年10月进行的性能调整调查的结果.如果您尚未阅读第一部分,我们建议从此处开始 . 第二部分将重点监视Java应用程序的性能问题. 特别是,我 ...

  8. 11 个简练的 Java 性能调优技巧

    转载自 11 个简练的 Java 性能调优技巧 想要让你的项目一直高性能运作吗?以下有一些技巧你可以拿去消除缓存瓶颈,还有一些其他的性能调优建议. 大多数开发者认为性能优化是一个复杂的话题,它需要大量 ...

  9. java必读书籍_最佳5本Java性能调优书籍–精选,必读

    java必读书籍 为什么Java开发人员应该阅读有关性能调优的书? 当我很久以前第一次面对这个问题时,我以为以后会做,但是我很长一段时间都没有回过头来. 仅当我在用Java编写的任务关键型服务器端财务 ...

最新文章

  1. 不属于JAVA类中的变量_在Java中,不属于整数类型变量的是( )。_学小易找答案...
  2. 《预训练周刊》第17期:深度迁移学习与数据增强改善2型糖尿病预测、钢琴补谱应用...
  3. 人工智能名人堂第54期 | 深度学习鼻祖:Geoffrey Hinton
  4. 数据库中日期大小的判断
  5. u盘装sun服务器系统,U盘多引导ISO系统安装
  6. TFS在项目中Devops落地进程(上)
  7. 图的存储以及深度优先以及广度优先遍历
  8. 对程序员职业的一些建议
  9. 如何判断输入的是字符还是数字_[Leetgo]判断字符串是否为数字
  10. Oracle 之instant client
  11. 页面滚动到某一位置吸顶_vue监听滚动事件某元素吸顶或固定位置显示详解
  12. 二分法之旋转有序数组
  13. MTK平台调试LCD步骤浅析
  14. CodeMix使用的语言和框架(一):JavaScript
  15. esxi不能识别Intel 网卡怎么办
  16. c盘存放文件夹的功能
  17. js获取当前屏幕宽度方法
  18. Linux系统安装教程(详细版)
  19. 宇宙背景声子低温超导探测器
  20. Visual Studio 2015创建ASP.NET5项目“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' 无法安装的错误...

热门文章

  1. 三个水桶(看了三遍,想了五遍!)
  2. 2018蓝桥杯省赛---java---A---10(付账问题)
  3. oracle10g ty_str_split,Oracle split(分隔字符串函数)
  4. 登录系统 提示框_实物资产管理软件操作手册(职员和系统用户)
  5. os如何处理键盘的所有按键,显示or不显示,显示是如何显示
  6. MySQL优化(一):表结构优化
  7. maven 构建增量包_使用Maven进行增量构建
  8. java流写入数据库_成为Java流大师–第4部分:数据库流
  9. 需求调研 现有系统梳理_对速度的需求,访问现有数据的速度提高了1000倍
  10. apache spark_Apache Spark软件包,从XML到JSON