代码之家  ›  专栏  ›  技术社区  ›  KLE rslite

成为一名绩效顾问的主要技能是什么?[关闭]

  •  6
  • KLE rslite  · 技术社区  · 16 年前

    • Java
    • 数据库
    • Java


    • 垃圾收集
    • (高瞻远瞩)
    • UI技术( 摇摆
    • 网络 理解(也用于Ajax)
    • 算法学 ,大O
    • 硬件理解

    • 耐压
    • 人员/政治技能
    9 回复  |  直到 13 年前
        1
  •  4
  •   Peter Mortensen Pieter Jan Bonestroo    13 年前

    在那之后,需要一些创造性的方法来理解衡量。当有人雇佣绩效顾问时,他们经常陷入困境,这很可能意味着他们有真正的用户在做真实的事情,这意味着Java不会是堆栈中唯一的东西(正如你所指出的数据库,但可能存在JavaScript和网络问题,谁知道还有什么)。

    除此之外,就洗衣单而言,缺少的一件大事是 garbage collection

        2
  •  2
  •   San Jacinto    16 年前

    您还需要非常熟悉将要使用的JVM的实现。了解语言和API还不够好:您必须非常详细地知道在某些情况下要使用哪些语言构造,这可能会因您使用的特定JVM而异。分析器并不总是能揭示JVM特定的性能问题。正如其他人所指出的,同一JVM在不同的硬件上可能表现不同。

        3
  •  2
  •   HLGEM    16 年前

    我认为了解硬件也很重要(至少在设计高性能数据库时很重要)。什么时候需要投入更多的硬件来解决这个问题,什么时候需要修复代码,什么时候两者都需要。

    我还会投资一套关于数据库性能调优的书籍(每个主要的数据库后端至少一本,因为调优是非常特定于数据库的)和数据库设计。我认为你可以将许多性能问题追溯到糟糕的数据库设计,以及缺乏如何编写性能良好的SQL代码的知识。数据库性能调优比知道要创建什么索引要广泛得多。

        4
  •  1
  •   KM.    16 年前

    能够加速Java代码。你很可能会被叫去查看慢速代码,你需要找到并修复慢速部分。不能加快速度,你会有愤怒的客户,加快速度,每个人都会很高兴。如果你喜欢这样的事情,这可能会给你带来一些表演压力。

    你可能会被请来就设计提供建议。因此,你需要了解很多最佳实践,并具备良好的设计技能。

        5
  •  1
  •   Uri    16 年前

    此外,还有一个子领域涉及GUI性能增强(许多高速应用程序,如金融,都是用Swing之类的东西编写的)。这带来了一大堆额外的技能。

        6
  •  1
  •   KLE rslite    16 年前

    我还要补充:

    • 即使对分析器的结果也要持怀疑态度:首先要用你的大脑。
    • 不要相信,直到你看到它。
    • 在测量之前不要责怪。
        7
  •  1
  •   reccles    16 年前

    对算法和大O符号有很强的理解。如果你在O(logn)存在的情况下花10个小时优化O(n)算法,你就是在浪费时间。我会把BigO添加到你的列表中。

        8
  •  1
  •   Community Mohan Dere    9 年前

    其他人说了什么,加上 this this this this .

    补充:了解Big-O、JVM、缓存、DB的行为都很重要。然而,当涉及到 ,您通常可以通过一个非常简单的程序轻松快速地找到它,不需要任何特殊工具。 它涉及随机选取几个 堆栈快照 仔细地看每一个,而不是总结。

    这驳斥了许多关于分析的常识,正如你可以很容易地向自己证明的那样。上面的链接对此进行了详细解释。

        9
  •  1
  •   brianegge    16 年前

    一些一般技能要求可以在 The Art of Application Performance Testing

    • 业务分析师技能-你需要了解最终用户在做什么,他们觉得哪些部分很慢,然后围绕这些事件构建测试用例。在性能改进结束时,用户应该能够注意到差异,您的测试结果应该对此进行量化。
    • 技术通才-性能问题可能发生在任何地方。您需要了解堆栈中的每一项技术,以便能够隔离问题。性能问题可能是由延迟、网络、数据库和代码引起的。你可能会发现开发人员的盒子上有4GB的RAM,使用代码的数据输入人员有一台512MB的机器。