ColdFusion Performance Troubleshooting and Tuning

Slides:



Advertisements
Similar presentations
DynaTrace Platform.
Advertisements

XIr2 Recommended Performance Tuning Andy Erthal BI Practice Manager.
Web Performance Tuning Lin Wang, Ph.D. US Department of Education Copyright [Lin Wang] [2004]. This work is the intellectual property of the author. Permission.
Operating System.
  Copyright 2003 by SPAN Technologies. Performance Assessments of Internet Systems By Kishore G. Kamath SPAN Technologies Testing solutions for the enterprise.
Chapter 14 Chapter 14: Server Monitoring and Optimization.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
CH 13 Server and Network Monitoring. Hands-On Microsoft Windows Server Objectives Understand the importance of server monitoring Monitor server.
Windows Server 2008 Chapter 11 Last Update
 CFUnited August 12-15, 2009  Mike Brunt – CFWhisperer.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Module 18 Monitoring SQL Server 2008 R2. Module Overview Monitoring Activity Capturing and Managing Performance Data Analyzing Collected Performance Data.
SEDA: An Architecture for Well-Conditioned, Scalable Internet Services
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
What’s New in CF 8 Admin MDCFUG 8/14/2007 Ajay Sathuluri Sr. Web and Database Engineer TeraTech Inc.
The Java Virtual Machine Mike Brunt.  What is the JVM?  Main JVM Suppliers  ColdFusion and the JVM  Java J2EE – Java EE Servlet Containers  Where.
Computing and the Web Operating Systems. Overview n What is an Operating System n Booting the Computer n User Interfaces n Files and File Management n.
Bill Au CBS Interactive Troubleshooting Slow or Hung Java Applications.
Bill Au CBS Interactive Troubleshooting Slow or Hung Java Applications.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
1 Wenguang WangRichard B. Bunt Department of Computer Science University of Saskatchewan November 14, 2000 Simulating DB2 Buffer Pool Management.
Installing, Configuring And Troubleshooting Coldfusion Mark A Kruger CFG Ryan Stille CF Webtools.
Module 10 Administering and Configuring SharePoint Search.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
CH 13 Server and Network Monitoring. Hands-On Microsoft Windows Server Objectives Understand the importance of server monitoring Monitor server.
Automated Testing Gireendra Kasmalkar Prabodhan Exports Pvt. Ltd.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Performance Tuning ColdFusion Before the JVM Chris Peterson.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Virtual Application Profiler (VAPP) Problem – Increasing hardware complexity – Programmers need to understand interactions between architecture and their.
Msdevcon.ru#msdevcon. ИЗ ПЕРВЫХ РУК: ДИАГНОСТИКА ПРИЛОЖЕНИЙ С ПОМОЩЮ ИНСТРУМЕНТОВ VISUAL STUDIO 2012 MAXIM GOLDIN Senior Developer, Microsoft.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Presented by Vishy Grandhi.  Lesson 1: AX Overview  Lesson 2: Role based security  Lesson 3: Monitoring  Troubleshooting.
1 Copyright © 2011 Tata Consultancy Services Limited TCS Internal.
1 Chapter Overview Monitoring Access to Shared Folders Creating and Sharing Local and Remote Folders Monitoring Network Users Using Offline Folders and.
LOAD RUNNER. Product Training Load Runner 3 Examples of LoadRunner Performance Monitors Internet/Intranet Database server App servers Web servers Clients.
#SummitNow Inspecting Alfresco – Tools and Techniques Nathan McMinn Technical Consultant - Alfresco.
CFUNITED – The premier ColdFusion conference Load and Functional Testing Flex 2 and ColdFusion Matthew Stevanus Universal Mind.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Fundamental of Databases
Monitoring Windows Server 2012
GlassFish Performance Tuning: Tips from the Field
Partner TS-Webinar: “Windchill Performance Tuning”
Shared Services with Spotfire
性能测试那些事儿 刘博 ..
Operating System.
Software Architecture in Practice
CSE-291 Cloud Computing, Fall 2016 Kesden
Load Testing January 2018 René Ernst.
Software Architecture in Practice
Test Upgrade Name Title Company 9/18/2018 Microsoft SharePoint
Introduction of Week 3 Assignment Discussion
COP 4600 Operating Systems Fall 2010
Flight Recorder in OpenJDK
Continuous Performance Engineering
Operating Systems : Overview
PerfView Measure and Improve Your App’s Performance for Free
Nate Nelson I*LEVEL, Inc.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Java Virtual Machine Profiling. Agenda Introduction JVM overview Performance concepts Monitoring Profiling VisualVM demo Tuning Conclusions.
CSC Multiprocessor Programming, Spring, 2011
Inside the Database Engine
SharePoint 2013 Best Practices
Presentation transcript:

ColdFusion Performance Troubleshooting and Tuning Grant Straker Technical Director Straker Interactive CFUNITED – The premier ColdFusion conference www.cfunited.com

What I’ll Cover Why we need to performance tune Understanding the architecture Principles of Troubleshooting / Tuning How to setup a Test Rig Troubleshooting / Tuning process Caching Strategies Memory Leaks June 28th – July 1st 2006

Technology Gap Acceptable Deployment Time Technology Gap Time Application Load / Complexity 1950 1980 2000 Year June 28th – July 1st 2006

CFMX Architecture June 28th – July 1st 2006

Principle One 3 Sources of performance problems CPU Bottleneck (Threads) Memory Management Network / Disk (IO) problems June 28th – July 1st 2006

Principle Two To find the issue you will have to: Simulate the load under which the system is failing Record the relevant diagnostics when the system is failing Interpret the results and adjust the application code and/or server configuration accordingly June 28th – July 1st 2006

Principle Three There are 5 things you can adjust (tune) to try and resolve any issues: Application Code ColdFusion Administration Settings Application Server Settings (JRun / JVM) Web Server Settings OS & Network Settings June 28th – July 1st 2006

Troubleshooting Prerequisites Getting up-to-date ColdFusion http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_17883 Jrun http://www.macromedia.com/support/jrun/updaters.html June 28th – July 1st 2006

Metric Logs /CFusionMX/runtime/servers/default/SERVER-INF/jrun.xml /jrun4/servers/[instance name]/SERVER-INF/jrun.xml busy - Threads that are running (executing code) this number will not exceed jrpp active threads for JRun or simultaneous request set in the cfadmin total - Total number or jrpp and web threads that are currently available. June 28th – July 1st 2006

Create a trace log All requests not just current request (cfdebugging) Can be added to give more granular details Easily turn on/off Low overhead SeeFusion June 28th – July 1st 2006

Load Testing Accurately Simulate Real Load Benchmarks Input Users / Requests Output Throughput CPU JVM Threads June 28th – July 1st 2006

Options Paessler Web Stress Microsft Web App Stress Tool Mercury LoadRunner Segue Silk Performer Appperfect June 28th – July 1st 2006

Test Rig - Debug Console Garbage Collection JRun Metrics Server Stats CF Error Log Trace Log June 28th – July 1st 2006

Thread Dumps Tell us low level information about current running processes / Threads in the JVM Give us diagnostics Will pinpoint performance bottlenecks 99% of the time Are easy to take but require a bit of understanding Take 3, 15 seconds apart – check for common threads across all 3 dumps June 28th – July 1st 2006

Troubleshooting Process Simulate Load Review Debug Output Take Thread Dumps Adjust Code Repeat until resolved June 28th – July 1st 2006

Tuning JRun Jrun.xml Scheduler Service internal Jrun service that handles the queuing of threads to the processor Proxy Service internal Jrun service that handles the connection between native web servers (IIS, Apache) and Jrun activeHandlerThreads is the most important attribute June 28th – July 1st 2006

Tuning JRun Continued… Active Handler Threads – 25 default for both SCHEDULER and PROXY services. Recommend 25 Per processor (4 x processor = 100) Set too low = bottlenecks, thread deadlocks Set too high = excessive context switching Needs to be tuned June 28th – July 1st 2006

Tuning JVM -Xmx most important – 1GB max on windows -Xmx too big = long GC cycles -Xmx too small = OOM Errors Permsize also important GC monitoring Various switches to assist June 28th – July 1st 2006

Tuning JVM continued… Different Types of Collectors Low Pause Parallel -XX:+UseConcMarkSweepGC -XX:+UseParNewGC Parallel Scavenge -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy -XX:+AgreesiveHeap June 28th – July 1st 2006

Alternate JVM’s JRockit (BEA) IBM Not all JVM’s are the same and need to be thoroughly tested before switching. June 28th – July 1st 2006

Java 1.5 Not a currently supported version of CFMX Will run on CF7.1 and JRun updater 6 Much better performance Excellent debugging June 28th – July 1st 2006

Memory Leaks Prevention is easier than diagnostics Requires Java profiling tool to accurately identify Easier to find in Java 1.5 JVM’s If memory increases after forcing GC June 28th – July 1st 2006

Caching Strategies Store instantiated objects in application scope – careful as incorrectly scoped variables may cause memory leaks Memory Caching Limited by size of Heap Requires and architecture for clearing cached item June 28th – July 1st 2006

Database Performance JDBC Trace Tools SeeFusion Maxrows Only use “Select *” if you really have no option Use cfqueryparam to increase query performance Use blockFactor to increase query performance June 28th – July 1st 2006

Coding for performance Don’t Run a query larger than the size of the heap Ensure all your variables and functions stored in persistent scope are var’ed. Code to allow for slow or missing connections to the database or file system Don’t run process intensive external calls on every request Ensure you use all the caching options available Tune your server for your application June 28th – July 1st 2006