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.
Related
Is there a way to check the interrupt processing latency in Linux kernel?
Or is there a way to check why CPU usage is only 40% in a specific configuration of Linux 4.19.138?
Background:
Currently I met a problem, I had a X86 server running either a 3rd party Linux-4.19.138 kernel (whose configuration file is about 6000 lines) or Ubuntu 20.04 X86_64 (whose configuration file is about 9500 lines long).
When running netperf test on this server , I found with the 3rd-party Linux-4.19.138 kernel, the IO latency of netperf is worse than with Ubuntu 20.04. The CPU usage is below 40% when running the 3rd party kernel, while it is about 100% when running Ubuntu 20.04.
They are using the same kernel command line and same performance profile in kernel runtime.
It seemed that the interrupt or the netserver process in the server is throttled in Linux-4.19.138.
Then, I rebuilt Ubuntu 20.04 kernel by using the short configuration file (6000 lines long), and got the similar bad results.
So it concluded that the kernel configuration made the difference.
Before comparing the 2 configurations (6000 lines vs 9500 lines), to narrow it down, my ask is, is there a way to check why CPU usage is only 40% in that configuration of 4.19.138? Or is there a way to check the interrupt processing latency in Linux kernel ?
I finally found the reason. It is from the
net.core.busy_read and
net.core.busy_poll are both to 0.
That means the socket polling is disabled, which impacts the netperf latency.
But the question changed to
In this case, the lower CPU usage is a sign that there is something different in Linux, what kind of tool or how can we should figure out what causes the CPU usage difference in 2 kernels?
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).
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.
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).
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.