【发布时间】:2010-12-28 01:32:11
【问题描述】:
我们有一些用户正在使用低 CPU 驱动的机器,他们在使用我们的 Web 应用程序时遇到响应时间很慢的问题。有什么方法可以让我进行测试,以便我可以模拟较低的 CPU 速率?
例如,我有 2.3 Ghz 的计算能力,我可以将它降低到 1.6 Ghz 或更低,以便我可以测试它吗?
顺便说一句,我们的客户使用的是 Windows。我必须在 Internet Explorer 上模拟低计算能力作为浏览器。
【问题讨论】:
我们有一些用户正在使用低 CPU 驱动的机器,他们在使用我们的 Web 应用程序时遇到响应时间很慢的问题。有什么方法可以让我进行测试,以便我可以模拟较低的 CPU 速率?
例如,我有 2.3 Ghz 的计算能力,我可以将它降低到 1.6 Ghz 或更低,以便我可以测试它吗?
顺便说一句,我们的客户使用的是 Windows。我必须在 Internet Explorer 上模拟低计算能力作为浏览器。
【问题讨论】:
大多数新的 CPU 乘数都可以轻松降低(英特尔:Speedstep,AMD:PowerNow!)。这是为了省电。使用 RMclock,您可以手动调整乘数,从而降低频率并使您的电脑变慢。我自己使用这个工具,所以我可以告诉你它有效。
【讨论】:
虚拟机 Bochs(发音框)允许您设置 instructions per second 指令。它可能是目前最慢的模拟器......
【讨论】:
创建一些虚拟机。
您可以使用VirtualPC 或VirtualBox 两者都是免费的。
【讨论】:
我建议在后台启动一些东西,这会占用你所有的处理器周期。
一个寻找素数或类似东西的程序。
【讨论】:
降低 CPU 时钟并不总能得到预期的结果。
较新的 CPU 具有架构改进,使其在等效时钟基础上比旧芯片更高效。顺便说一句,因为这种虚拟机对于测试“旧”技术的性能也是一种糟糕的方式。
您最好的选择是简单地购买几台旧机器。使用类似的 RAM(类型和数量)、处理器、主板芯片组、硬盘驱动器和显卡。所有这些都会影响机器本身的整体性能。
我提出了其他组件,因为仅更改其中一个可能会影响浏览器的性能。一个典型的例子是记忆。如果您的客户端受限于 512MB 的 RAM,则机器可能会执行大量硬盘访问以进行 VM 交换,即使只是运行浏览器也是如此。在这种情况下,降低处理器的时钟速度,同时仍保留 2GB(假设)的 RAM,即使其他一切都相同,仍然无法实现几乎相同的性能。
【讨论】:
Isak Savo'sanswer 有效,但可能有点挑剔,因为现代 tpl 将尝试尽可能地限制 CPU 负载。当我对其进行测试时,很难(尽管通过一些测试是可能的)始终如一地获得我想要的 CPU 使用类型。
然后我想起来了,http://www.cpukiller.com/,它已经这样做了。强烈推荐。顺便说一句,我在现代机器上玩 90 年代的旧游戏时发现了这个工具,当时帧速率与 cpu 时钟时间挂钩,这使得在现代计算机上玩它们的速度太快了。非常实用。
【讨论】:
高性能和低性能 CPU 的另一大区别是可用的内核数量。这实际上可能相差 4 倍,远远超过您可能遇到的时钟频率差异。
您可以通过设置线程亲和性来解决这个问题。甚至 IE6 也会使用 13 个线程来显示 google.com。这意味着它将受益于多核 CPU。但是,如果您将线程亲和性设置为仅一个内核,则所有 13 个 IE 线程都必须共享该内核。
【讨论】:
除了上述选项之外,另一个小选项是在较低资源配置中启动窗口。转到开始菜单,选择运行并键入 MSCONFIG。您可以转到引导选项卡,单击高级选项并限制内存和处理器数量。它没有上面的那么健壮,但它确实为您提供了另一种选择。
【讨论】:
我知道这个问题已经很老了,但这里有一些我个人使用的收据(不仅用于 Web 开发):
BES。我在使用它时得到了一些奇怪的结果。
转到控制面板\所有控制面板项目\电源选项\编辑计划设置\更改高级电源设置,然后转到“处理器”部分并将其最大状态设置为 5%(或其他值)。仅当您的处理器支持动态乘数更改并且正确安装了 ACPI 驱动程序时,它才有效。
运行任务管理器并将处理器关联设置为浏览器(或任何其他)进程的单个内核(或您想要的任何数量的内核)。不是浏览器的最佳实践,因为 JavaScript 实现通常是单线程的,但据我所知,现代浏览器实际上确实使用多个内核。
【讨论】: