A blog for all of Performance Engineering Basics to advanced concepts of analysis, JVM monitoring, GC Tuning, Database Performance Tuning.
Feedback
Get link
Facebook
X
Pinterest
Email
Other Apps
Hey, Many thanks for dropping by to check out my blog and taking time to read through. If you have any questions / feedback, please drop an email to performance at jnantech dot com
Introduction This series of articles will introduce the reader to explore more about Performance Engineering, specifically how to deal with actual issues of the product in a production deployment scenario. This is the most discussed area and most of the people I have interacted with look forward to getting in to this role and deal with actual issues and make their contribution. This work requires knowledge and understanding from a multitude of aspects like – The product design Usage profile of the product CPU and Memory and Disk configuration of the platform Software configuration – Memory settings Connected software components and their impact The reader is expected to look at the problem holistically to make the best use of the resources being deployed and then tune the application to obtain the required performance. As t...
Introduction After all the comments and the feedback from the community which has been much encouraging, this is the second article in the engineering series also aimed at tuning the JVM. In the first one we had delved deep in to tuning G1GC which can get complex at times depending on the application design and its intended usage. Background In this article today, we will try to look at simple case of an application running Parallel GC which is primarily used for UI navigation of a complex micro service based system. Here we are using the terms simple and complex which might sound contradicting, but just to give a birds eye view, this application is primarily used for UI side navigation with internal API based communication with all the supporting micro services. So, this design is light weight and the heavy lifting is done by the services themselves, so the throughput is quite high and responsiveness is very important. In this context, the immediat...
ActiveMQ Crash Introduction In this article let us look at an interesting case of ActiveMQ crashing and the symptoms it showed up and how it was resolved. ActiveMQ is a widely used message broker that talks via a wide range of sources. In the current context, its used for the purpose of sending email notifications where the test application places a message on the queue for it to be consumed by other interfacing applications for email notification delivery. The ActiveMQ runs in redundant mode with active standby. If a node goes down for any reason, the other node immediately picks up the processing and continues until it goes down. ActiveMQ is initiated using a wrapper which was designed off a community release version and not the regular commercial deployment version. The limitation of this would be explained later in the article. Problem It was observed that the ActiveMQ queue fills up due to pending messages (or) the mess...