Recently there was a bigger discussion at dynaTrace around the cost of exceptions. When working with customers we very often find a lot of exceptions they are not aware of. After removing these exceptions, the code runs significantly faster than before. This creates the assumption that using exceptions in your code comes with a significant [...]
Memory Leaks are painful – especially when they crash your production servers. But – how does one go about analyzing the leak that only happens in the production environment? Here is a story I was told while on-site with one of our clients. I asked: “Chris, tell me about a recent performance problem and how [...]
Our new book Java Enterprise Performance is now available. It covers all major topics around performance management for enterprise Java applications. The book targets software and system architects as well as developers. It starts with an introduction to performance measurement techniques and data interpretation. The following technical chapters cover all major technologies used in enterprise [...]
In a recent post we have shown how the Java Garbage Collection MXBean Counters have changed for the Concurrent Mark-and-Sweep Collector. It now reports all GC runs instead of just major collections. That prompted me to think about what a major GC actually is or what it should be. It is actually quite hard to find [...]
When building distributed applications one of the central performance-critical components is serialization. Most modern frameworks make it very easy to send data over the wire. In many cases you don’t see at all what is going on behind the scenes. Choosing the right serialization strategy however is central for achieving good performance and scalability. Serialization [...]
Stefan Frandl, Test Automation Team Lead at dynaTrace, recently tested an upgrade of our dynaTrace platform from JDK6u21 to JDK6u23. He discovered a change in Garbage Collection MXBean Counters that changes the way we monitor Runtime Suspensions caused by GC Activations. More details on the actual changed counters and a follow up link to an Oracle [...]
I recently got engaged with a client who ran an increasing load test against their load-balanced application. I got engaged because they had a phenomenon they couldn’t explain – here is an excerpt of the email: We have a jBoss application with mySQL that runs stable in a load testing environment with let’s say 20 [...]
We are using Confluence for both our internal Wiki as well as for our external Community Portal. I just came across a very nasty performance bug in the version we are running on our external system. We run 3.2 and the User Search Feature keeps me waiting several minutes each time I search for users. [...]