Pages

Tuesday, 26 February 2019

PerfMatrix - The Core Performance Testing Blog

“PerfMatrix - The Core Performance Testing Blog” is not just a blog for me. It’s more than my day-to-day experience of software performance testing. Instead of keeping my experience and knowledge in my small mind, I just thought to share with the world, by writing in the simple words along with some practical example which helps readers to understand the performance testing concept more deeply and of course free of cost.

Some of the key features of PerfMatrix (for web version): To get all these features in mobile, please switch to the web version by clicking "View web version" option at the bottom of the page.
1. Grab knowledge on Performance Testing and popular performance testing tool free of cost. 
2. You can write your queries in "Ask Your Queries" section which is on the right-bottom side of each page.
3. You can get RSS feeds by subscribing the blog which is in the left pane of each page so that you will get notification when any new topic or post is published.
4. You can search the topic using "Search" option given at the top left corner.
5. You can like and share PerfMatrix through your facebook account.
6. You can follow me on Google+ by clicking follow button given on the left pane of each page.
7. Performance Testing tool and tool related topics are separated by months which you can refer; given in the "Blog Archive" section.
8. The detailed explanation of topics along with the example in simple language. 
9. Useful tips and tricks related to performance testing.
10. Interview Questions & Answers. 
11. Performance Testing Quiz and many more things 
12. To get updates, tips and other performance testing and engineering related activities follow me on LinkedIn, telegram, twitter, Google+ or Quora by clicking the social network icons provided at the bottom of this page.
13. You can directly reach out to me on WhatsApp by clicking WhatsApp icon available at the end of this page. 
...
A vote of thanks to Dear Readers: 
My blog journey was started in Sep 2016 and keeps on running along with my learning in this Performance Testing World. This is my zeal for learning only which leads me to write the blog on what I experienced, faced and learned.

I am glad to say that every day I get many queries to answer, many requests to write the blog on new topics, appreciation, comments and of course, Facebook likes. Due to a busy schedule; I address some of the queries on the same day while some queries are delayed to answer. Even though, I am getting your continue love and strong trust. I would be thankful for this.
Regards,
Gagandeep Malviya

                            
Disclaimer: This blog is related to performance testing approach, performance testing tools, and their functioning. To write the blog I have referred Performance Testing tools official site like Micro Focus LoadRunner, Apache JMeter etc. to make the available content more readable, knowledgeable and understandable to the layman. If anyone has any issue with the blog or written content or any suggestions then please write an email to me @ gd.performance.tester@gmail.com

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