Thread Dump Analysis - Additives

Thread Dump is a snapshot of the status of all the threads at a particular time. Thread dumps are vital artefacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. Thread Dump helps to find out what every thread in the JVM is doing at a particular point in time. A common phenomenon is once a high CPU usage is observed then thread dump analysis is required. 

In some previous posts, I have shared articles which described Athlete, Atherosclerosis, Treadmill, Traffic Jam, All Roads Lead to Rome, Repetitive Strain Injury (RSI) and Stock Ticker Pattern. Today, you will see if additional threads start to go into a particular state, then those threads and their stack traces have to be studied in detail because thread leak may occur. Such a pattern is named as Additives Pattern. A simple and descriptive article published in the fastThread blog on this thread pattern along with the example. Refer the link. πŸ‘‡ 

πŸ‘‰Article Link

Microservice performance testing under DevOps methodology

Microservice architecture, or simply microservices, is a distinctive method of developing software systems that try to focus on building single-function modules with well-defined interfaces and operations. The trend has grown popular in recent years as Enterprises look to become more Agile and move towards a DevOps and continuous testing. 

Neotys has published an informative article on Microservice performance testing under DevOps methodology along with Microservice architecture. Refer to the article to get full details: πŸ‘‡

πŸ‘‰ Article Link

CPU Bottleneck Identification

The high CPU usage is one of the most common bottlenecks identified during performance testing. As a performance tester, when some spikes or plateau are observed in the CPU utilization graph during user steady state then we raise a ticket for further investigation. But when you are leading a performance engineering task then it is your responsibility to identify the exact root cause. So, from where you will start your investigation?

This question is answered in today's article published on fastThread's blog. A step by step approach has been given in the article which can help you to grow your knowledge about CPU bottleneck identification. Refer to the linkπŸ‘‡

πŸ‘‰Article Link

Workload Modelling Steps

Workload modelling is an art where a performance tester designs a scenario to achieve the desired performance metric and check the performance of the application. In one of my post (under PTLC topic), I described how to prepare the workload model with the help of available figures.

Today, I will share one of the articles written by JM which explains what are the steps involved to get a correct workload model? Apart from these steps, I would also like to give stress over the correct calculation of metrics which is the soul of scenario creation. A small miscalculation may lead the test result in the wrong direction. Soon, I will write a blog on the accurate calculation of workload. 

Back to the topic, today, you can refer to JM's article to get the knowledge on Workload Modelling steps.πŸ‘‡

πŸ‘‰Article Link

Java Performance Issues and Resolutions

Nowadays, the maximum part of Performance tuning is falling under the Performance Engineer bucket. Hence he must have the knowledge of system architecture and experience to identify the bottleneck and resolve them. Java Performance issues are very common during performance testing as well as in production. Vimalaharan Paskarasundaram; in his article; described:
  • What are the common Java performance issues?
  • What are the reasons behind them?
  • How to resolve them
This article is a good source of information, specially for those who are involved in Performance Engineering or about to learn it. Refer the article link below:πŸ‘‡

πŸ‘‰Article Link

DynaTrace - PurePath

Dynatrace a famous name in the APM tool world. Dynatrace has many ultimate features like user experience, real-time business transaction monitoring, host and system monitoring, PurePath technology etc.

One of its features, PurePath provides a complete multi-dimensional trace of every transaction in a monitored application, giving comprehensive visibility across mobile apps, web apps, web browsers, web servers, Java, .NET, Node.js, PHP, databases, middleware and mainframe apps.

What is PurePath? Refer to the link to understand PurePath Power:πŸ‘‡

πŸ‘‰Article Link

Thread Dump Analysis - Stock Ticker

Thread Dump is a snapshot of the status of all the threads at a particular time. Thread dumps are vital artefacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. Thread Dump helps to find out what every thread in the JVM is doing at a particular point in time. A common phenomenon is once a high CPU usage is observed then thread dump analysis is required.

In some previous posts, I have shared articles which described Athlete, Atherosclerosis, Treadmill, Traffic Jam, All Roads Lead to Rome and Repetitive Strain Injury (RSI) Pattern. Today, you will see how to identify the bottleneck using Thread count. If thread count increased then it is a clear indication that some issues are there. To track the count of the thread named Stock Ticker Pattern. A simple and descriptive article published in the fastThread blog on this thread pattern along with the example. Refer the link. πŸ‘‡

πŸ‘‰Article Link

Performance Testing to Performance Engineering

What are the steps which lead you from Performance Testing to Performance Engineering?

Todd DeCapua has described the approach in detail in his article. Read the article if you are ready to switch: πŸ‘‡

πŸ‘‰ Article Link

LoadRunner - Quick Overview

Today's post is specially for LoadRunner beginner. Micro Focus has published a white paper in which LoadRunner basics are documented. This is a short but informative white paper.

This white paper will also help to them who want to understand how does LoadRunner work? And how different steps of LoadRunner fit into PTLC (Performance Testing Life Cycle). Refer to the linkπŸ‘‡

πŸ‘‰White Paper Link

Best APM tool (Gartner Report)

The next level of performance testing is Performance Engineering. In 2018, it has been observed that performance tester became more diverted in performance engineering assignment and looking for a job where they can learn engineering with some practical project work.

APM tools like DynaTrace, AppDynamics etc. are also growing and extending their features by adding Artificial Intelligence to cover the deep monitoring and analysis as well as predict the performance of the application. As a newcomer in the performance engineering field, a person may ask which APM tool he/she can learn? 

Gartner has published a detailed comparison report on the top level APM tool along with Magic Quadrant (which is given below). 



To read out the full report you need to visit DynaTrace official page and submit your details. Refer the link to get this informative report which may help you to choose the right APM for your career growth. Good Luck!

πŸ‘‰Article Link

MySQL tuning - Reduce CPU Utilization

Nowadays, the maximum part of Performance tuning is falling under the Performance Engineer bucket. Hence he must have the knowledge of system architecture and experience to identify the bottleneck and resolve them. 

Today, I found an article about MySQL tuning in which author Marcelo Altmann explained how CPU utilization can be reduced on MySQL. Refer the article link below:πŸ‘‡

πŸ‘‰Article Link

True causes of performance bottlenecks

Performance Testing is used to find out the bugs which degrade the performance of the application. But did we ever try to find out the exact reason for these bugs? If we know the causes at the beginning of the SDLC then performance issues can be mitigated up to some extent. And, this behaviour can lead you to become a Performance Engineer.

I found an ultimate article in which the writer (JM) has uncovered the causes of performance bottlenecks. Read the article to know what are they?πŸ‘‡

πŸ‘‰ Article Link

Performance Testing Approach

Rebecca Clinard, a Solution Consultant at New Relic has published a very basic and informative article on LinkedIn which describes the approach of performance testing starting from beginning till bug finding. Since she belongs to New Relic so she has given the reference of the same tool. 

But the good part is that you can read this article considering the suggested approach is generic and implement with any of the APM tools. If you use New Relic then that will be well and good! Read the article and grab the knowledge. Refer to the linkπŸ‘‡

Thread Dump Analysis - RSI

Thread Dump is a snapshot of the status of all the threads at a particular time. Thread dumps are vital artefacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. Thread Dump helps to find out what every thread in the JVM is doing at a particular point in time. A common phenomenon is once a high CPU usage is observed then thread dump analysis is required. 

In some previous posts, I have shared articles which described Athlete, Atherosclerosis, Treadmill, Traffic Jam and All Roads Lead to Rome Pattern. Today, you will see the situation where multiple threads are waiting to lock the repetitive stack trace which leads thread starvation. This pattern emphasises on proper arrangement of stack trace which can avoid the repetitive locking behaviour. This type of thread pattern is named as Repetitive Starin Injury (RSI). A simple and descriptive article published in the fastThread blog on this thread pattern along with the example. Refer the link. πŸ‘‡ 

πŸ‘‰Article Link

Run Vuser as Thread vs Process

A common question asks in the interview "What is the difference between Run Vuser as a Thread and Run Vuser as a Process?"

Most of us say Process occupies more memory than Thread. Hence we can execute more Vusers on an LG using Run Vuser as a Thread mode.

This is the correct answer. But I did more research on it and got some additional things which I described in this post. Hope this post will become "Clear Your Funda" for you. Refer the linkπŸ‘‡

πŸ‘‰ Article Link

Memory Leakage - Reasons

Memory leakage; a very common topic in the performance testing but an important one. By the way, an endurance test is conducted to identify memory leakage in the application which is a longer duration test. 

From a performance tester perspective, it is not important to find out why memory leakage happens, but from a performance engineering perspective, it is required to conduct the root cause analysis. What is memory leakage and why it occurs? explained in a very short video. Refer the link:

Mobile Performance Testing (Beginners)

Mobile performance testing demand has been increased due to the high usage of mobile devices, it leads the requirement of the mobile device as well as mobile application performance testing. 

Neotys has published an article which will help mobile performance tester to understand the basics. This could be a starting point for a mobile performance tester beginners. Read the article and grab the knowledge:

Common Mistake during Test Execution & Monitoring

High-Level knowledge of performance testing can be gathered by the reading the blogs, watching the videos and listening to the audios. But practice is required so that you can learn with the issue you face, you can experience the debugging challenges and many more things. 

During practice or working in the live project, many mistakes occurred which help you to understand what wrong you did and how to overcome the situation and what could be the step so that same mistake will not be committed next time? Another way is to learn from others' experience. In such a case, if someone gives an advanced knowledge then it can prevent you to make the same mistakes during the test cycle. 

RadhaKrishna has shared some common mistakes committed during test execution and monitoring. In his article, he also suggested what are the things to keep in the mind so that mistakes can be avoided. Read this informative article: πŸ‘‡

πŸ‘‰Article Link

APM Tools - Features & Price Comparison

There are many APM tools available in the market and it is difficult to choose them without any comparison. Stackify, which is also an APM tool, has published an article and compared the features and price of various APM tools. Let's have a look at this article to know the comparison:

Thread Dump Analysis - All Roads Lead To Rome

Thread Dump is a snapshot of the status of all the threads at a particular time. Thread dumps are vital artefacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. Thread Dump helps to find out what every thread in the JVM is doing at a particular point in time. A common phenomenon is once a high CPU usage is observed then thread dump analysis is required. 

In some previous posts, I have shared articles which described Athlete Pattern, Atherosclerosis Pattern, Treadmill Pattern and Traffic Jam Pattern. Today, you will see the situation where all the threads are in Runnable state and waiting for the same method which leads out of memory situation. This type of thread pattern is named as All Roads Lead To Rome. A simple and descriptive article published in the fastThread blog on this thread pattern. 

Java Performance Tuning Tips

Performance Engineering is an art of identifying the bottlenecks and optimize the performance of the system or application to make it fast and scalable. Performance Engineering requires theoretical knowledge, practical knowledge, experience and out of box thinking. In the past, people did not care if the website is loaded in more than a minute, but in the current era if the response time of a page is more than 10 seconds then 50% people either refresh the window or close the session which directly impacts the revenue of the company.

Today, I found a very informative video in which Jack Shirazi gave lots of Performance Optimization tips related to Java, although the video's subject line is '10,000 Java Performance tips over 15 years - what did I learn? by Jack Shirazi'. For a performance engineer, this video would be like an ocean of knowledge. Refer to the link and watch the video.

Pros and cons of Open-source Tools

In past some years, it has been seen that open-source tools' demand is continuously increasing and they are competing to the paid or licensed tools. Not only in performance testing area, but in some other domain also, the same trend has been followed. 

Along with the major advantage of saving money with the open-source tool, there are certain disadvantages are also associated. Bob Reselman has written a justified article on open-source tools and also compared licensed tools over the legging factors of freeware tools. Read the article and get today's wonder!


Open-source APM Tool list

Many open-source tools are available for Performance Testing like Apache JMeter, Gatling etc. Following the same trend, you can also get some open-source APM tools which do not need any single penny other than the hardware cost. 

Henn Idan has written an article in which he has listed out some open-source APM tools specially for Java. This article is useful because you can get the information about freeware APM tool as well as you can compare their features to use them in your project. Refer to the below link to read the post:

Article Link

Some more which are not listed in the article are:
1. ElasticSearch
2. inspectIT

Architectural understanding for Performance Engineering

Performance Engineering is growing day by day. Many IT companies whether they are service-based or product based, are demanding for the resource who has knowledge of both performance testing as well as performance engineering. The practical knowledge of Performance Engineering is a must, but a strong building of Performance Engineering can be created over a solid base of theoretical knowledge. By the way, to learn the performance engineering 3 features are required:
1. Architectural understanding
2. Experience, to find the bottleneck
3. Deep knowledge, to resolve the issue by suggesting an optimized way.
Starting the first step, RadhaKrishna has shared an informative article which can help to understand the basic architecture of 3 tier application along with information like how to estimate workload modelling, how to scale the environment etc.? So, read the article and step-up for the performance engineering world. 

Courses and Training (PT and APM tools)

To spread the knowledge of the product, many companies conduct the training and also provide the courses. Today, I have listed out some of the courses and training which provide knowledge either on related tools or technologies. You can simply register for the course and grab the knowledge. Some of the courses may be paid. 
1. Dynatrace: Course Link
2. AppDynamics: Course Link
3. Neotys: Training & Certification Link
4. New Relic: Learning Portal Link
5. Apache JMeter (Training provided by Blazemeter): Course Link
6. Gartner: Online Training Link
7. Grafana: Training Link

Thread Dump Analysis - Traffic Jam Pattern

Thread Dump is a snapshot of the status of all the threads at a particular time. Thread dumps are vital artefacts to diagnose CPU spikes, deadlocks, poor response times, memory problems, unresponsive applications, and other system problems. Thread Dump helps to find out what every thread in the JVM is doing at a particular point in time. A common phenomenon is once a high CPU usage is observed then thread dump analysis is required. 

In some previous posts, I have shared articles which described Athlete Pattern, Atherosclerosis Pattern and Treadmill Pattern. Today, you will see the situation where threads are totally blocked due to unavailability of the resources locked by some other threads. Such a situation leads to a system crash. This type of thread pattern is named as Traffic Jam Thread Pattern. A simple and descriptive article published in the fastThread blog on this horrible thread pattern.