Basil D'Souza

[+] | [-]

Profiling and Optimizing a Web application

Our QC department maintains load testing scripts to be run on successive versions of the product. This helps in comparing their performance wrt to the preceding ones.

These scripts were almost entirely auto generated by the testing software. And there was the problem that the scripts would sometimes provide unreliable output, which limited the inference we could draw from them.

By looking at the scripts and the raw data flowing over the network (using custom proxy and network sniffers), we found that a variety of http tags (If-Modified-Since, If-None-Match, etc) were causing cache expiry problems, leading to large differences in the data transfer. By modifying these tags we could ensure that we get comparable readings across different setups.

Also, we identified that one of the bottlenecks in our application was the data being transferred between the browser and the client (Which mostly were java object streams). To increase the throughput we enabled selective compression via our applets and reduced data transfer by almost 80%

Summary

A brief overview of 'Profiling and Optimizing a Web application'

Technologies

  • Java
  • HTTP Protocol
  • Rational Robot Scripting

Original Team (Role)

  • Basil Dsouza (Designer, Developer, Reviewer)
  • Colleagues at Vistaar (Testers)

Duration

  • Started in: September 2007
  • 3 months

Resources

  • Sources - Not Available
  • Binaries - Not Available
  • Documentation - Not Available