【问题标题】:How To Simulate Lower CPU Processor Machines For Browser Testing如何模拟低 CPU 处理器机器进行浏览器测试
【发布时间】:2010-12-28 01:32:11
【问题描述】:

我们有一些用户正在使用低 CPU 驱动的机器,他们在使用我们的 Web 应用程序时遇到响应时间很慢的问题。有什么方法可以让我进行测试,以便我可以模拟较低的 CPU 速率?

例如,我有 2.3 Ghz 的计算能力,我可以将它降低到 1.6 Ghz 或更低,以便我可以测试它吗?

顺便说一句,我们的客户使用的是 Windows。我必须在 Internet Explorer 上模拟低计算能力作为浏览器。

【问题讨论】:

    标签: testing stress-testing


    【解决方案1】:

    大多数新的 CPU 乘数都可以轻松降低(英特尔:Speedstep,AMD:PowerNow!)。这是为了省电。使用 RMclock,您可以手动调整乘数,从而降低频率并使您的电脑变慢。我自己使用这个工具,所以我可以告诉你它有效。

    http://cpu.rightmark.org/products/rmclock.shtml

    【讨论】:

      【解决方案2】:

      虚拟机 Bochs(发音框)允许您设置 instructions per second 指令。它可能是目前最慢的模拟器......

      【讨论】:

        【解决方案3】:

        创建一些虚拟机。

        您可以使用VirtualPCVirtualBox 两者都是免费的。

        【讨论】:

        • 这些虚拟电脑可以被 CPU 限制吗? VMware 似乎无法做到这一点
        • 根据这篇文章,甚至没有 VirtualBox:mail-archive.com/vbox-users@virtualbox.org/msg06567.html。可以使用 VMWare ESX 完成。
        • 我正在检查vmware fusion,它不能做到。
        • daniel:哈哈,这使得这个答案成为不正确的答案。
        • 我相信 QEMU 可以做到,因为它可以模拟任意架构。我认为您可以指定客户正在使用的相同芯片。但是,在此模式下运行时,您不能使用 KVM,这可能会使其比您想要的慢。
        【解决方案4】:

        我建议在后台启动一些东西,这会占用你所有的处理器周期。

        一个寻找素数或类似东西的程序。

        【讨论】:

        • 或者做一些真正的处理器密集型的事情,比如启动 Outlook ;^)
        • “我不是在玩游戏,我是在测试!”皮尤皮尤
        • 如果我们考虑到环境影响,那是一个可怕的建议。
        【解决方案5】:

        降低 CPU 时钟并不总能得到预期的结果。

        较新的 CPU 具有架构改进,使其在等效时钟基础上比旧芯片更高效。顺便说一句,因为这种虚拟机对于测试“旧”技术的性能也是一种糟糕的方式。

        您最好的选择是简单地购买几台旧机器。使用类似的 RAM(类型和数量)、处理器、主板芯片组、硬盘驱动器和显卡。所有这些都会影响机器本身的整体性能。

        我提出了其他组件,因为仅更改其中一个可能会影响浏览器的性能。一个典型的例子是记忆。如果您的客户端受限于 512MB 的 RAM,则机器可能会执行大量硬盘访问以进行 VM 交换,即使只是运行浏览器也是如此。在这种情况下,降低处理器的时钟速度,同时仍保留 2GB(假设)的 RAM,即使其他一切都相同,仍然无法实现几乎相同的性能。

        【讨论】:

          【解决方案6】:

          Isak Savo'sanswer 有效,但可能有点挑剔,因为现代 tpl 将尝试尽可能地限制 CPU 负载。当我对其进行测试时,很难(尽管通过一些测试是可能的)始终如一地获得我想要的 CPU 使用类型。

          然后我想起来了,http://www.cpukiller.com/,它已经这样做了。强烈推荐。顺便说一句,我在现代机器上玩 90 年代的旧游戏时发现了这个工具,当时帧速率与 cpu 时钟时间挂钩,这使得在现代计算机上玩它们的速度太快了。非常实用。

          【讨论】:

            【解决方案7】:

            高性能和低性能 CPU 的另一大区别是可用的内核数量。这实际上可能相差 4 倍,远远超过您可能遇到的时钟频率差异。

            您可以通过设置线程亲和性来解决这个问题。甚至 IE6 也会使用 13 个线程来显示 google.com。这意味着它将受益于多核 CPU。但是,如果您将线程亲和性设置为仅一个内核,则所有 13 个 IE 线程都必须共享该内核。

            【讨论】:

              【解决方案8】:

              除了上述选项之外,另一个小选项是在较低资源配置中启动窗口。转到开始菜单,选择运行并键入 MSCONFIG。您可以转到引导选项卡,单击高级选项并限制内存和处理器数量。它没有上面的那么健壮,但它确实为您提供了另一种选择。

              【讨论】:

                【解决方案9】:

                我知道这个问题已经很老了,但这里有一些我个人使用的收据(不仅用于 Web 开发):

                1. BES。我在使用它时得到了一些奇怪的结果。

                2. 转到控制面板\所有控制面板项目\电源选项\编辑计划设置\更改高级电源设置,然后转到“处理器”部分并将其最大状态设置为 5%(或其他值)。仅当您的处理器支持动态乘数更改并且正确安装了 ACPI 驱动程序时,它才有效。

                3. 运行任务管理器并将处理器关联设置为浏览器(或任何其他)进程的单个内核(或您想要的任何数量的内核)。不是浏览器的最佳实践,因为 JavaScript 实现通常是单线程的,但据我所知,现代浏览器实际上确实使用多个内核。

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-06-08
                  • 2017-06-18
                  • 1970-01-01
                  相关资源
                  最近更新 更多