By Jeroen Borgers
Recently, I was called in by a company with a website in trouble. And because they make all their money on-line, it was evident that they really wanted to have the issue solved. The day I came in, the site had gone down about 5 times the last 24 hours. Because of this they got less traffic, which directly meant less revenue. The log files showed periods of long response times and OutOfMemoryErrors. Their questions were: Why do we get this behavior? and How do we fix it? My short answer turned out to be: because of too many loitering objects; and this can be fixed by not holding on to them in the HTTP session. (more…)
Tags: Continuity, garbage collection, HPJMeter, Java, jconsole, OutOfMemoryError, Performance, VisualVM
Filed under Java, Performance | 6 Comments »
In many JEE apps today, you almost cannot forgo XML. Whether it is in configuration, data structures or service interfaces, you will certainly use a number of XML files. In a recent project we had to deal with a number of external services which used an XML interface. Little did we know that we introduced a potential time-bomb in our application… (more…)
Tags: Eclipse, eclipse memory analyzer, Java, Maven, maven2, memory leak, OutOfMemoryError, XML
Filed under Java, Performance, Testing | 3 Comments »
Last week Vincent explained the BDUF Pitfall en this week we’ll continue with #4: Incorrectly applied Canonical Data Model (CDM).
CDM is one of the silver bullets often fired in SOA projects. It should address miscommunication, ease integration and reduce integration costs. It surely can facilitate all of this, but attempts to use a CDM can also turn your SOA project into an endless discussion because one attempts to cover too much, because of a lack of alignment with business and because of a lack of design principles.
(more…)
Tags: SOA
Filed under Architecture, Java, Performance, SOA | 2 Comments »
Though concurrency is not really a hobby of mine, but I do find it interesting, and once in a while, it gets me intrigued. This article is about locking, and choosing the right type of lock and what the consequences are when picking the wrong lock!
Tags: Concurrency Control
Filed under Java, Performance | 3 Comments »
Escape Analysis in Java 6?
Last month we held our Speeding up Java applications course in the Dutch woods. When preparing for it, I discussed some of the new topics with my peer instructor and creator of the course Kirk Pepperdine. We explain new features of Java 6 and how they can help improve your performance. One of the more sophisticated features on the VM level is called escape analysis. The question is: does it really work? (more…)
Filed under Java, Performance | 18 Comments »
This week we wrap up the interview with Jonas Bonér from Terracotta that Jeroen Borgers and Peter Veentjer did.
Terracotta is NAM (Network Attached Memory) and it provides JVM level clustering for scratch data.
Head on over to our podcast page here or download or subscribe to our new podcast.xebia.com.
Filed under Java, Performance, Podcast | No Comments »
Don’t we all remember the days when we programmed C or C++? You had to use new and delete to explicitly create and remove objects. Sometimes you even had to malloc() an amount of memory. With all these constructs you had to take special care that you cleaned up afterwards, else you were leaking memory.
(more…)
Filed under Java, Performance | 10 Comments »
Jeroen Borgers and Peter Veentjer from Xebia interview Jonas Bonér from Terracotta.
Terracotta is NAM (Network Attached Memory) and it provides JVM level clustering for scratch data.
This is part 1 of a 2 part interview. Part 2 will be posted in 2 weeks.
Head on over to our podcast page here or download or subscribe to our new podcast.xebia.com.
Filed under Java, Performance, Podcast | No Comments »
Yes we have finally reached to numbers 2 and 1 in this Performance Top 10 by Vincent Partington and Jeroen Borgers.
Discussed are numbers 2-Unnecessary remoting.
More information about number 2 can be found here.
and for number 1-Incorrect database usage see; here.
So download the podcast here or better yet! subscribe to one of our rss feeds on podcast.xebia.com
Filed under Java, Performance, Podcast | No Comments »
Our fourth episode on the Enterprise Java Application Performance Top 10 is ready for download!
Security and Performance Expert Vincent Partington and Performance Expert Jeroen Borgers talk about the Enterprise Java Application Performance Top 10.
Discussed are numbers 4-Badly performing libraries.
More information about number 4 can be found here.
and for number 3-Incorrectly implemented concurrency see; here.
So download the podcast here or better yet! subscribe to one of our rss feeds on podcast.xebia.com
Filed under Java, Performance, Podcast | No Comments »