Spring pet clinic application is a sample application developed by the Spring Framework developers to demonstrate the capabilities of Spring Boot, Spring MVC and Spring Data Framework. We set out to conduct a performance test on this application and see whether we can identify any performance bottlenecks. Environment Setup We cloned the Spring pet clinic... Continue Reading →
AWS Cloud watch + yCrash = Monitoring + RCA
We had an outage in our online application GCeasy on Monday morning (PST) Oct' 11, 2021. When customers uploaded their Garbage Collection logs for analysis, the application was returning HTTP 504 error. HTTP 504 status code indicates that transactions are timing out. In this post, we would like to document our journey to identify the... Continue Reading →
Performance impact of java.lang.System.getProperty()
'java.lang.System.getProperty()' is a common API used by Java developers to read the System properties that are configured during application startup time. i.e. when you pass "-DappName=buggyApp" as your application's startup JVM argument, the value of the 'appName' system property can be read by invoking the 'java.lang.System.getProperty()'. Example: public static String getAppName() { String app =... Continue Reading →
Overhead added by Garbage Collection Logging
Enabling Garbage collection logs on your application has certain advantages. In nutshell, Garbage collection logs will facilitate you to optimize Garbage Collection pause time, improve overall application’s response time, forecast production outages, reduce computing cost. Even though Garbage collection logs have these advantages, we weren’t sure what overhead does garbage collection logging add to the... Continue Reading →
Overhead added by collecting thread dumps
A thread dump is a snapshot of all the threads running in a java process. It’s a vital artifact to troubleshoot various production problems such as CPU spikes, unresponsiveness in the application, poor response time, hung threads, high memory consumption. Thus to facilitate troubleshooting, we have seen enterprises capture thread dumps on a periodic basis... Continue Reading →
OutOfMemoryError: Kill process or sacrifice child – causes & solutions
There are different flavors of OutOfMemoryError. One of the flavours of OutOfMemoryError is 'Kill Process or sacrifice child'. This post discusses what triggers this 'Kill Process or sacrifice child' OutOfMemoryError and potential solutions to diagnose this problem. What triggers Out Of memory: Kill Process or sacrifice child? When processes in the host tend to consume... Continue Reading →
Major Outages in Major Enterprises
JAX – Online conference is the meeting place for all Java and software architecture enthusiasts! This year also, they have conducted an online conference to exchange knowledge and ideas from speakers all over the world. They have invited our architect to conduct a webinar on the topic “Major Outages in Major Enterprises”. In this session, we... Continue Reading →
JVM Internals in 1 slide
JAX - Online conference is the meeting place for all the Java and software architecture enthusiasts! This year also, they have conducted the online conference to exchange the knowledge and ideas from the speakers all over the world. They have invited our architect to conduct a webinar on the topic "JVM Internals in 1 slide".... Continue Reading →
Accelerating Incident Response To Production Outages – Webinar
Lexington soft training academy conducted a webinar on the topic "Accelerating Incident Response To Production Outages of Enterprise JVM Applications" In this webinar, following topics were discussed Production outages that happened in major enterprises in their JVM applications.Analyzing the actual thread dumps, heap dumps, GC logs, and other artifacts captured at the time of the... Continue Reading →
Video Blog: 7 JVM Arguments of Highly effective applications
You can pass 600+ arguments to JVM just around Garbage collection and memory. It’s way too many arguments for anyone to digest and comprehend. In all these 4 videos, 7 important JVM arguments that will boost your Java/Scala/Jython application performances are shared. Videos Part 1 Part – 1 explains the below arguments. The maximum heap... Continue Reading →