性能是软件开发的一个方面,侧重于测量和改进代码。 阅读本文后,你将有一个更好的想法:性能需要什么,为什么对你和客户很重要,以及如何开始衡量应用程序的性能。
什么是应用程序性能?
性能是衡量应用程序如何有效使用系统资源来实现其设计目标的指标。 它涵盖了程序如何与基础设备交互的不同方面。 这可以包括如下内容:
- CPU 使用率
- 内存占用率
- 功耗
- 网络和存储利用率
- 动画性能
等等。
所有这些不同的属性都具有与其关联的成本元素:例如,应用程序使用的 CPU 量是多少? 这将消耗用户多少带宽? 应用程序加载此特定页面的速度有多快? 因此,度量是性能的核心。
为什么很重要?
用户期望性能作为他们使用的软件的基本属性。 他们希望其应用程序具有响应能力,并有效地利用其系统的资源。 性能不佳的应用程序会导致沮丧,这可能导致用户参与度降低。 为了为客户提供最佳体验,因此,使性能成为开发工作流的一部分至关重要。
何时应测量应用程序性能?
应用程序性能可以跨越开发过程的多个阶段。 它对从所选数据结构到用于生成应用程序的技术等各种内容都有影响。
在开发应用程序时,请记住性能,并计划定期执行性能测试,作为更新和维护应用程序的一部分。
如何测量应用程序性能?
下面是一些有关如何测试应用程序以提升性能的建议。
- 利用您对应用程序的知识。 了解用户最常见的情景将使你能够有效地投入时间来优化正确的方面。 不清楚的情况会让你的测量结果难以解释,因此切勿跳过这一步! 如果你有有关用户如何与应用程序交互的数据,这将是一个很好的时机来查看它。
- 你的用户大部分时间都在何处?
- 客户在你的软件上会做的最重要的事情是什么?
- 应用程序的硬件要求是什么?
- 为最重要的用户方案设置性能目标。
- 准确了解要优化的内容。 是否为 CPU? 电池? 网络吞吐量?
- 选择用于执行度量的工具。
- 测试时应用科学思维模式。 在受控环境中创建基准。 然后,进行更改并重新度量,以查看更改如何影响应用程序的行为。
- 将回归测试添加到测试环境中。 这将确保性能指标不会随时间而回归。 新式硬件很复杂,衡量性能改进的影响可能是一个挑战。 通过这些方式调查、测量和测试应用程序性能可确保了解工作的影响。
交错指标
虽然在分析期间通常会专注于一个性能领域,但请注意,区域通常相互交织。 一个方面的改进可以引发其他方面的改进。
例如,解决能耗问题经常是一个同步问题。 减少内存使用率可能会导致减少使用 CPU 所需的时间。
在某些情况下,在一个区域中花费的额外资源在另一个领域产生更大的影响。
例如,增加内存消耗可以通过缓存减少网络或存储利用率。
做出更改的决定取决于什么对客户最重要。 这也是表演工作挑战(和乐趣!)的一部分。
后续步骤
有了这个背景,现在您可以采取以下行动:
- 确定应用程序的最常见方案。 将要成为你试图衡量对象的基础的是这些。
- 找出测试策略。 测试环境和度量工具的选择是什么?
请前往 Windows 应用性能概览,以详细了解支持您提升性能过程的工具和指南。