Show simple item record

dc.contributor.advisor Cox, Alan L.
dc.creatorChanda, Anupam
dc.date.accessioned 2009-06-03T21:12:59Z
dc.date.available 2009-06-03T21:12:59Z
dc.date.issued 2007
dc.identifier.urihttps://hdl.handle.net/1911/20586
dc.description.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.
dc.format.extent 104 p.
dc.format.mimetype application/pdf
dc.language.iso eng
dc.subjectComputer science
dc.title Transactional profiling for multi-tier applications
dc.type.genre Thesis
dc.type.material Text
thesis.degree.department Computer Science
thesis.degree.discipline Engineering
thesis.degree.grantor Rice University
thesis.degree.level Doctoral
thesis.degree.name Doctor of Philosophy
dc.identifier.citation Chanda, Anupam. "Transactional profiling for multi-tier applications." (2007) Diss., Rice University. https://hdl.handle.net/1911/20586.


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record