Return to search

MT-WAVE: Profiling multi-tier web applications

The web is evolving: what was once primarily used for sharing static content has now evolved into a platform
for rich client-side applications. These applications do not run exclusively on the client; while the client is
responsible for presentation and some processing, there is a significant amount of processing and persistence
that happens server-side. This has advantages and disadvantages. The biggest advantage is that the user’s
data is accessible from anywhere. It doesn’t matter which device you sign into a web application from,
everything you’ve been working on is instantly accessible. The largest disadvantage is that large numbers
of servers are required to support a growing user base; unlike traditional client applications, an organization
making a web application needs to provision compute and storage resources for each expected user. This
infrastructure is designed in tiers that are responsible for different aspects of the application, and these tiers
may not even be run by the same organization.
As these systems grow in complexity, it becomes progressively more challenging to identify and solve
performance problems. While there are many measures of software system performance, web application
users only care about response latency. This “fingertip-to-eyeball performance” is the only metric that users
directly perceive: when a button is clicked in a web application, how long does it take for the desired action
to complete?
MT-WAVE is a system for solving fingertip-to-eyeball performance problems in web applications. The
system is designed for doing multi-tier tracing: each piece of the application is instrumented, execution
traces are collected, and the system merges these traces into a single coherent snapshot of system latency
at every tier. To ensure that user-perceived latency is accurately captured, the tracing begins in the web
browser. The application developer then uses the MT-WAVE Visualization System to explore the execution
traces to first identify which system is causing the largest amount of latency, and then zooms in on the
specific function calls in that tier to find optimization candidates. After fixing an identified problem, the
system is used to verify that the changes had the intended effect.
This optimization methodology and toolset is explained through a series of case studies that identify and
solve performance problems in open-source and commercial applications. These case studies demonstrate
both the utility of the MT-WAVE system and the unintuitive nature of system optimization.

Identiferoai:union.ndltd.org:USASK/oai:ecommons.usask.ca:10388/ETD-2015-06-2185
Date2015 June 1900
ContributorsMakaroff, Dwight
Source SetsUniversity of Saskatchewan Library
LanguageEnglish
Detected LanguageEnglish
Typetext, thesis

Page generated in 0.0019 seconds