CF Performance Tuning Matt Liotta President CEO Montara

  • Slides: 20
Download presentation
CF Performance Tuning Matt Liotta President & CEO Montara Software, Inc.

CF Performance Tuning Matt Liotta President & CEO Montara Software, Inc.

Agenda • Definitions • Silver bullets • What not to do • How to

Agenda • Definitions • Silver bullets • What not to do • How to get started • Performance tuning techniques • Q&A

Definitions • Best practices • Optimization • Scalability • Overhead

Definitions • Best practices • Optimization • Scalability • Overhead

Silver Bullets There are no silver bullets!!!

Silver Bullets There are no silver bullets!!!

What Not To Do • Attempt to write optimized code from the beginning •

What Not To Do • Attempt to write optimized code from the beginning • Write unreadable i. e. not maintainable code that seems to offer performance advantages • Use techniques that you don’t understand

How To Get Started Hopefully with a highly structured application • Load test your

How To Get Started Hopefully with a highly structured application • Load test your application • Find unacceptable bottlenecks • Use the following techniques

Performance Tuning Techniques • • • Caching Database optimization UI logic changes Batch processing

Performance Tuning Techniques • • • Caching Database optimization UI logic changes Batch processing Code optimization Code rewriting

Caching Just about any poorly written application can performed adequately with a proper caching

Caching Just about any poorly written application can performed adequately with a proper caching strategy You can cache… • Entire pages • Parts of pages • Backend logic e. g. queries

Caching (cont. ) • See code example

Caching (cont. ) • See code example

Database Optimization Almost all poorly performing web applications are a result database interaction Database

Database Optimization Almost all poorly performing web applications are a result database interaction Database interaction can be optimized by… • Changing when and how often you query • Using bind variables • Using stored procedures • Using joins correctly • Using indexes correctly • Not following proper database techniques • Not using a database at all

Database Optimization (cont. ) • See code example

Database Optimization (cont. ) • See code example

UI Logic Changes Some performance problems can’t be fixed with code alone because the

UI Logic Changes Some performance problems can’t be fixed with code alone because the user interface simply requires to much work to serve a request A change in UI logic can… • Drastically reduce the amount of work needed to serve certain requests • Avoid redundant processing

UI Logic Changes (cont. ) • See code example

UI Logic Changes (cont. ) • See code example

Batch Processing Some web applications do work at request time that could have been

Batch Processing Some web applications do work at request time that could have been done ahead of time Batch processing can… • Can reduce page execution time by decoupling some of the work • Allow programmatic control over when certain work is done by an application

Batch Processing (cont. ) • See code example

Batch Processing (cont. ) • See code example

Code Optimization Occasionally, the programming logic is simply inefficient Code optimization can… • Speed

Code Optimization Occasionally, the programming logic is simply inefficient Code optimization can… • Speed up a request • Reduce request overhead

Code Optimization (cont. ) • See code example

Code Optimization (cont. ) • See code example

Code Rewriting Rarely, parts of a web application simply can’t be written well in

Code Rewriting Rarely, parts of a web application simply can’t be written well in CFML Rewriting code in another language can… • Reduce code complexity • Reduce execution time • Reduce overhead

Code Rewriting (cont. ) • See code example

Code Rewriting (cont. ) • See code example

Q&A Matt Liotta Blog: http: //Devil. M. com Email: mliotta@r 337. com

Q&A Matt Liotta Blog: http: //Devil. M. com Email: mliotta@r 337. com