Caching is the process of saving the result of a calculation and potentially re-using it in the future to reduce response times, increase throughput, and reduce load on servers. Caching is a critical and often under-tuned aspect of performance. In this article, we'll cover how to understand Java...
As discussed in a past blog post , if you're experiencing performance problems, after you've reviewed that garbage collection (GC) is healthy , and you've reviewed thread dumps , the next step is to review a sampling profiler. This gives you more detailed information about what's using CPU...
2 Comments - no search term matches found in comments.
As discussed in a past blog post , if you're experiencing performance problems, after you've reviewed that garbage collection (GC) is healthy , the next step is to review thread dump stacks during a performance issue. This gives you a sample of what your application is doing and often leads to...
4 Comments - no search term matches found in comments.
As discussed in a past blog post , if you're experiencing performance problems, the first thing to check is whether your garbage collection (GC) is healthy. If the proportion of time in garbage collection is greater than ~10%, then garbage collection is likely unhealthy and the application is...
In our previous blog post , we discussed the value of running the Linux perf native CPU sampling profiler to investigate Java CPU usage in production. However, perf generally requires root access and OpenShift application containers generally don't run with such privileged access. This...
If your Java workload is experiencing high CPU in production, the basic workflow is generally the following. This article will quickly review the first three steps and then we'll focus on the fourth step in green: Review a native sampling profiler. Garbage Collection The first thing to...
In previous blog posts we explored optimizations for running Liberty in containers. Part 1 covered optimizations for the JVM and Part 2 covered Liberty containers basics. In this post, we will cover deployment options and performance optimizations for Liberty containers in Kubernetes...
In the previous " Lessons from the field " post we covered performance optimizations for Java running in containers. Joe McClure added some additional Liberty container performance optimizations in his blog post here . In this post, we will cover some more general tips on using Liberty in...
As you begin to containerize Liberty applications, it's important to keep in mind how running in a container environment can affect performance. Performance tuning a Liberty container begins with tuning the JVM. The standard mechanisms that java uses to understand system resources such as memory...
If you experience production issues with WebSphere Application Server (WAS) traditional, it's often useful to log performance statistics to a file for later analysis. This includes things such as thread pool utilization, application response times, and so on. Running without such monitoring data...