Transactional profiling for multi-tier applications

Date
2007
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract

This dissertation is concerned with performance debugging of multi-tier applications, such as those commonly found in web services and dynamic-content web sites. A multi-tier application receives an external stimulus ( request), executes the request and returns the response. A transaction begins with a request and ends with the corresponding response. It is executed by a series of different stages of the application. Existing tools and techniques for profiling such applications are not general enough to track and profile transactions in a generic multi-tier application. We propose transactional profiling that provides a general solution to this problem. We provide novel algorithms and techniques to track and profile transactions that flow through shared memory, events, stage queues or via inter-process communication using messages. We also measure interference among concurrent transactions. The thesis of this work is that transactional profiling addresses the limitations of existing profiling techniques for multi-tier applications. Transactional profiling works by tracking transaction execution paths in an application. Essentially, it extends the concept of call path profiling to a distributed environment. Additionally, it introduces new methods to track transactions for shared memory communication, and communication through events and stage queues. Transactional profiling is mainly composed of the following: tracking transactions in a multi-tier application, and associating profile data with transactions. Further, transactional profiling captures the interference among concurrent transactions, e.g., transactions waiting to acquire locks. The contributions of this thesis are the following. We propose the transactional profiling model for profiling multi-tier applications. We describe the design and implementation of Whodunit, our prototype transactional profiler. Using Apache and MySQL we demonstrate the correctness of our proposed algorithm for tracking transaction flows through shared memory. We demonstrate the use of Whodunit in obtaining the transactional profile of web servers, a web proxy cache, a bookstore application, and a bulletin board application. Whodunit-inspired optimizations increased the peak throughput of the bookstore by almost 3x and the bulletin board by almost 2x. We measured Whodunit's overhead on the performance of these applications and found it to be small---less than 6% in all cases.

Description
Degree
Doctor of Philosophy
Type
Thesis
Keywords
Computer science
Citation

Chanda, Anupam. "Transactional profiling for multi-tier applications." (2007) Diss., Rice University. https://hdl.handle.net/1911/20586.

Has part(s)
Forms part of
Published Version
Rights
Copyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.
Link to license
Citable link to this page