我们有一些用户正在使用低 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 的回答有效,但可能有点挑剔,因为现代 tpl 将尝试尽可能地限制 cpu 负载。当我对其进行测试时,很难(尽管通过一些测试可能)始终如一地获得我想要的 cpu 使用类型。
然后我想起了http://www.cpukiller.com/,它已经这样做了。强烈推荐。顺便说一句,我在现代机器上玩 90 年代的旧游戏时发现了这个工具,当时帧速率与 cpu 时钟时间挂钩,这使得在现代计算机上玩它们的速度太快了。非常实用。
高性能和低性能 CPU 之间的另一个重大区别是可用的内核数量。这实际上可能相差 4 倍,远远超过您可能遇到的时钟频率差异。
您可以通过设置线程亲和性来解决此问题。甚至 IE6 也会使用 13 个线程来显示 google.com。这意味着它将受益于多核 CPU。但是如果你只将线程关联设置为一个核心,那么所有 13 个 IE 线程都必须共享那个核心。
除了上述选项之外,另一个小选项是在较低的资源配置中启动窗口。转到开始菜单,选择运行并键入 MSCONFIG。您可以转到启动选项卡,单击高级选项并限制内存和处理器数量。它不像上面那样强大,但它确实为您提供了另一种选择。
我知道这个问题已经很老了,但这里有一些我个人使用的收据(不仅用于 Web 开发):
贝斯。我在使用它时得到了一些奇怪的结果。
转到Control Panel\All Control Panel Items\Power Options\Edit Plan Settings\Change Advanced Power Settings,然后转到“处理器”部分并将其最大状态设置为 5%(或其他值)。仅当您的处理器支持动态乘数更改并且正确安装了 ACPI 驱动程序时,它才有效。
运行任务管理器并将处理器关联设置为浏览器(或任何其他)进程的单个内核(或您想要的任何数量的内核)。不是浏览器的最佳实践,因为 JavaScript 实现通常是单线程的,但据我所知,现代浏览器实际上确实使用多个内核。