评估软件最低要求

时间:2009-07-03 15:28:56

标签: memory system-requirements minimum-requirements

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

谢谢!

5 个答案:

答案 0 :(得分:3)

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

您可以查看运行软件的系统,查看应用程序正在消耗多少内存,并使用它来指导消耗的内存量。 CPU有点复杂 - 您可以尝试模拟CPU需求,但准确地执行此操作可能具有挑战性。

但最终,您需要在您定位的基本系统上测试您的应用。

答案 1 :(得分:3)

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

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

简单地计算数据结构的大小,以及在任何时候可以分配多少数据结构,都不会让您准确了解内存使用情况。原因是内存使用率取决于许多其他因素,包括应用程序执行的I / O数量,应用程序使用的OS服务,以及最重要的应用程序使用内存的时间性质。

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

  • 确保使用对用户非常重要的指标,有效地衡量效果。最佳指标是响应时间。根据您的应用程序,可能适用诸如吞吐量或每秒操作之类的速率。您的测量可能是经验性的(例如,只是尝试一下),但效果最差。最好用某种仪器来完成。在Windows上,选择是[ETW] [1]。其他操作系统有其他合适的机制。
  • 使用某种自动方法来执行您的应用程序。这将使您可以进行重复和可靠的测量。
  • 使用各种内存大小测量您的应用程序,并查看性能开始受损的位置。这可能还会暴露导致应用程序无法正常运行的性能错误。如果您可以访问各种性能级别的平台,也可以使用它们。你没有说明你的应用程序做了什么,但是对于许多(并非所有)客户端应用程序来说,在1GB内存的上网本上进行测试非常有用。

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

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

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

这意味着除了指定最低要求之外,您还必须在设置用户期望方面做一个有效的工作 - 即解释您的应用程序何时运行良好,何时不运行,以及影响性能的因素。

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

答案 2 :(得分:1)

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

然后在不同的场景中测量应用程序的性能。您的最低设置将是在可接受的情况下执行效果最差的机器。

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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