【问题标题】:Evaluate software minimum requirements评估软件最低要求
【发布时间】:2009-07-03 15:28:56
【问题描述】:

有没有办法评估软件的最低要求?我的意思是,我如何才能发现我的应用程序需要的最小 RAM 量?

谢谢!

【问题讨论】:

标签: memory system-requirements minimum-requirements


【解决方案1】:

分析器在这里帮不了你。也不会估计数据结构的大小。

分析器当然可以告诉您代码在哪里花费最多 CPU 时间,但它不会告诉您是否缺少性能目标 - 例如。如果您的用户会对您的应用程序在任何给定系统上的性能感到满意或不满意。

简单地计算数据结构的大小,以及在任何时候可以分配多少,根本无法准确地了解一段时间内的内存使用情况。原因是内存使用由许多其他因素决定,包括您的应用程序执行多少 I/O、您的应用程序使用哪些操作系统服务,以及最重要的是您的应用程序如何使用内存的时间特性。

了解最低要求的最有效方法是

  • 确保您有一种使用对您的用户很重要的指标来衡量性能的有效方法。最好的衡量标准是响应时间。根据您的应用程序,吞吐量或每秒操作数等速率可能适用。您的测量可能是经验性的(例如,只是尝试一下),但这是最不有效的。最好使用某种仪器来完成。在 Windows 上,选择是 [ETW][1]。其他操作系统有其他合适的机制。
  • 有某种自动化的方法来执行您的应用程序。这将使您可以进行重复且可靠的测量。
  • 使用各种内存大小测量您的应用程序,看看性能从哪里开始受到影响。这也可能会暴露性能错误,从而使您的应用程序无法正常运行。如果您可以访问各种性能级别的平台,也可以使用这些平台。您没有说明您的应用程序是做什么的,但在具有 1GB 内存的上网本上进行测试对于许多(不是所有)客户端应用程序来说非常有用。

您可以对 CPU 和其他组件(例如磁盘、网络或 GPU)执行相同的操作。

另请注意,这里没有简单的答案 - 有效地设定最低要求是真正的工作。如果您的应用程序对某个平台方面或其他方面具有参与性敏感,则尤其如此。

还有其他因素 - 例如,您的应用可能在一个配置中运行良好,直到用户打开另一个可能需要内存或 CPU 猪的应用。用户很少只打开一个应用程序。

这意味着除了指定最低要求之外,您还必须有效地设定用户期望 - 即解释您的应用程序何时会表现良好,何时表现不佳,以及影响性能的因素是什么。

[1]:http://msdn.microsoft.com/en-us/library/ms751538.aspx强文本

【讨论】:

    【解决方案2】:

    理想情况下,您应该根据目标受众确定软件的最低要求,然后在开发过程中在该配置上测试您的软件,以确保它提供令人满意的体验。

    您可以查看运行您的软件的系统,了解您的应用程序消耗了多少内存,并使用它来指导消耗了多少内存。 CPU 有点复杂 - 您可以尝试对 CPU 要求进行建模,但准确地做到这一点可能具有挑战性。

    但最终,您需要在目标系统上测试您的应用。

    【讨论】:

    • +1 用于考虑目标受众,而不仅仅是测试应用完成后需要什么。
    【解决方案3】:

    给定应用程序使用的数据结构,估计它们在正常使用中会占用多少空间。使用该估计,设置多台机器(虚拟或物理)以在不同场景(即不同的目标操作系统、不同的虚拟内存设置等)下测试估计。

    然后衡量应用在不同场景下的性能。您的最低设置将是性能最差但仍可接受的机器。

    【讨论】:

      【解决方案4】:

      您可以在对软件进行压力测试时尝试使用性能分析器。

      【讨论】:

        【解决方案5】:

        您可以使用虚拟化在虚拟机中使用不同数量的 RAM 重复运行具有代表性的测试套件...当性能由于交换而低于可接受的水平时,您已经找到了内存要求。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-05-12
          • 1970-01-01
          • 2012-09-14
          • 1970-01-01
          • 2012-02-04
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多