3

I have a requirement to manually test the way in which our websites perform across a range of bandwidth and hardware specs. The testing will be manual, as there are a number of subjective factors that need to be monitored.

Historically, I've used Fiddler and Chrome Dev tools to simulate bandwidth issues and (I think) it was WinThrottle I used back in the day to hamper CPU performance but that's now extremely out of date.

Are there any applications that you use, or have used, that you'd recommend to simulate a low performance set up?

I'm primarily testing on Windows based devices, although testing on Linux and Macs would be a bonus.

  • Mobile or desktop? – user246 Mar 17 '16 at 22:42
  • I've written my own tools as it's pretty simple to flood a network. You can do it in Javascript or other high level languages, go to GitHub and look around for what you need. – John Peters Mar 18 '16 at 2:23
1

Assuming you are using Windows you can define the CPU settings under Power Options in the Control Panel

Control Panel\All Control Panel Items\Power Options

Select the plan you require and "Edit Plan Settings" then select "Change advanced power settings" (I would suggest you set up a separate plan for each scenario you plan to use to make it easy to switch and replicate)

Under these settings you should see "Processor power Management" which allows you to set the min/max CPU usage

enter image description here

Another thing to note is that due to a 'quirk' in power management profiles, setting an Intel CPU to 100% disables all the CPU scaling functionality. This includes features like Intel® Turbo Boost Technology. I am unsure if this is also the case with AMD processors.

1

You did not specify a client operating system, but here is an idea for Linux. Using cgroups, you can constrain how much CPU a process (or group of processes) can use.

Here is the idea. Cgroups (short for Control Groups) is a Linux facility for constraining the resources used by a process or group of processes. You create a cgroup from the command line, then you use additional commands to describe the cgroup's constraints. After that, any process started within that cgroup will be subject to those constraints.

I mentioned CPU time as a constraint, but you can also constrain network bandwidth, memory, and other kinds of resources.

This RedHat page provides more details.

  • That's great, I'd not thought of that! The testing is primarily being done on Windows 7->10 but this would let me expand the testing scope. Many thanks! – Dave M Jun 6 '16 at 15:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.