In the series of chaos engineering articles, we have been learning to simulate various performance problems. In this post, let’s discuss how to simulate ‘java.lang.OutOfMemoryError: Java Heap space’ problem. This ‘java.lang.OutOfMemoryError: Java Heap space’ will be thrown by the application when the application generates more objects than the allocated heap size.
Continue reading “Chaos Engineering – Simulating OutOfMemoryError”Chaos Engineering – Simulating CPU spike
In this series of chaos engineering articles, let’s discuss how to simulate CPU consumption to spike up to 100% on a host (or container). CPU consumption will spike up whenever a thread goes on an infinite loop. Here is a sample program from the open-source BuggyApp application, which would cause the CPU to spike up.
Continue reading “Chaos Engineering – Simulating CPU spike”Load Average – indicator for CPU demand only?
‘Load Average‘ is an age-old metric reported in various operating systems. It’s often assumed as a metric to indicate the CPU demand only. However, it is not the case. ‘Load Average’ not only indicates CPU demand, but also the I/O demand (i.e., network read/write, file read/write, disk read/write). To prove this theory, we conducted this simple case study.
Continue reading “Load Average – indicator for CPU demand only?”Buggy App – Simulate performance problems
Buggy App is a simple java application that simulates different performance problems like Memory Leak, OutOfMemoryError, CPU spike, thread leak, StackOverflowError, deadlock, unresponsiveness, …
Continue reading “Buggy App – Simulate performance problems”