By Jeroen Borgers
More and more Internet users buy in web shops these days. Research shows that the part of European Internet users that buys on-line has grown from 40% in 2004 to 80% in 2008. Additionally, large web retailers in The Netherlands see their revenue grow just as if the recession has never materialized. Business seems to be flourishing. (more...)
Tags: availability, business, load, Performance, speed., web shop
Filed under Java, Performance | No Comments »
Last week we started our search for JPA implementation patterns with the Data Access Object pattern. This week we continue with another hairy subject.
JPA offers the @OneToMany, @ManyToOne, @OneToOne, and @ManyToMany annotations to map associations between objects. While EJB 2.x offered container managed relationships to manage these associations, and especially to keep bidirectional associations in sync, JPA leaves more up to the developer.
(more...)
Filed under JPA, JPA implementation patterns, Java, Performance | 28 Comments »
Yesterday was a very good day! After speaking at QCon the day ended with CloudCamp. An evening dedicated to everything cloud with an amazing turnout! More then 500 folks joined.
Turns out that although in general people tend to agree what a cloud is, nobody actually knows exactly what to do with it! (more...)
Filed under Amazon Webservices, Architecture, General, Performance, Virtualization, qcon | No Comments »
By Jeroen Borgers
Last week I instructed an in-house performance tuning course and explained the participants about the threading optimizations in the Java 6 VM. We run the exercises of the course on Java 6 update 11 and when I told them that Escape Analysis did not work properly yet, I realized I did not really know this for a fact for this update of Sun’s Java. So, it is time to re-run the benchmark and find some unexpected results. (more...)
Filed under Concurrency Control, Java, Performance | No Comments »
A colleague asked me whether jconsole could connect to a running IBM Webpshere 6.1 instance. This way you could gather performance data and work with Mbeans like with any other 1.5+ JVM. I had never tried this, but I quickly saw that jconsole is provided with the websphere jvm, so I said I would give it a try.
The forum posts all complained that it wasn´t possible, but I combining several entries I got together a working solution. This is typical of websphere, it´s a little harder, but in the end you can get there.
(more...)
Filed under Java, Middleware, Performance | 6 Comments »
VMWare Server 2.0 was released about two months ago. Virtualization is hot and has a lot of different uses. I use it to run the Linux-based middleware products (Apache, IBM WebSphere Server, IBM WebSphere Portal, etc.) for which we are building an automated deployment product on my . But more about that later...
Anyway, I've been running betas and release candidates of VMWare Server 2.0 for six months now and while the functionality is great, initially the performance was very bad on my Thinkpad T61p running Windows Vista. Last week I finally got it to work with proper performance. A perfect time to let other people know how.
Filed under Performance, Virtualization | 3 Comments »
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 | 5 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, maven2, memory leak, OutOfMemoryError, XML
Filed under Eclipse, Java, Maven, 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...)
Filed under Architecture, Java, Performance, SOA | 1 Comment »
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!
Filed under Concurrency Control, Java, Performance | 3 Comments »