NYU Web Peformance Project
Students: Ethan Cerami, Gloria Chiu
Professor: Aruthur Goldberg

 

www.our_client.com

Web Performance Report


Executive Summary

This report presents our final recommendations for improving the web performance of our_client.com. All our recommendations focus on simplifying the login procedure and do not require the purchasing of additional hardware. We identify three key recommendations: ClientCorp currently supports load balancing via HTTP Redirects. By enabling Virtual IP load balancing (already available via the Resonate Central Dispatch software), ClientCorp can eliminate the overhead of HTTP redirects and improve the performance of Login Phase I by ~6-7%. 52% of Login Phase II is spent downloading redundant images that the browser has already cached. By changing all absolute links to relative links, ClientCorp can double the performance of Phase II. Login/password authentication is currently performed at authenticator.com. After several HTTP redirects, authenticator.com redirects the browser back to the ClientCorp servers. By performing login/password authentication at ClientCorp, ClientCorp can eliminate three roundtrip HTTP transactions and improve the performance of Phase II by ~20%. If all three options are implemented, we estimate that ClientCorp can reduce the average login time via a LAN connection from 5.8 seconds to 3.3 seconds, thereby improving performance by ~43%.

The Login Procedure: Phase I and II

The our_client.com login procedure includes a total of 17 round-trip HTTP transactions, and is divided into two phases. See attachments A and B for a complete overview of the individual HTTP transactions required for Phases I and II.

Note: In both Phases I and II we did not measure the time to download embedded advertisements. Advertisements are hosted by Doubleclick.net and ad performance is therefore outside the direct control of ClientCorp.

The Measurement Tool

To measure the performance of ClientCorp, we developed our own Web Measurement tool in Java. The WebBot tool performs a complete login procedure through Phases I and II for a unique user, and includes support for: cookies, embedded images and HTTP redirects. We performed measurements locally at ClientCorp and at NYU. All the final measurements were performed at NYU.

Recommendation #1: Enable Virtual IP Load Balancing

Our first recommendation is to enable the Virtual IP load balancing feature provided by the Resonate Central Dispatch software.

Currently, the our_client.com system performs load balancing via HTTP redirects (see Attachment 1 for details.) However, according to Resonate, HTTP redirects result in "significant performance overhead", as each "request involves a connect, disconnect, and reconnect, putting extra work on servers and networks." (See the Resonate White Paper at: http://www.resonate.com/products/index.html.) As an alternative, Resonate uses Virtual IP addresses that route traffic at the IP layer. Resonate also supports "sticky" (or persistent connections) that enable a client to always return to a designated machine.

With three full days of experimental data, we determined that load balancing via HTTP redirects accounted for ~6-7% of Phase I (see Figure 1.) By enabling Virtual IP addressing, ClientCorp can therefore eliminate one full HTTP transaction and improve the performance of Phase I by ~6-7%. On LANs connected directly to the Internet, this represents an improvement of ~100 ms. For dial-up users connected via modem, this could improve performance by 1-2 seconds.

Figure 1: Exploring Option #1: Enable Virtual IP Load Balancing

Recommendation #2: Avoid Redundant Images

Our second recommendation is extremely easy: convert all absolute image links in Phase I to relative links. Based on three days of data, we have determined that images represent ~88% of Phase II. However, 52% of Phase II is spent downloading redundant images that the browser has already cached (see Figure 2.)

Login Phases I and II contain identical images (except for one image), but the Phase I login page includes absolute links to www.our_client.com for all images. Phase II include relative links for all images (www[1-5].our_client.com.) Hence, most images are downloaded twice.

By changing all absolute links to relative links, ClientCorp can double the performance of Phase II.

Figure 2: Exploring Option #2: Eliminate Redundant Images

Recommendation #3: Move login/password authentication from Authenticator.com to ClientCorp

Our_client.com currently performs login/password verification at authenticator.com and includes several HTTP Redirects. We recommend that users post directly to our_client.com and that login/password authentication be moved from authenticator.com to our_client.com. In the event of login failure, users can be redirected to snap.

By performing login/password verification at ClientCorp, we can eliminate steps 2-7 of Phase II and improve the performance of Phase II by ~20% (see Figure 3.)

Figure 3: Exploring Option #3: Moving Login/Password Authentication

Putting it all Together

If all three options are implemented, we estimate that ClientCorp can reduce the average login time from 5.8 seconds to 3.3 seconds, thereby improving performance by ~43% (see Figure 4.)

Figure 4: Estimating the performance of the recommended ClientCorp set-up.