High Performance and Scalability

Quality Web applications that offer high performance and scalability are far more likely to be used and appreciated than applications that are buggy and slow, but building the best software requires a combination of planning, best practices, tools, and attention to detail.  Without these characteristics, development projects are highly likely to fail either partially or completely.  This track looks at just what it takes to build quality Web applications, and how you can immediately get on the road to improving software quality, performance, and scalability.

High Performance and Scalability Sessions:

More Related Sessions:


 

Ajax Load Testing Considerations

Eric Beland, Co-founder, Testomatix

In order to simulate large numbers of users interacting with a website, load testing has historically involved generating HTTP requests to emulate end-user traffic. Typically, creation of an HTTP-level load test involves recording browser requests and generating scripts to reproduce those requests without a web browser. There are a number of special considerations that make load testing websites with Ajax at the HTTP level more challenging, and the purpose of this session is to discuss those considerations and potential resolutions.

This session addresses:

  • Issues related to recording, statefullness, autocomplete fields, polling, script maintenance, and reporting;
  • Alternative technologies for testing Ajax applications;
  • And more.

Design Tips for Dynamic UIs Under Heavy Load

Patrick Lightbody, Founder, OpenQA, Selenium Remote Control, Struts 2 and more

Web applications continue to evolve in richness and complexity, but traditional techniques for performance and load testing tend to avoid measuring what the end-user's impact is in relation to this additional server load. Because of this, many modern web applications using Ajax techniques, like dynamic form validation, tend to behave strangely when the backend is under extreme load.

This session examines common performance-related failures in Ajax sites and offers design tips for dynamic UIs. Patrick Lightbody discusses why simple protocol-level load testing tools, like JMeter, don't do enough to tell you what your user experience will be like and shows you how to simulate the effects of server load on the user’s browser and predict common pitfalls in your own UI.

Attend and learn:

  • Common performance-related failures in modern Ajax web sites;
  • How to predict common pitfalls in your own UI;
  • Several development patterns to improve user experience when the backend server is flooded with traffic;
  • And more.

Even Faster Web Sites

Steve Souders, Author, High Performance Web Sites and Even Faster Web Sites; Creator, YSlow

Web 2.0 is adding more and more content to our pages, especially features that are implemented in Ajax. But our web applications are evolving faster than the browsers that they run in. We don't have to rely on or wait for the release of new browsers to make our web applications faster.

In this session Steve Souders discusses web performance best practices from his second book, Even Faster Web Sites. These time-saving techniques are used by the world's most popular web sites to create a faster user experience, increase revenue, and reduce operating costs. Steve provides technical details about reducing the pain of JavaScript and CSS, as well as secrets for making your page load faster in emerging markets where network connectivity is a challenge. You'll learn how to make your web sites 25-50% faster.

Proven advice to be explored:

  • Iframes block the onload handler;
  • Even blank iframes slow down the page;
  • Inline scripts block rendering in the entire page;
  • Inline scripts block downloads;
  • Stylesheets followed by inline scripts can make your pages twice as slow;
  • The various techniques for dynamically loading JavaScript vary widely in how they affect the browser.

Improving Facebook's Performance with Ajax and Browser Caching

Changhao Jiang and Xiaoliang "David" Wei, Research Scientists, Facebook

It is well known that Ajax can make web sites more interactive and engaging. A lesser known use of Ajax allows a website to significantly improve performance of both client side page rendering and server side page generation. In addition, Ajax offers the opportunity for flexible client side caching which improves user experienced latency and also significantly reduces overall back end server load.

Two leading research scientists at Facebook present two technologies developed to "Ajax-ify" the entire Facebook web site and cache it on user's browsers. The first technology, which they call 'Quickling,' transparently Ajaxifies the whole web site, meaning it maintains the same experience for Facebook users and developers even though the underlying requests are all served through Ajax. The second technology is called 'PageCache' which is built on top of 'Quickling' to cache user visited pages on the client side. These techniques improve user experienced latency and dramatically reduce back end servers' overall load.

Attend and discover:

  • How Ajax and client side caching can dramatically improve performance;
  • Key challenges and solutions for Ajaxifying and caching large-scale websites;
  • How Facebook is successfully addressing these challenges;
  • How to improve user experienced latency and reduce load on your servers.

How to Simplify and Automate Testing Ajax Applications

Ted Husted, Author, JUnit in Action, Struts in Action and more

Not long ago, testing web applications with Ajax components meant play-testing a page by hand. Today, there are a growing number of tools we can use to simplify and automate Ajax testing. As Ajax applications mature and grow more complex, our need to unit test Ajax applications also grows and matures. The tools covered in this session will increase the quality of Ajax applications, especially complex, mainstream applications.

This session explores when to test, what to test and how to test web applications with Ajax components. You will learn how to create automatic tests with tools like Selenium and how to use Ajax testing tools with continuous integration systems, like CruiseControl or Hudson.

Real world examples cover:

  • How Ajax works, and why it complicates testing;
  • When to test, what to test, and how to test Ajax components;
  • How to create automatic tests with popular tools like YUI Test and Selenium;
  • How to use Ajax testing tools with continuous integration systems.

Testing the Testers: YUI Unit versus QUnit

Ted Husted, Author, JUnit in Action, Struts in Action and more

The Yahoo UI (YUI) Library is well known for its high quality code. One of its secrets is YUI Test, a testing framework for browser-based JavaScript solutions. QUnit is the unit testrunner for the jQuery project, another high quality library. If you are ready to unit test your own JavaScript code, which is the better choice: YUI Unit or QUnit?

This session shows you:

  • How to create unit tests for YUI Test and QUnit;
  • When it makes sense to use one approach over the other;
  • How to integrate unit testing into your JavaScript development cycle;
  • How to select a unit testing toolkit that is the best fit for your own JavaScript application.

View the Full Agenda
Register Now!