【问题标题】:Stress Testing Android Dalvik [duplicate]压力测试Android Dalvik [重复]
【发布时间】:2013-07-02 17:47:04
【问题描述】:

我一直在阅读有关 Android dalvik 的信息,我很好奇如何对 Dalvik 进行压力测试以评估其稳定性。我了解 Dalvik 用于内存和处理器受限的设备。那么分配大量内存/增加一些CPU内核的频率然后启动多个应用程序是一种测试稳定性的方法吗?

我也知道每个独立的进程都有自己的 Dalvik 实例。所以另一种强调 Dalvik 的可能性是启动多个应用程序,这些应用程序共享一个进程和一个 Dalvik 实例,看看 Dalvik 有多稳定。

我想知道这些是否是衡量 Dalvik 稳定性的好方法。如果这两个都是好方法,哪一个是更好的测试?

谢谢!

【问题讨论】:

    标签: android performance dalvik stress-testing


    【解决方案1】:

    很难同时强调 VM 的每个部分。

    您可以编写运行堆和垃圾收集器的内存压力测试、同步压力测试(如 JSR-166 java.util.concurrent 测试套件)、执行大量整数和浮点计算的 CPU 压力测试不同的核心同时进行。以此类推。

    诀窍是编写一个做你认为它做的测试——数量惊人的“多核”测试由于意外的依赖关系而最终成为单线程——并且可以评估其结果的正确性。除非以某种方式将该事实传达给用户,否则成功导致不稳定的测试是没有用的。使虚拟机崩溃是一个很好的方法。 :-)

    在同一个进程中运行多个应用和服务在理论上是可行的,但在实践中很少见。我认为您实际上无法通过这种方式更好地对系统施加压力,因为一次只有一个应用程序处于前台,并且如果您正在发出服务请求,则一个线程将等待响应而另一个运行。您最好只拥有一个具有多个线程的应用程序,这样您就可以准确控制每个应用程序的功能以及它们的交互方式。

    在你可以做任何这些之前,你需要定义“稳定性”的范围。简单地运行许多应用程序不会出现任何问题,因为有数亿台设备运行着数十亿个 Dalvik 实例,基本上没有由于 VM 本身而出现故障(但由于应用程序中的错误,框架,第三-party库等)。自从两年前发布 Android 4.0(冰淇淋三明治)以来,Dalvik 并没有太大变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-30
      • 2014-05-31
      • 2011-08-11
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      相关资源
      最近更新 更多