Performance Tuning Checklist

Here is a quick checklist for checking performance on Backbase Applications:

Stage 1: Architecture and Design

During the early stage of the web application life cycle, we should pay attention to the following:

  • Balance out the amount of client-side business logic with server-side logic
  • Divide client-side architecture into a direct shown part (content that can be directly shown in view space) and a logic part (functions and objects that will be created later)
  • Set up architecture design with separation of concerns, e.g. divide components into Model View Controller (MVC) model
  • Create custom container widgets and contained widgets as one

Stage 2: Implementation

In the implementation stage, there are lots of Backbase techniques that can improve performance.

  • Combine model space island with view space island
  • Use Backbase progressive enhancement techniques
    • Import HTML
    • View handlers/lightweight Ajax
  • Use deferred loading techniques
    • Lazy loading for content data or UI widgets
    • Lazy construction for custom widgets
  • Use smart pruning technique: remove unused elements and behaviors
  • Put static content into view space
  • Make correct choice of widgets, including the obvious HTML elements (for example, simple divs might be better than the Backbase panelSet in some situations)
  • Create element behavior for repeated event handlers/methods
  • Choose proper programming model: JavaScript or theBackbase declarative language (XEL)
  • Apply the Backbase data binding technique for the same data across/among UI elements
  • Use appropriate skinning, e.g. use system skin for standard layout and chameleon skin for more fancy style

Stage 3: Deployment

When deploying the project to the web environment, there are also many tips to improve performance.

  • Use Backbase production version
  • Minimize the number of HTTP requests
    • Aggregate binding and definition files
    • Use dynamic bindings resolution
  • Aggregate CSS and JavaScript
  • Use CSS Sprites technique
  • Use server-side include techniques

Stage 4: Server side optimization

On the server side, there are two common ways for performance optimization:

  • Use compression function and enable GZip on the server
  • Use Content Distribution Networks to battle network latency

More info:

Performance Tuning - Chapter 1: Architecture and Design

Performance Tuning - Chapter 2: Implementation

Performance Tuning - Chapter 3: Deployment

Performance Tuning - Chapter 4: Server-side Optimization

Performance Tuning - Chapter 5: Testing

Performance Tuning - Chapter 6: Conclusion

Yahoo's performance page