100 % cpu usage at EC2 windows machine - amazon-ec2

i'm using windows machine over EC2 and i'm running a very heavy CPU consuming process.
my question is if it is dangerous to run a windows over EC2 that use 95-100 cpu most of the time?
is it can cause a crush of the machine or crush of the process?
is because the machine is using VCPU (virtual CPU) can i use 100? CPU with not casing any damage?

There is no problem with that. The only thing you may need to be concerned about is that it can increase clock skew. If you regularly update your system clock you should be fine.

No, not dangerous.
As datasage mentioned, it can increase clock scew, but that shouldn't be much of a problem.
The main reason it's not a problem is that it's not actual hardware! EC2 is a collection of virtual machines running on big, huge, servers - 100% of a Micro instance is about 0.1% to them.

Related

Is a VM's speed affected by programs running outside of it?

I'm testing the speed of different sorting methods for a CS class, and although our professor said we didn't need to be terribly precise, he still wants us to be careful not to run apps in the background while testing, use a different machine, or do anything to throw the speed of the sorts off.
If I ran the tests in a VM, would the environment outside of the VM affect the speed? Would that help make the tests accurate without having to worry about changes in the apps I have open alongside the VM?
In short, yes.
In most scenarios, hosts share their resources with the VM. If you bog down/freeze/crash the host then the VM will be affected.
For those that have more robust servers with better resources, processes running in the host won't affect the VM as much. Because if you have more resources on the host you can assign better RAM and Virtual Processors to the VM so it runs smoothly.
For instance, let's say our host has 64GB of RAM a processor that has 4 cores and 8 threads (such as an Intel® Xeon® E3-1240 Processor).
We can tell VirtualBox, VMware or Hyper-V to assign 32GB of RAM and 4 virtual processors to the VM, essentially cutting the host's power by half.
With this in mind, any processes you run on the host will usually be separate from the VM but if the processes freeze, crash or cause a hard reboot on the host then the VM will be affected regardless of RAM or virtual processors assigned.
In enterprises environments, a hyper-v server should only be used for that purpose and installing/running a lot of processes in the host is usually frowned upon (such as installing/running DHCP, DNS, Web Server (IIS), etc).
So your professor is right to advise against running processes on the host while testing your VM.

Load generator machine (windows) reaching to 100% CPU

I am running 2250 users test from AWS windows VM, Following are the details.
Windows
RAM: 32GB
CPU: 8 Core
Once test reaches to 600 concurrent users the cpu is going 100% utilization. The action taken to resolve this,(Using Jmeter for test)
Increased the Heap size (HEAP=-Xms512m -Xmx12288m)
Removed lisners from the test.
Running test from NON GUI mode.
Still Load generator machine reaching to 100%. What whould be the best solution to fix this issue.
First check you follow best practices in your test:
http://jmeter.apache.org/usermanual/best-practices.html
http://www.ubik-ingenierie.com/blog/jmeter_performance_tuning_tips/
Then it would be better to use a linux machine instead of Windows as it usually scales better.
Finally try increasing the machine type to give it more CPUs.
The best option would be switching from single machine having 32 GB of RAM to 3 machines having 12 GB of RAM and run JMeter in distributed mode as your test seems to be very CPU intensive.
See What’s the Max Number of Users You Can Test on JMeter? for more comprehensive explanation of JMeter virtual users limits and what needs to be done to overcome them.

Why is jenkins slow on one machine and perfect on other

I have Jenkins installed on two machines.Images are attached for both the machines configurations. The machine with CPU E5-2687W v4 #3.00 GHz, performs faster than the other. The average response time for a query in this machine is 430 ms. However, on the other machine it 1.3 sec.
Does Jenkins performance has to do anything with processor speed ? In both the machines, Jenkins is allocated 16GB of RAM space.
Machine 1. Slow working Jenkins:
Machine 2. Fast working Jenkins:
Yes. Jenkins performance does have to do something with processor speed (and it depends on a plethora of other factors as well).

It is possible to slow down the virtual pc machine in Win7 (by reduce CPU etc.)

I am trying to get a slow machine with IE8 to test for some customers. It is possible to slow down the virtual pc machine provided by MS? I did only find how to reduce RAM but not CPU.
In options, you can choose to divide CPU time equally among all VPC instances, versus runing the active VPC at maximum speed.
No, this is not possible due to the way virtual machines work. As the virtual machines runs directly on the processor, you cannot slow that down. Your only option is to run on a virtual machine that does processor emulation.
VirtualBox from Oracle does what you want. In the main interface, click Settings > System > Processor and set the Execution Cap to (say) 50%. Works nicely, except that the entire VM slows down (not just a specific application like IE).

Decreasing performance of dev machine to match end-user's specs

I have a web application, and my users are complaining about performance. I have been able to narrow it down to JavaScript in IE6 issues, which I need to resolve. I have found the excellent dynaTrace AJAX tool, but my problem is that I don't have any issues on my dev machine.
The problem is that my users' computers are ancient, so timings which are barely noticable on my machine are perhaps 3-5 times longer on theirs, and suddenly the problem is a lot larger. Is it possible somehow to degrade the performance of my dev machine, or preferrably of a VM running on my dev machine, to the specs of my customers' computers?
I don't know of any virtualization solutions that can do this, but I do know that the computer/CPU emulator Bochs allows you to specify a limit on the number of emulated instructions per second, which you can use to simulate slower CPUs.
I am not sure if you can cpu bound it, but in VirutalBox or Parallel, you can bound the memory usage. I assume if you only give it about 128MB then it will be very slow. You can also limit the throughput on the network with a lot of tools. I guess the only thing I am not sure about is the CPU. That's tricky. Curious to know what you find. :)
You could get a copy of VMWare Workstation and choke the CPU of your VM.
With most virtual PC software you can limit the amount of RAM, but you are not able to set the CPU to a slower speed as it does not emulate a CPU, but uses the host CPU.
You could go with some emulation software like bochs that will let you setup an x89 processor environment.
You may try Fossil Toys
* PC Speed
PC CPU speed monitor / benchmark. With logging facility.
* Memory Load Test
Test application/operating system behaviour under low memory conditions.
* CPU Load Test
Test application/operating system behaviour under high CPU load conditions.
Although it doesn't simulate a specific CPU clock speed.

Resources