JVM Basics & Performance Solutions

Again, the last day of the working week! 

Performance Engineering

Today, I will share 1 article related to Performance Engineering. This article is Vikash Ranjan, in which he explained how does JVM work, Java GC, Java Heap, related memory issues and how it can be tuned. 

Since this is a big article, so you may read in the weekend too and understand the concept.   

How does HTTP Protocol work?

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

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 
Related Topic: Learn - Performance Test Planning (Strategy)

Heap Dump and Thread Dump Analysis

Today's treasure is related with Heap Dump and Thread Dump Analysis. Pierre-Hugues Charbonneau has 15+ years of experience in Java application development and troubleshooting. He has published some treasure articles on Heap Dump and Thread Dump Analysis. It is worth to recommend his blog. You can read the blog and save the URL for future reference. Must read this post (especially for those who are interested in PE)


Note: Heap Dump, Thread Dump and GC analysis play an important role in bottleneck finding. A performance engineer should have the knowledge of all these 3 terms and should be comfortable to analyse them and produce a conclusion report.

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 important 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 an understanding of the same in Today's Monday Mantra. Refer the article using below link:


Additional Note: Details of Performance Test Environment must be captured as a part of Master Performance Test Plan, so that correct workload can be calculated. In case, the performance test environment is not equivalent to the production test environment then workload should be calculated as per the scale down percentage and extrapolation will be required during result phase.  

When performance testing can be started?

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 to start 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 methodology. 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.   


Enjoy Learning!

Myths and Truths of GC

To continue on Performance Engineering part, I would like to share one of the informative article shared by gceasy on Myths and Truths of GC (Garbage Collection). They have listed-out 3 common myths and enlighten the truth to mitigate them. Please have a look and sharpen your PE concepts related to GC. Refer the link:


Additional Information: Garbage collection activity clearly shows memory utilization pattern, object creation rate, object reclamation rate, Garbage collection pause time and other memory-related details. GCEasy is a well know and powerful GC logs analysis tool.

Why GC Logs Analysis required?

To upskill the knowledge for 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. We have also discussed the same last Friday but in a different way. 

"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):


gceasy URL where you upload and analyse the GC log:

PerfMeter - A Cloud Based Performance Testing Tool

Good Morning! How was your weekend? Hopefully, you might enjoy a lot! 

Again, you are back to work and definitely feel either stressful or boring, so let's do a fresh start of this week. Why do not we discuss something new? Yes, sometime back I tweeted and listed many cloud-based performance testing tools. Under the same category, a new tool has been born named "PerfMeter". As of now, the beta version of PerfMeter has been released, so if you think to use this online performance testing tool, verify your test result before publishing to the client. You can get more details on the same by referring to below link:


You can also get a 90 days trial package after signing-up, so explore this new tool. 

Browser Simulation in JMeter

Again, the last day of the working week! 

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

Performance Testing Basics

Performance Testing is a big monument constructed on a solid concept, clear understanding and presence of mind; specially required for result analysis and root cause analysis. Today, I am sharing one of my favourites post in which I have explained how latency, bandwidth, throughput and response time are different from each other. Generally, networking terms like latency etc are difficult to understand with an example, so refer to this post and get the understanding of Performance Testing basics.   


Enjoy Learning!

Features of Dynatrace

Last Friday, I have shared a post related to how quickly you can set-up Dynatrace and start monitoring AWS based application. Continue with the same tool (Dynatrace), today I am sharing a post stating the features of Dynatrace. Must read. Refer the link:


Dynatrace is a powerful monitoring and profiling agent-based tool. It is widely used to identify the bottleneck and carry-out deep root cause analysis up to code level.

How to use Postman for API testing?

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:


You can download postman using below link:

Mobile Application Performance Testing

Mobile application performance testing is very common now. But still, there is a lack of knowledge on this domain. I have seen many performance testers search for some good blogs, articles, ask questions in common chat etc. to get details on the same.

Avi Stramer did extremely good work and wrote an informative post on mobile application performance testing. The best part is that he gathered some figures to prove why mobile application performance testing is must and then concluded the article with Mobile Application Performance and Monitoring Metrics.

Read this article and enhance your Mobile Performance Testing knowledge.

List of some useful tool which supports mobile application performance testing:
  • LoadRunner
  • JMeter
  • Sauce Labs
  • TestComplete
  • WebLoad

Deployment Guide of Dynatrace on AWS

Wow... what a great start of Friday morning! 

I read a very informative article related to Dynatrace which is a leading monitoring and profiling agent-based tool. This article will give you a quick deployment guide of Dynatrace on AWS which comprises of :
  • Architecture and details
  • Step by Step deployment guide
  • AWS CloudFormation templates that automate the deployment 
Refer the Article Link.

Additional Details: Dynatrace is a rapidly growing profiling solution and used for extremely high and moderate load application and provides transaction level analysis.