SlideShare uma empresa Scribd logo
1 de 19
HP Jmeter – GC analysis 
Tutorial 
Ram Lakshmanan 
www.linkedin.com/in/ramlakshman/
Agenda 
• Overview 
• Key Visualizers 
• Cool Tools
Overview 
• HP Jmeter powerful tool for 
• Garbage Collection Log file analysis 
• Heap Dump analysis 
• CPU Profiling 
• Presentation focuses on Garbage Collection Log File analysis 
• Download Location - 
https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do 
?productNumber=HPJMETER
Agenda 
• Overview 
• Key Visualizers 
• Cool Tools
How to Open GC Log File? 
Launch: <Jmeter-dir>/bin/hpjmeter.bat 
Open GC File: Go to “File” menu > “Open File”
Having trouble in opening GC File? 
• Check out – option #2 in http://tier1app.com/2013/06/14/gc-graph-from- 
gc-logs/
Shows Summary of the Heap & it’s 
statistics 
Old Generation space 
Perm Generation space 
Total space 
Usage during peak time in each generation 
Too many occurrences of 
Full GC is a indication of a 
problem 
Useful metric. Can be compared 
with older version of code base 
(Time spent in GC / Total Time 
JVM is running). 67% is very 
High percentage 
Summary 
Total # of GC Events = Scavenge GC 
events + Old Full GC events + Other 
full GC events
Shows Heap usage in the 
eden space, old, 
survivor, and permanent 
generations after each 
garbage collection. 
Heap usage after GC 
Note: After ‘Full GC’ ran 
– memory reclaimed 
significantly 
Jmeter gets confused. 
‘Old full’ and ‘other full’ 
are same i.e. ‘full’ GC.
Puzzle – Why Scavenge GC not reclaiming memory? 
Memory is getting reclaimed. But 
not pictured clearly in the graph. 
Because of 2 reasons: 
1. Objects are created in an 
accelerated manner 
2. Old Generation is not getting 
reclaimed
Custom Views – Reclaimed Bytes 
More Views available 
Old GC is reclaiming more 
bytes than new GC
Observations: 
1. Repeated occurrences of 
Full GC. 
2. No Memory reclaimed 
Clear Indication of 
Memory Leak 
Heap usage after GC – Sick JVM
Tab indicate how many times 
‘Stop the world’ ran? When did it 
Ran? How long 
it took? 
Indicates: 
1. This GC took 2.75 secs to 
Complete 
2. It ran at 4:42pm 
3. It was a “Full GC” 
Indicates: 
1. This GC took 0.2 secs to 
Complete 
2. It ran at 4:39:30pm 
3. It was a “scavenge GC” 
Duration – Stop the World
Agenda 
• Overview 
• Key Visualizers 
• Cool Tools
Comparative Analysis 
• Helpful tool to compare between GC log files. 
• Use cases: 
• Old code base GC Log vs New code base GC Log 
• One application GC Log vs Another application GC Log
How to compare 2 GC logs? 
1. Open both GC Log files 
2. Click on ‘File’ > ‘Compare’ Menu 
3. Click on ‘Compare’ button
Comparative Analysis 
All comparative visualizers 
Old Release code base heap usage 
New Release code base heap usage
Zoom-in/Zoom-out 
Zoom-out: click on this icon 
Zoom-in: Interested to look certain data 
points in detail: 
- Click & drag
Helpful ‘Help’ Menu 
• Go to any one of the View and click 
on ‘Help’ Menu drop down. It will 
take you to the appropriate Help 
section. 
• It has precise information
Thank you! 
• Visit http://www.tier1app.com for further details on JVM, Memory, 
GC

Mais conteúdo relacionado

Mais procurados

Git_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_GuidewireGit_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_Guidewire
Gandhi Ramu
 

Mais procurados (16)

What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow MeetupWhat's coming in Airflow 2.0? - NYC Apache Airflow Meetup
What's coming in Airflow 2.0? - NYC Apache Airflow Meetup
 
マイクロサービスと共に生きる!
マイクロサービスと共に生きる!マイクロサービスと共に生きる!
マイクロサービスと共に生きる!
 
Swarm migration
Swarm migrationSwarm migration
Swarm migration
 
Heketi Functionality into Glusterd2
Heketi Functionality into Glusterd2Heketi Functionality into Glusterd2
Heketi Functionality into Glusterd2
 
Deploying your first application with Kubernetes
Deploying your first application with KubernetesDeploying your first application with Kubernetes
Deploying your first application with Kubernetes
 
Kubernetes intro
Kubernetes introKubernetes intro
Kubernetes intro
 
NGINX_conf_2016_talk
NGINX_conf_2016_talkNGINX_conf_2016_talk
NGINX_conf_2016_talk
 
Ingress overview
Ingress overviewIngress overview
Ingress overview
 
Kubernetes and Prometheus
Kubernetes and PrometheusKubernetes and Prometheus
Kubernetes and Prometheus
 
SFScon18 - Giuseppe Roberto Pisaturo - A hydraulic simulation tool for water ...
SFScon18 - Giuseppe Roberto Pisaturo - A hydraulic simulation tool for water ...SFScon18 - Giuseppe Roberto Pisaturo - A hydraulic simulation tool for water ...
SFScon18 - Giuseppe Roberto Pisaturo - A hydraulic simulation tool for water ...
 
Kubernetes Webinar - Using ConfigMaps & Secrets
Kubernetes Webinar - Using ConfigMaps & Secrets Kubernetes Webinar - Using ConfigMaps & Secrets
Kubernetes Webinar - Using ConfigMaps & Secrets
 
Open Backscatter Toolchain (OpenBST) Project - A Community-vetted Workflow fo...
Open Backscatter Toolchain (OpenBST) Project - A Community-vetted Workflow fo...Open Backscatter Toolchain (OpenBST) Project - A Community-vetted Workflow fo...
Open Backscatter Toolchain (OpenBST) Project - A Community-vetted Workflow fo...
 
Using Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal KubernetesUsing Libvirt with Cluster API to manage baremetal Kubernetes
Using Libvirt with Cluster API to manage baremetal Kubernetes
 
Meet Akka gRPC
Meet Akka gRPCMeet Akka gRPC
Meet Akka gRPC
 
Python and trending_data_ops
Python and trending_data_opsPython and trending_data_ops
Python and trending_data_ops
 
Git_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_GuidewireGit_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_Guidewire
 

Destaque

Destaque (7)

Future of SOA & Modern APIs
Future of SOA & Modern APIsFuture of SOA & Modern APIs
Future of SOA & Modern APIs
 
Why JVM will outlive java?
Why JVM will outlive java?Why JVM will outlive java?
Why JVM will outlive java?
 
US census Bureau - Platform Modernization
US census Bureau - Platform ModernizationUS census Bureau - Platform Modernization
US census Bureau - Platform Modernization
 
Don't dump thread dumps
Don't dump thread dumpsDon't dump thread dumps
Don't dump thread dumps
 
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライドJJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
JJUG CCC 2015 Spring 「新人エンジニア奮闘記 - Javaって何?からwebサービスを公開するまで -」発表スライド
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 

Semelhante a Garbage Collection Analysis HP Jmeter

Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Nicholas Jansma
 

Semelhante a Garbage Collection Analysis HP Jmeter (20)

BEAM (Erlang VM) as a Soft Real-time Platform
BEAM (Erlang VM) as a Soft Real-time PlatformBEAM (Erlang VM) as a Soft Real-time Platform
BEAM (Erlang VM) as a Soft Real-time Platform
 
Guider: An Integrated Runtime Performance Analyzer on AGL
Guider: An Integrated Runtime Performance Analyzer on AGLGuider: An Integrated Runtime Performance Analyzer on AGL
Guider: An Integrated Runtime Performance Analyzer on AGL
 
ZGC-SnowOne.pdf
ZGC-SnowOne.pdfZGC-SnowOne.pdf
ZGC-SnowOne.pdf
 
Where is the bottleneck
Where is the bottleneckWhere is the bottleneck
Where is the bottleneck
 
Ship code like a keptn
Ship code like a keptnShip code like a keptn
Ship code like a keptn
 
A Taste of Monitoring and Post Mortem Debugging with Node
A Taste of Monitoring and Post Mortem Debugging with Node A Taste of Monitoring and Post Mortem Debugging with Node
A Taste of Monitoring and Post Mortem Debugging with Node
 
Concourse Workshop
Concourse WorkshopConcourse Workshop
Concourse Workshop
 
Java Performance Tuning
Java Performance TuningJava Performance Tuning
Java Performance Tuning
 
PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb
 
Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»
Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»
Станислав Флусов «Sharing общих сборок между процессами и доменами в IIS»
 
Diagnosing Problems in Production - Cassandra
Diagnosing Problems in Production - CassandraDiagnosing Problems in Production - Cassandra
Diagnosing Problems in Production - Cassandra
 
JavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep DiveJavaOne 2015: Top Performance Patterns Deep Dive
JavaOne 2015: Top Performance Patterns Deep Dive
 
this-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptxthis-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptx
 
Micrometrics to forecast performance tsunamis
Micrometrics to forecast performance tsunamisMicrometrics to forecast performance tsunamis
Micrometrics to forecast performance tsunamis
 
Hadoop Meetup Jan 2019 - Dynamometer and a Case Study in NameNode GC
Hadoop Meetup Jan 2019 - Dynamometer and a Case Study in NameNode GCHadoop Meetup Jan 2019 - Dynamometer and a Case Study in NameNode GC
Hadoop Meetup Jan 2019 - Dynamometer and a Case Study in NameNode GC
 
Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014Diagnosing Problems in Production: Cassandra Summit 2014
Diagnosing Problems in Production: Cassandra Summit 2014
 
Reproducible research: practice
Reproducible research: practiceReproducible research: practice
Reproducible research: practice
 
Tech Day 2015: A Gentle Introduction to GPS and GNATbench
Tech Day 2015: A Gentle Introduction to GPS and GNATbenchTech Day 2015: A Gentle Introduction to GPS and GNATbench
Tech Day 2015: A Gentle Introduction to GPS and GNATbench
 
PRMA - Introduction
PRMA - IntroductionPRMA - Introduction
PRMA - Introduction
 
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Garbage Collection Analysis HP Jmeter

  • 1. HP Jmeter – GC analysis Tutorial Ram Lakshmanan www.linkedin.com/in/ramlakshman/
  • 2. Agenda • Overview • Key Visualizers • Cool Tools
  • 3. Overview • HP Jmeter powerful tool for • Garbage Collection Log file analysis • Heap Dump analysis • CPU Profiling • Presentation focuses on Garbage Collection Log File analysis • Download Location - https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do ?productNumber=HPJMETER
  • 4. Agenda • Overview • Key Visualizers • Cool Tools
  • 5. How to Open GC Log File? Launch: <Jmeter-dir>/bin/hpjmeter.bat Open GC File: Go to “File” menu > “Open File”
  • 6. Having trouble in opening GC File? • Check out – option #2 in http://tier1app.com/2013/06/14/gc-graph-from- gc-logs/
  • 7. Shows Summary of the Heap & it’s statistics Old Generation space Perm Generation space Total space Usage during peak time in each generation Too many occurrences of Full GC is a indication of a problem Useful metric. Can be compared with older version of code base (Time spent in GC / Total Time JVM is running). 67% is very High percentage Summary Total # of GC Events = Scavenge GC events + Old Full GC events + Other full GC events
  • 8. Shows Heap usage in the eden space, old, survivor, and permanent generations after each garbage collection. Heap usage after GC Note: After ‘Full GC’ ran – memory reclaimed significantly Jmeter gets confused. ‘Old full’ and ‘other full’ are same i.e. ‘full’ GC.
  • 9. Puzzle – Why Scavenge GC not reclaiming memory? Memory is getting reclaimed. But not pictured clearly in the graph. Because of 2 reasons: 1. Objects are created in an accelerated manner 2. Old Generation is not getting reclaimed
  • 10. Custom Views – Reclaimed Bytes More Views available Old GC is reclaiming more bytes than new GC
  • 11. Observations: 1. Repeated occurrences of Full GC. 2. No Memory reclaimed Clear Indication of Memory Leak Heap usage after GC – Sick JVM
  • 12. Tab indicate how many times ‘Stop the world’ ran? When did it Ran? How long it took? Indicates: 1. This GC took 2.75 secs to Complete 2. It ran at 4:42pm 3. It was a “Full GC” Indicates: 1. This GC took 0.2 secs to Complete 2. It ran at 4:39:30pm 3. It was a “scavenge GC” Duration – Stop the World
  • 13. Agenda • Overview • Key Visualizers • Cool Tools
  • 14. Comparative Analysis • Helpful tool to compare between GC log files. • Use cases: • Old code base GC Log vs New code base GC Log • One application GC Log vs Another application GC Log
  • 15. How to compare 2 GC logs? 1. Open both GC Log files 2. Click on ‘File’ > ‘Compare’ Menu 3. Click on ‘Compare’ button
  • 16. Comparative Analysis All comparative visualizers Old Release code base heap usage New Release code base heap usage
  • 17. Zoom-in/Zoom-out Zoom-out: click on this icon Zoom-in: Interested to look certain data points in detail: - Click & drag
  • 18. Helpful ‘Help’ Menu • Go to any one of the View and click on ‘Help’ Menu drop down. It will take you to the appropriate Help section. • It has precise information
  • 19. Thank you! • Visit http://www.tier1app.com for further details on JVM, Memory, GC