Garbage Collection

Tibco Business Events Memory leak analysis in live production

As a performance architect I get called into various production performance issues. One of our recent production issues happened with Tibco Business Event (BE) Service constantly violating our Service Level Agreements (SLA) after running 10-15 hours since the last restart. If we keep the services running for longer we would see them crash due to an “out of memory” execution. This is a typical sign of a classic memory leak! In this blog … read more

Root-cause analysis of ‘Suspension’ impacts

If you’ve used Ruxit to analyze the response times of web requests in your environment you may have noticed that some services list a hotspot called Suspension. Suspension time represents the amount of time that requests are suspended by the JVM, CLR, or V8 JavaScript engine during garbage collection activities. Ruxit tracks this and tells you how big an impact suspension has on your requests. To view the impact, click Suspension (see … read more

Default Garbage Collection settings for JVMs can cost you!

If you are following this blog you will have come across multiple posts that point out the correlation between Garbage Collection (GC) and Java Performance. Moreover, there are numerous guides on How Garbage Collection Works or Configure Garbage Collection policy on your Java Virtual Machine (JVM). Having read the above posts you can quickly come to the conclusion that misconfigured GC parameters can be catastrophic. But where do you start? … read more

How to track down CPU issues in Node.js

A running application is represented through some state stored in memory and calculations carried out by the CPU. Typically performance problems materialize in these two areas. In my last post I’ve explained garbage collection and how to hunt down memory problems in Node.js. In this blog post I’ll cover the CPU aspects of Node.js including the event loop and how to track down tasks that consume too much CPU time … read more

Understanding Garbage Collection and hunting Memory Leaks in Node.js

Whenever there is bad press coverage of Node.js, it is (typically) related to performance problems. This does not mean that Node.js is more prone to problems than other technologies – the user must simply be aware of certain things about how Node.js  works . While this technology has a rather flat learning curve, the machinery that keeps Node.js ticking is quite complex and you must understand it to preemptively avoid performance pitfalls. And if things go wrong … read more

Detecting Bad Deployments on Resource Impact and Not Response Time: Hotspot Garbage Collection

This story came in from Joseph – one of our fellow dynaTrace users and a performance engineer at a large fleet management service company. Their fleet management software runs on .NET,  is developed in-house, is load tested with JMeter and monitored in Production with dynaTrace. A usage and configuration change of their dependency injection library turned out to dramatically impact CPU and memory usage while not yet impacting end user … read more

Are we getting attacked? No, it’s just Google indexing our site

Friday morning at 7:40AM we received the first error from our APMaaS Monitors informing us about our Community Portal being unavailable. It “magically recovered itself” within 20 minutes but just about an hour later was down again. The Potential Root Cause was reported by dynaTrace which captured an Out-of-Memory (OOM) Exception in Confluence’s JVM that hosts our community. The first thought that came to mind when looking at our Real … read more

Cassandra Write Performance – A quick look inside

I was looking at Cassandra, one of the major NoSQL solutions, and I was immediately impressed with its write speed even on my notebook. But I also noticed that it was very volatile in its response time, so I took a deeper look at it. First Cassandra Write Test I did the first write tests on my local machine, but I had a goal in mind. I wanted to see … read more

How Garbage Collection differs in the three big JVMs

Most articles about Garbage Collection ignore the fact that the Sun Hotspot JVM is not the only game in town. In fact whenever you have to work with either IBM WebSphere or Oracle WebLogic you will run on a different runtime. While the concept of Garbage Collection is the same, the implementation is not and neither are the default settings or how to tune it. This often leads to unexpected … read more

The Top Java Memory Problems – Part 1

Memory and Garbage Collection problems are still the most prominent issues in any java application. One of the reasons is that the very nature of Garbage Collection is often misunderstood. This prompted me to write a summary of some of the most frequent and also most obscure memory related issues that I have encountered in my time. I will cover the causes of memory leaks, high memory usage, class loader … read more