Showing posts with label Performance Engineering. Show all posts
Showing posts with label Performance Engineering. Show all posts

How to become a good performance engineering?

Stijn Schepers has shared an article which stressed over to become a good performance engineering. The simple 17 key points help to improve performance engineering skill. Read it and get the benefit.

LinkedIn Article Link

Additional Details: Performance engineering aims to design the application by keeping the performance metrics in mind and also to discover potential issues early in the development cycle.

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

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

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

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:

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.

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. 

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. 

Tips on Performance Engineering

Following the 2019 trend in the performance testing world, skill upgrade must be required for a native performance tester. When we read any advanced level topic related to performance testing then two important terms always come across. Now, the question here is how to implement these two terms in the project so that a performance tester can switch from a native process to the advance approach? 

An article is published by JM in focusaps which bridge the gaps in performance engineering. In simple words, he gives the tips on performance engineering in DevOps term. Read the article and grab the knowledge on how small things make big differences. Also, update your skills as per market demand:

Article Link

Reasons for High CPU Usage

High CPU is one of the common bottlenecks found during performance testing. High utilization of CPU may occur in any type of performance test. Here, I am not referring to the low or high timely CPU spikes which come rarely. I am pointing to the high CPU utilization which lasts till the test ends or sometimes even after the test completion. There could be multiple reasons which make such type of situation. 

I found an informative article which describes the possible and most common causes of high CPU utilization. I would suggest to save these causes in your memory because in future when you try to resolve the bottleneck related to high CPU utilization then this learning could be a key treasure for you.

Performance Engineering with DevOps Methodology

Performance Engineering is growing day by day. 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. As we know that performance testing is based on the black box concept where performance engineering forces us to understand the architecture of the application and deep-dive into backend functionality of the system. So, what could be your strategy to evolve performance engineering in your project with DevOps methodology. Understand by this post (a high level summarized article): 

Thread Dump Analysis - Treadmill 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. 

Sometime back, I have shared articles which described Athlete Thread Pattern in which thread is in Runnable state and does not consume CPU. Today, you will see the opposite case of Athlete Thread Pattern that is when the thread is in continuously Runnable state and consumes high CPU. Such type of thread pattern is named as Treadmill Thread Pattern. A simple and descriptive article published in fastThread blog. Happy to share with you to enhance your knowledge repository.ance of AI. 


Related Articles:

Why AIOps is required in APM?

Application Performance Monitoring (APM) tools are approaching to next advance level day-by-day. AppDymanics, Dynatrace, New Relic are the big placeholders in this list. Sometime back I have shared an article link in which the author described why application monitoring is as important as application performance testing. Now, today, I am sharing an article link which is published by AppDymanics, described not only application monitoring is enough but it should be enabled with AIOps. What is AIOps and why it is required with the Application Performance Monitoring Tool? Read the article and grab the knowledge:

If you are a performance engineer or on the path to become a successful performance engineer then this article would be helpful for you to understand the import.

Types of Memory Leakage, Reasons and Resolutions

Memory leakage is one of the common bottlenecks found during performance testing. Ideally, endurance (also known as soak) test is conducted to identify the memory leakage in the application. But sometimes the system fails due to memory issues even in the load test. In such a situation, there could be multiple reasons which make the servers out of memory. 

Today, I found a good document in which most common out of memory error types are listed out along with reasons and generic solutions. I would suggest to download and save this PDF because in future when you try to resolve the bottleneck related to memory issue then this document could be a key treasure for you. 

Thread Dump Analysis - Atherosclerosis Pattern

Sometime back, I have shared an article on Thread Dump Analysis Athlete Pattern posted at the fastThread blog. That article described how to identify which runnable threads really consume CPU. Following the same topic i.e. Thread Dump Analysis Pattern, today I am going to share another pattern i.e. atherosclerosis. In this article, you will come to know how to identify the BLOCKED thread.

If you are learning performance engineering or involved in it then such type of small tips will help you to enhance your knowledge. The fastThread blog has many informative articles, so read them and grab the knowledge of Performance Engineering.

Article Link

Thread Dump Analysis - Athlete 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 the analysis, threads are categorised on the basis of their states. But what happens when a thread is in Runnable state and does not consume any CPU? Have you heard about such type of thread?

In today's funda, we will learn about Athlete Thread Pattern. A simple and descriptive article published in fastThread blog. Happy to share with you to enhance your knowledge repository.

How to reduce Page Load time?

Apart from server performance monitoring and optimization, nowadays clients also want to know how will the application or website perform at the browser level when it goes live i.e. how would be the end user experience on their website. In today's article, the author mentioned the steps to reduce the server response time first byte. Here, he is not talking about the server response time but he is pointing to Page Load Time at browser end. He described some good points to reduce the page loading time in the browser and also given detailed information on 9 different page load speed checking tools which help to identify the client-side issues. These issues may restrict the application to load quickly in the browser and fade-up the end users. The mentioned tools in the article also elaborate on why and which components are the culprit for the slowness of page-loading. 

This article could be helpful if you are involved in Performance Engineering work. Because performance improvement is not a task to just improve the performance at the server level, but it is an overall performance optimization which is applied on all three levels i.e. client, server and network.

Server Side Performance Monitoring - Issues, Solutions and Tools

Thread Dump Analysis, Heap Dump Analysis and GC Analysis play an important role during performance bottleneck root cause identification. A sudden spike in CPU, high memory utilization, memory leakage etc. many are causes which need a quick analysis and resolution. Are there any tricks which can help for rapid resolution of these issues?

Ram Lakshmanan has presented a slide show in one of the events in which he explained the server side performance issues and tips to solve those issues by choosing the correct tool. Refer the link to watch the slide show and learn the tips: