For the last two and a half months, I've been blogging about the Enterprise Java Application Performance Problems Top 10:
- #10 - Excessive logging
- #9 - Incorrect application server configuration
- #8 - Incorrect usage of Java EE
- #7 - Unnecessary use of XML
- #6 - Improper caching
- #5 - Excessive memory usage
- #4 - Badly performing libraries
- #3 - Incorrectly implemented concurrency
- #2 - Unnecessary remoting
- #1 - Incorrect database usage
It was an interesting trip. I've discovered I can (almost) keep to such a weekly schedule, although it has given me more respect for people that consistently churn out topical columns for newspapers. More importantly, I've learned a lot of new stuff researching the entries; especially about concurrency control and databases. I hope you've appreciated the countdown too and can apply some of it in your daily work!
In the end, we can draw a few conclusions:
- First of all, Java developers should consider performance an importance quality requirement of their application to which they should pay attention from the start to the end of the project.
- Secondly, Java developers need to work with the people that can help them improve the performance of their application like application server and database administrators.
- Finally, there is a lot of stuff to know about performance. I've given a number of pointers, but there is tons of other info out there. A good starting point is the Java Performance Tuning web site.
Well, in the Netherlands they say meten is weten, which means as much as you need to measure to know. Don't trust me, go and measure for yourself!