The Spring Boot Buggy API offers a valuable platform to simulate various performance issues in your applications. By intentionally creating problems like DB connection leaks, memory leaks, CPU spikes, and more, you can assess your system's resilience and evaluate the effectiveness of performance tools. Fig 1: SpringBoot Buggy API - Performance Issue Simulator Buggy Api... Continue Reading →
Chaos Engineering – DB Connection Leak
All modern applications connect with storage, such as a database or cache. Database connection leak is commonly observed in modern applications, which can result in connection leaks that can lead to production outages. In our series of chaos engineering articles, we have been learning how to simulate various performance problems. In this post, let's discuss... Continue Reading →
Chaos Engineering – File Connection Leak
Many Java applications still use files for importing and exporting data. If the connections to these files are not properly managed, it can lead to a significant number of connections leaking, causing the application to slow down or even crash. In our series of chaos engineering articles, we have been learning how to simulate various... Continue Reading →
Java SpringBoot – Performance Analysis and Tuning
SpringBoot is a widely used framework for building Java-based web applications and maintains a significant presence in the world of enterprise software development. It powers large-scale microservices and standalone applications. Most SpringBoot applications have embedded web servers and follow a distributed architecture consisting of three main types of application components: Backend: API services Backend: Event... Continue Reading →
Java Semaphore – easy introduction
Coming soon...
Java Thread Local – easy introduction
Coming soon...
Let’s crash the applications! – Confoo 2022
ConFoo Montreal is a multi-technology conference for developers. This year , they have conducted the program to exchange knowledge and ideas from speakers all over the world. Our Architect Ram Lakshmanan was invited to give a talk on the topic: "Let's crash the applications!" Below is the deck shared in the talk: In this session,... Continue Reading →
What is ‘Load Average’?
Load average is an age-old metric, which is in existence since the 1970s to indicate whether the system is under heavy/average/low load. It is useful to indicate whether the system’s load is on an increasing trend or a decreasing trend. In this article, let’s learn more about ‘Load Average’. How to understand 'Load Average'? In... Continue Reading →
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... Continue Reading →
Different CPU times – Unix/Linux ‘top’
CPU consumption in Unix/Linux operating systems are studied using 8 different metrics: User CPU time, System CPU time, nice CPU time, Idle CPU time, Waiting CPU time, Hardware Interrupt CPU time, Software Interrupt CPU time, Stolen CPU time. Let’s review each of the CPU time in this article. user CPU time & system CPU time... Continue Reading →