Memory 评估软件最低要求

Memory 评估软件最低要求,memory,system-requirements,minimum-requirements,Memory,System Requirements,Minimum Requirements,有没有办法评估软件的最低要求?我的意思是,我如何发现,例如,我的应用程序将需要的最小RAM量 谢谢 您可以尝试在软件上使用性能分析器,同时对其进行压力测试 给定应用程序使用的数据结构,估计它们在正常使用中会占用多少空间。使用该估计值,设置多台机器(虚拟或物理)以在不同场景(即不同的目标操作系统、不同的虚拟内存设置等)中测试估计值 然后测量应用程序在不同场景中的性能。您的最低设置将是在仍然可以接受的情况下性能最差的机器。理想情况下,您应该根据目标受众确定软件的最低要求,然后在开发过程中对该配置进行

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


谢谢

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

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


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

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

您可以查看运行软件的系统,查看应用程序正在消耗多少内存,并使用它来指导正在消耗多少内存。CPU稍微复杂一点——您可以尝试建模您的CPU需求,但准确地进行建模可能是一项挑战


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

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

探查器在这里对您没有帮助。估计数据结构的大小也是如此

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

简单地计算数据结构的大小,以及一次可以分配多少数据结构,根本无法准确地描述一段时间内的内存使用情况。原因是内存使用由许多其他因素决定,包括应用程序的I/O量、应用程序使用的操作系统服务以及最重要的应用程序使用内存的时间性质

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

  • 确保您有一种有效的方法来使用对您的用户非常重要的指标来衡量性能。最佳指标是响应时间。根据您的应用程序,速率(如每秒吞吐量或操作数)可能适用。你的测量可能是经验性的(例如,试试看),但这是最不有效的。这最好用某种仪器来完成。在windows上,选项为[ETW][1]。其他操作系统具有其他合适的机制
  • 使用某种自动化的方法来执行应用程序。这将使您能够进行重复和可靠的测量
  • 使用不同的内存大小测量应用程序,看看性能从哪里开始受到影响。这还可能暴露性能缺陷,使应用程序无法正常运行。如果您可以访问不同性能级别的平台,也可以使用这些平台。您没有说明应用程序的功能,但在1GB内存的上网本上进行测试对于许多(并非所有)客户端应用程序来说都是非常好的
您可以对CPU和其他组件(如磁盘、网络或GPU)执行相同的操作

还要注意的是,这里没有简单的答案——有效地制定最低要求才是真正的工作。如果您的应用程序对一个或另一个平台方面非常敏感,则尤其如此

还有其他因素-例如,在用户打开另一个可能内存不足或CPU不足的应用程序之前,您的应用程序可能在一种配置下运行良好。用户很少只打开一个应用程序

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


[1] :strong文本

复制?是的。。。以前没找到过。。。谢谢+1是为了考虑目标受众,而不是仅仅测试应用程序完成后需要什么。