JVM Monitoring and Performance Assurance for Java-Based Banking and Trading Applications
February 15, 2018

Vinod Mohan
eG Innovations

Share this

Java is one of the most popular technologies used for application development. Tens of thousands of web and mobile applications are built on Java around the world.

Some highlights of Java's advantages include its security, scalability, portability and compatibility – among the most sought characteristics for building highly demanding and performance-sensitive applications, as seen in banking, trading, and other financial corporations. Speed is absolutely critical for these low-latency applications. If a Java-based trading application is not able to manage handling large in-memory data sets in real time, business-critical transactions will stall. Just a few milliseconds of delay can be disastrous and result in heavy financial losses.

The role of the Java Virtual Machine (JVM) in Java's server-side architecture plays a major role in memory management for these high-frequency applications. Using a process known as garbage collection, the JVM automatically frees up heap memory used by objects that are no longer referenced in the Java code.

Automating this process makes the life of a developer easier, as he/she is relieved from keeping track of free allocated memory, a time-consuming task. However, garbage collection does itself take time to execute. The more frequently it happens, the more pauses will occur in processing data. So, with too much garbage collection the transaction will likely suffer from slow performance.

Conventional JVM manufacturers are working towards reducing garbage collection pauses and ensuring that memory management is more seamless, using techniques such as concurrent, parallel and compacting garbage collection. Further, some modern JVM vendors are adopting a radically new pauseless approach to garbage collection that delivers faster processing for low-latency and memory-intensive applications.

Look for an end-to-end application performance monitoring solution that provides deep visibility into all Java performance metrics from the JVM and application container, all the way across business transactions and end-user experience

Achieving optimum JVM performance is key to ensuring proper memory management and fast application processing. According to a Cornell University study, a 1-millisecond improvement in the performance of a trading application can be worth $100 million a year to a major brokerage firm. Because of this potential for loss, IT teams owning banking, financial, trading and other Java-based applications place a high value on having a proper JVM monitoring strategy in place. A comprehensive Java performance monitoring solution will help track critical JVM metrics and alert the team to issues with garbage collection, out-of-memory errors, high CPU threads, and more.

Top JVM Performance Metrics to Monitor:

JVM Memory Management

■ Know if the heap memory has exceeded the reserved memory for the JVM

■ Monitor heap and non-heap memory and know whether the JVM is sized correctly

■ Identify specific JVM processes that are consuming high memory and/or CPU

JVM Garbage Collection

■ Number of times garbage collection happens (frequency)

■ Time taken for garbage collection

■ Memory metrics before and after garbage collection

JVM Threads

■ Track down blocked, waiting, deadlocked and high CPU threads

■ Measure wait time for each thread

■ Have access to quickly look up the stack trace and locate specific method calls that are having any exceptions

Other JVM-level Metrics

■ Monitor the number of loaded and unloaded classes

■ Continuously check JMX connectivity to the JVM

■ Keep tabs on JVM uptime and availability stats

JVM Server-level Metrics

■ For a pauseless JVM like Azul Zing, the overall reservable, contingency and pause prevention pool memory metrics are available at the operating system layer since these are shareable across multiple JVMs running on the same server. You need the ability to measure these memory metrics from the operating system.

■ Additionally, administrators need the ability to monitor the overall available memory at the server level, as well as that which is being allocated to the OS.

■ Track the health status of the JVM server and the server hardware.

Look for an end-to-end application performance monitoring solution that provides deep visibility into all Java performance metrics from the JVM and application container, all the way across business transactions and end-user experience. It gives you instant visibility into erroneous application code and errant SQL queries to facilitate code optimization. Monitor all aspects of JVM performance to ensure that the JVM works optimally and delivers fast and jitter-less application performance.

Vinod Mohan is Senior Manager, Product Marketing, at eG Innovations
Share this

The Latest

May 21, 2020

As cloud computing continues to grow, tech pros say they are increasingly prioritizing areas like hybrid infrastructure management, application performance management (APM), and security management to optimize delivery for the organizations they serve, according to SolarWinds IT Trends Report 2020: The Universal Language of IT ...

May 20, 2020

Businesses see digital experience as a growing priority and a key to their success, with execution requiring a more integrated approach across development, IT and business users, according to Digital Experiences: Where the Industry Stands ...

May 19, 2020

Fully 90% of those who use observability tooling say those tools are important to their team's software development success, including 39% who say observability tools are very important ...

May 18, 2020

As our production application systems continuously increase in complexity, the challenges of understanding, debugging, and improving them keep growing by orders of magnitude. The practice of Observability addresses both the social and the technological challenges of wrangling complexity and working toward achieving production excellence. New research shows how observable systems and practices are changing the APM landscape ...

May 14, 2020
Digital technologies have enveloped our lives like never before. Be it on the personal or professional front, we have become dependent on the accurate functioning of digital devices and the software running them. The performance of the software is critical in running the components and levers of the new digital ecosystem. And to ensure our digital ecosystem delivers the required outcomes, a robust performance testing strategy should be instituted ...
May 13, 2020

The enforced change to working from home (WFH) has had a massive impact on businesses, not just in the way they manage their employees and IT systems. As the COVID-19 pandemic progresses, enterprise IT teams are looking to answer key questions such as: Which applications have become more critical for working from home? ...

May 12, 2020

In ancient times — February 2020 — EMA research found that more than 50% of IT leaders surveyed were considering new ITSM platforms in the near future. The future arrived with a bang as IT organizations turbo-pivoted to deliver and support unprecedented levels and types of services to a global workplace suddenly working from home ...

May 11, 2020

The Internet of Things (IoT) is changing the world. From augmented reality advanced analytics to new consumer solutions, IoT and the cloud are together redefining both how we work and how we engage with our audiences. They are changing how we live, as well ...

May 07, 2020

Despite IT professionals' confidence in their ability to support today's much greater dependence on digital services, there is a rise in application performance errors reported by more than half of consumers, according to the Impact of COVID-19 on Digital Transformation survey from xMatters ...

May 06, 2020

The new normal includes not only periodic recurrences of Covid-19 outbreaks but also the periodic emergence of new global pandemics. This means putting in place at least three layers of digital business continuity practice ...