Pages

Tuesday, 1 January 2019

Client-Side Performance Testing - By RadhaKrishna Prasad

We are in a world where everybody in a hurry. Companies lose millions of buck when the site responds slowly or contents do not appear in the browser within a certain time limit.

In today's world, client-side performance testing has the importance as equal as server-side performance testing. RadhaKrishna Prasad; in his article defined the importance of client-side performance testing along with metrics and other useful information.

Refer to the link to read the knowledgable article on Client-Side Performance Testing:

Article Link

What is DevOps - By New Relic

DevOps; spreading day-by-day in the software world. Not only the MNC but medium scale software development companies are also implementing the DevOps methodology. I would recommend to spend some time to understand DevOps. New Relic provides a full description of DevOps in a simple term. Read and grab the knowledge:

Content Link

DevOps Overview for beginners (by Raghav Pal): Video Link


Paging and Swapping in Memory - By Akshay Deshpande

Being a Performance Engineer, it is must to know how do things work in memory i.e. memory management. 

Paging and Swapping are two important terms in memory management which are very well explained by Akshay in his article. Refer to link and read the article to get the basic knowledge of paging and swapping concept.

Article Link

How to collate the result when controller is crashed - By Kumar Gupta

This is a very common situation when the controller is crashed due to some anonymous reason and you are unable to collate the result. This leads to re-run the whole test. 

To avoid the test re-run situation, you can follow the solution shown in the video and get the result of the test. Watch the video:

YouTube Video


AppDymanics Tutorial - By PerfRunner

The use of Application Performance Monitoring Tools increasing day-by-day because MNC's are now more concerned about the end-user experience by monitoring the performance issue in the live environment rather than in the testing environment. Dynatrace, AppDynamics, New Relic etc. are a top placeholder in the list of existing APM tool. PerfRunner has written some of the knowledgable articles on AppDynamics which will help you to enhance your skill and gear-up the learning. Refer to the link of AppDynamics tutorial:

Tutorial Link    

Performance Architect: Roles and Required Skills - By Samson Jaykumar

Absolutely, you heard about Performance Tester and Performance Engineer. Do you have any idea, there is another role called 'Performance Architect'?

Samson Jaykumar explained the roles and required skills for a Perfect Performance Architect. Worth to read his article. Refer to the link:

LinkedIn Article

Client-side (Web) Performance Testing - By Karolina Szczur

We are in a world where everybody in a hurry. Companies lose millions of buck when the site responds slowly or contents do not appear in the browser within a certain time limit. 

In today's world, client-side performance testing has the importance as equal as server-side performance testing. Karolina Szczur; in her article defined the importance of web performance along with metrics and other useful information.

Refer to the link to read her knowledgable article on Web Performance:

Article Link

Thread Dump Analysis - Several Scavengers - By fastThread

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, you came to know about Athlete, Atherosclerosis, Treadmill, Traffic Jam, All Roads Lead to Rome, Repetitive Strain Injury (RSI), Stock Ticker and Additives Pattern. Today, you will see how too many GC thread may also impact the performance. The GC thread count also depends upon the type of GC used in the system. Such a pattern is named as Several Scavengers Pattern because too many cleaners do not provide benefit to clean a garbage-free area. A simple and descriptive article published in the fastThread blog on this thread pattern along with the example. Refer the link. 👇

👉Article Link


This is the end of the Thread Dump Pattern Analysis. Thanks to fastThread to share such knowledgable articles with us. 


Thread Dump Analysis - Additives - By fastThread

In this thread dump analysis week, 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


In some previous posts, I have shared articles which described AthleteAtherosclerosisTreadmillTraffic JamAll Roads Lead to RomeRepetitive Strain Injury (RSI) and Stock Ticker Pattern.



Thread Dump Analysis - Stock Ticker - By fastThread

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

In some previous posts, you have read articles which described Athlete, Atherosclerosis, Treadmill, Traffic Jam, All Roads Lead to Rome and Repetitive Strain Injury (RSI) Pattern.






Thread Dump Analysis - RSI - By fastThread

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 the 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




Thread Dump Analysis - All Roads Lead To Rome - By fastThread

Continue to Thread Dump Analysis Pattern topic, 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.

Article Link


In some previous posts, you learnt about Athlete Pattern, Atherosclerosis Pattern, Treadmill Pattern and Traffic Jam Pattern.



Thread Dump Analysis - Traffic Jam Pattern - By fastThread

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, you have read the 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.

Article Link




Thread Dump Analysis - Treadmill Pattern - By fastThread

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 past days, I have shared articles which described Athlete and Atherosclerosis thread pattern. As you know that in the Athlete pattern, the thread was in Runnable state and did 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.

Article Link




Thread Dump Analysis - Atherosclerosis Pattern - By fastThread

Yesterday, 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 - By fastThread

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?

Today you will come to know about Athlete Thread Pattern. A simple and descriptive article published in fastThread blog. Happy to share with you to enhance your knowledge repository.

Article Link



Importance of Caching in Web Application - By Deepanshu Mittal

Cached data is nothing but files, images, scripts and other media files stored on your devices by the website or app. Data is stored on your devices in a reserved space, so the next time when you are visiting the app or website, information is already available and helps to quickly load the page. Cache plays an important role in Performance Testing World. Because it improves the performance of the application at the client end. How? Read the LinkedIn article shared by Deepanshu Mittal:

LinkedIn Article Link

How to Use Postman to Manage and Execute Your APIs - By Jacob Sharir (Blazemeter)

Today, most of us use Postman for API testing. Postman is a very simple tool to operate. Jacob Sharir (Blazemeter) has written a good article on the same with a subject line "How to Use Postman to Manage and Execute Your APIs" and provides basic knowledge to implement and operate Postman tool. Read the article and get a basic understanding of the same:

Article Link

You can download postman using below link:
Download Postman

Free APM tool - AppDynamics Lite

In the growing world, day-to-day the demand of APM tool is increasing as an increase in the traffic on the website. Growing traffic leads to the possibility of getting performance issues in the production environment which can be handled by the APM tool. AppDynamics; one of the best APM tool which supports production performance issue identification and assists to conduct root cause analysis. AppDymanics has launched its lifetime free version called 'AppDynamics Lite' by limiting some enhanced features which are available in the 'AppDynamics Pro' version.

This is one of the good business ideas which also fulfil the small requirements where we need to invest the huge money. You can download the AppDynamics Lite version and try to use in your project or suggest to the client; if it meets your requirement else 'AppDymanics Pro' is always best.

More details are available at Link

Appdynamics Lite vs Pro: Link

What is Performance Engineering?

Performance Engineering; a trendy topic in 2019. As I mentioned in many posts that nowadays companies are more demanding for PE resource rather than a person has only PT skill. In this situation, some questions arise like why PE is so important? What are the activities involved in PE which is deferred than PT activities? What are the basic things which we need to learn for developing PE strategy? All these questions are very well answered in this article using simple bullet points. So read this article and enhance your PE knowledge.

Article Link


You may be interested in:

Performance Engineering Tutorial

Thread Dump Analysis - By Pierre-Hugues Charbonneau

Pierre-Hugues Charbonneau has 15+ years of experience in Java application development and troubleshooting. He has published some treasure articles on Thread Dump Analysis. It is worth to recommend his blog. You can read the blog as well as watch the videos to get detailed knowledge on Thread Dump. Save the URL for future reference. Must read this post (especially for those who are interested in PE)

Blog Link

Physical CPU vs Logical CPU

During the test planning phase, all of us need to undergo a comparison of Production and Performance Testing environment. There we use two terms related to CPU which are Physical CPU and Logical CPU. What are they and how they are different from each other? Let's get the understanding of the same in Today's Monday Mantra. Refer the article using below link:

Article Link

Page Performance Improvement - By Anatolii Gorovyi, Rob Walker and Bilal Khan

Now, Page rendering performance is one of the requirements of the client. Along with server time, they also want to improve the end-user experience on the device. How much time a page needed to load in the browser and what are the elements impacting the performance of the pages come under Page rendering time analysis. Anatolii Gorovyi, Rob Walker and Bilal Khan started an investigation with Google Lighthouse to improve the performance of TELUS Digital. The given article is more relevant to Performance Engineering and use of Google Lighthouse which shows a practical case study of how Telus Digital improve the performance of the application? Refer the article link:

Article Link

SAP and Citrix Enterprise Application Monitoring with Dynatrace

If you work on SAP and Citrix system and want to monitor the component then Dynatrace is the best solution. How? Watch in the video:

YouTube Link


In this video, Kris Ziemianowicz, Technology Strategist at Dynatrace, will give you an update on the recent developments of the Dynatrace Extensions for SAP ABAP running on ECC or S/4HANA, and for Citrix Virtual Apps and Desktops.


JWeter - Analysis Tool for JMeter Test Result

JWeter is a tool for analyzing and visualizing JMeter result (.jtl) files. It creates time series and distribution graphs, differentiating the various samples from your JMeter script (which for example could represent the various steps in a web flow) with different colours/graph labels, helping you to quickly spot the requests that have long response times.

For More Information: Link

Download JWeter: Link


Response Times: The 3 Important Limits - By Jakob Nielsen

Response Time; a simple but one of the key terms in performance testing world. During performance testing window; all the conversations are revolved around this key metric to meet it and post-testing the work started to tune it (if issue found). Response Time is a first and foremost metric which we consider in PT. But do you know what are the categories in which you can categorize the response time and on that basis, you can divide the responsiveness of your AUT (application under test) or pages?

These categories have been followed since long back and today I am sharing an old article (1993) which described it in brief. I guess some of you would have not been born when this article was written. This article will help you once you started thinking as a performance engineer and how you can jump the AUT from 10 to 1 and 1 to 0.1? Thanks to Jakob Nielsen.

Refer the link to read the article.
Article Link

Shallow & Retained Heap Size Calculation - By gceasy

I have shared many tips related to heap dump analysis in the past. To continue the treasure of performance engineering related to heap dump, today I am sharing an article which described the calculation of shallow and retained heap size in a very simple way along with the examples (especially last case). Read out this informative post and grab the knowledge.

Article Link

Related Topic:
Heap Dump - Overview

Performance Requirements vs Goals vs Objectives - By Scott Barber

1. Performance requirements—criteria that are absolutely non-negotiable due to contractual obligations, service level agreements or business needs. Only those criteria whose sub-par performance would unquestionably lead to a decision to delay a release are absolutely required.

2. Performance goals—criteria desired for release, but negotiable under certain circumstances. For instance, if a response time goal for a particular transaction is set at 3 seconds, but the actual response time is determined to be 3.3 seconds, it is likely stakeholders will choose to release the application and defer performance tuning of that transaction for a future release.

3. Performance testing objectives—items that add value to the team through the process of performance testing but are not intrinsically quantitative. For example, one objective might be to provide certain data to systems administrators to assist them in tuning systems under their purview. Another objective might be to determine peak application usage that the existing network can support.

The above content has been taken from a white paper "Get performance requirements right - think like a user" written by Scott Barber and published by Compuware. The reference document can be accessed via this link.



Beyond Performance Testing - By R. Scott Barber

Performance Engineering; a trendy domain in the PT world. Performance Engineering is a vast field which requires a deep knowledge of technology, application, architecture, integration and many more things.

I always get one question from the performance tester that he/she wants to move in the performance engineering field, but do know how to start?

Today, I am going to share the Bible of Performance Engineering named "Beyond Performance Testing" written by R. Scott Barber. Actually, these are the PDF links covering all the basic and advanced topics of performance engineering. I am sharing you the link of Introduction page in which all the links are given. So, read it and learn the PE concepts:

Beyond Performance Testing


GC Duration and GC Pause Duration - By gceasy

In Garbage Collection, there are two important terms, GC Duration and GC Pause Duration. Which duration we need to refer before tuning the application. Refer the link to understand the same (article published by gceasy):

Article Link


Additional Knowledge:



The Top 13 Mistakes in Load Testing Applications - By Mark D Anderson

Performance Testing is a continuous learning process. Because as the software technology progresses, some new challenges and learning arise. Still, there are some common mistakes which a performance tester does during planning, test preparation and execution phases. 

There are 13 common mistakes which are listed by Mark D Anderson which is worth to know to save time and effort. Refer the below link to read the document:

Document Link



How to identify a critical path? - By fastThread

Similar to Heap Dump, 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. 

Get more information here.

If you are already aware what is Thread Dump and how does it help to find out the server issue then you can ignore the above link. Instead of that read this informative article shared by fastThread. This tip is related to identify a critical path. Refer to the below link:

Article Link



Performance Test Plan

Performance Testing Planning is an important phase PTLC. During this phase, you plan a roadmap to drive the performance testing and prepare a strategy to conduct the test according to the requirement. Many people ask to provide a Performance Test Plan template so that they can document all the testing related stuff, crucial pointers, approach and stakeholders. Today, I have list out important headings which should be covered in the performance test plan. You can refer these heading and prepare a test plan by yourself.
1. Cover Page
2. Table of Content 
3. Project Overview
4. Application Architecture
5. Signed-off NFRs
6. NFR and NFT Matrix
7. Performance Test Approach (including the goal of each individual test, entry and exit creteria)
8. Test Environment and scalability %
9. Test Data
10. Risk
11. Assumption
12. Issue
13. Dependency
14. Project Plan and Timelines
15. Non-Functional Testing Timelines
16. Non-functional Testing Team member contact
17. Test Plan Sign-off stakeholders
18. Record of changes
19. Acronyms
20. Glossary
21. Referenced Documents 

    GC Log Analysis

    To upskill the knowledge as a performance tester, it is necessary to grab the understanding of performance engineering concept. GC or Garbage Collection log analysis is one of the important stuff which helps to identify the root cause of the issue related to memory.

    "gceasy" is a well know GC log analysis tool, they have published an article which comprises of GC analysis metrics and how it is different from APM tool. Must read this post (especially for those who are interested in PE):

    Article Link

    Learn GC Analysis:


    gceasy URL where you upload and analyse the GC log:
    gceasy GC Log Analyser


    How to develop an effective capacity planning process - By Rich Schiesser

    Capacity planning in Performance Testing is a major topic which needs to be understood deeply. More or less capacity planning comes under the Solution Architecture and Performance Engineering domain. A performance engineer involvement at the early stage can help to build a tuned application along with architect. Some basic rules are very well captured by Rich Schiesser in his post on Capacity Planning. You can treat those steps as a Mantra of capacity planning.

    Article Link



    Linux Infrastructure Monitoring with Grafana - By Julie Dam

    Grafana is an open-source monitoring tool. Grafana is used in a wide variety of use cases. These include DevOps, IIoT, and AdTech. Julie Dam published an informative article related to Linux infrastructure monitoring. If you use Grafana and have Linux system then this article will be helpful for you. Refer to the below link:

    Article Link


    Real Browser simulation in JMeter

    JMeter; which is overtaking the other PT tools and capturing the market of performance testing faster than any other competitor; is now in high demand. Eventually, I got an article in which the writer throws light on the demand for JMeter which is a really impressive figure. Let's come to our original discussion. Since JMeter demand is increasing day-by-day, then I would recommend you to grab at least basic knowledge of JMeter which is very easy to grab because it is an open-source tool which you can download, install and practice at home.

    Today's Friday funda covers "How does JMeter simulate real browser?" and gives you the almost exact result as similar as an application gives to the real-world user. I have also covered some of the basic elements of JMeter which must be known to you if you are a performance tester. So, refer to the article to enhance your knowledge.

    Article Link



    Things You Should Know About HTTP Requests - By Canberk Akduygu

    Yesterday, when I was reading an article, suddenly a post flashed on my screen. I just clicked and opened it to check whether really it is an informative post and worth to read? That post is related to the HTTP protocol. The writer (Canberk Akduygu) explained the concept of the HTTP protocol in a simple language along with cookie, cache and request header explanation. Although it is a short article, I would recommend to read and get the knowledge so that you can understand how PT tools simulate HTTP request, cookie and cache concept.

    Article Link



    Performance Requirements (Performance Engineering Life Cycle) - By Alexander Podelko


    Alexander Podelko; a well know personality in performance testing world. I like the way he explains the performance testing stuff. Luckily, I found one of the finest documents in which he described the PELC (Performance Engineering Life Cycle) term by dividing the things into small parts. Although you are a performance testing expert, read this wonderful document once. For Performance Engineering, it is a treasure.

    Document Link


    When Is the Best Time to Start Performance Testing? - By Federico Toledo

    As a fresher or new buddy in the performance testing world, there was a common question "When we can start Performance Testing?". Although I would not deny starting the first phase of PTLC i.e. requirement gathering at the initial phase of SDLC or when a beta code is ready. The answer to the above question is very well narrated by Federico Toledo in an article along with the different methodology (Agile and Waterfall). You may skip the initial part of the article if you are aware of performance testing and methodology definitions. Yes, the bottom part and the conclusion is readable.

    Article Link


    In Addition:

    Understand PTLC (Performance Test Life Cycle) Practically