Large organizations are often running hundreds of servers. In order to improve performance, get rid of bugs and bolster security in this complex setup, the operating systems and applications on these servers must be updated from time to time. Given the central role Java plays in today’s technology environment, major releases of Java are likely to be applied to several of your servers (learn about Java server and infrastructure monitoring).
Nevertheless, updates can have unintended consequences. They may destabilize the existing architecture and introduce conflicts that weren’t there before. That’s why administrators must keep an eye on their servers after a major Java release to ascertain that their hardware and software is still working as efficiently as it should. There are numerous metrics you can look at but the following are arguably the most important.
This is perhaps the metric that would make it most obvious that there’s a problem introduced by the recently applied release. If your web app had an uptime of 99 percent but that seems to have abruptly dropped to 90 percent, you should consider the Java release as the most probable suspect.
Run a health check throughout the system and pay particular attention to all services that are involved in application transactions. Uptime may be a binary indicator (system is either up or down) but it’s an invaluable trigger for more extensive investigation.
2. Response Times
How long does your application take to complete a transaction, HTTP request or database request? That’s its response time. Another angle of measuring response time is throughput which is the number of requests the application processes within a given timeframe.
Immediately after applying a major release, analyze the response time of your queries and process strings then zero in on those that are the slowest. Also, take a look at the ones that may not be the slowest but that have seen a decline in response times after the release.
3. Error Rates
There are multiple ways you can examine error rates. Perhaps the best place to start is at the application level such as the number of failed HTTP requests as a percentage of the total HTTP transactions.
Still, errors may occur at a lower transaction-specific level and this could go unnoticed if you devote all your attention to the surface-level errors. For example, you could check for any changes to the failure frequency of a method within your code. Overall, tracking error rates isn’t an end in itself—Get to the root cause and fix it.
4. Business Metrics
Technical metrics aren’t the only measures of your application’s performance. Remember, your entire technology infrastructure exists to facilitate business or the causes your organization stands for.
Unusual dips in critical business metrics such as conversions, revenue, visitor traffic and how long users linger in a given module or webpage could be indicators that there’s an underlying system problem that’s having a negative impact on end-user experience.
We’ve deliberately left discussions of logs to the end of this article. Whenever there’s a system problem, administrators will almost automatically refer to the logs first. Yet, logs can be pretty enormous, hard to read and don’t always provide the exact information needed to resolve the problem.
However, ignoring logs isn’t an option. In fact, before you even get to reviewing log entries, one indicator of problems is an unexplainable growth in the log file size. This points to a spike in system activity and that isn’t always a good thing. But log file size of itself is an issue because it can quickly eat into disk space thus starving server applications of the resources they need to perform optimally.
You cannot afford to sit back expecting your systems will continue working as usual or even better once you apply a major Java release. Your application could be beset by severe issues that eventually have a catastrophic impact on your business. Keeping an eye on these metrics and taking remedial action when required is therefore vital.