Troubleshooting Sluggish Java Applications

Spread the love

Java, it seems, is everywhere. These ubiquitous multi-tiered applications help companies stay efficient as they serve customers, manage internal affairs, create products, sell those products, etc., yet the applications exist in an extremely complex environment, challenging IT and network managers as they work to prevent application performance issues and other problems (and, when it comes to Java,  issues and problems seem to constantly crop up).

Java_Applications

Adding to the challenge of regularly keeping an eye on these critical-to-the-business applications (the necessity of regular Java, .NET and Tomcat monitoring comes to mind) is also the fact that these multi-layered applications need a highly sophisticated application architecture to keep them at peak performance.

Still, there are some “typical,” “easy” issues to look for when it comes to Java performance concerns you can look for at as you perform JVM monitoring). Read below for some of them.

  • Many problems start with excessive JVM garbage collection. Understand that a garbage collection issue won’t necessarily announce itself as an OutOfMemoryError. OOM sometimes can be a disproportionate amount of major and/or minor collections. There can be several things causing this, two of which are:
    • Your app’s dynamic or even its static memory footprint is too large to fit within a 32-bit JVM.
    • A 32-bit JVM also result in not enough room for the Native Heap. You’ll notice issues appearing as OOM as you try to operate a new Java EE app, which makes new Java Threads and other computing jobs that require allocations of native memory.
    • When it comes to Java, database issues also can cause concerns (no surprise here). Most Java systems use relational databases for different business procedures and do so from portal content management so that they put order to provisioning systems. A database foundation and environment that are robust should go a long way in ensuring that any IT setting will scale correctly and adequately support your database needs.
    • Excessive data caching also can lead to poor performance. If the Java Heap receives too much cached data, your system will tussle with OOM conditions as well as disproportionate garbage collections. You should aim for an equilibrium of data caching, your hardware’s capacity and the size of your Java Heap.
    • A relatively easy “problem” to fix is a lack of proactive monitoring. Many free Java downloads are available to monitor Java in a pinch. Regular monitoring will help discover JVM memory leaks and other problems when it’s much easier to fix any issues. Waiting until the problem is shouting at you can result in issues that are hard to stabilize, let alone fix. Instead, monitoring can go a very long way to keeping small issues from becoming overwhelming.

AppDynamics

AppDynamics is the leading provider of application performance management for modern application architectures. That means not just the kinds of old-school app environments that existed 5 years ago, but the new ones: distributed, agile, and extremely hard to manage. They are sometimes in the cloud, sometimes in the physical data center and always causing headaches for ops and dev teams.

0 0 votes
Article Rating

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
technologynews
10 years ago

Very useful article for Troubleshooting Sluggish Java Applications. i will follow you. thanks

1
0
Would love your thoughts, please comment.x
()
x