Transactional profiling for multi-tier applications

dc.contributor.advisorCox, Alan L.
dc.creatorChanda, Anupam
dc.date.accessioned2009-06-03T21:12:59Z
dc.date.available2009-06-03T21:12:59Z
dc.date.issued2007
dc.description.abstractThis 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.extent104 p.en_US
dc.format.mimetypeapplication/pdf
dc.identifier.callnoTHESIS COMP.SCI. 2007 CHANDA
dc.identifier.citationChanda, Anupam. "Transactional profiling for multi-tier applications." (2007) Diss., Rice University. <a href="https://hdl.handle.net/1911/20586">https://hdl.handle.net/1911/20586</a>.
dc.identifier.urihttps://hdl.handle.net/1911/20586
dc.language.isoeng
dc.rightsCopyright 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.
dc.subjectComputer science
dc.titleTransactional profiling for multi-tier applications
dc.typeThesis
dc.type.materialText
thesis.degree.departmentComputer Science
thesis.degree.disciplineEngineering
thesis.degree.grantorRice University
thesis.degree.levelDoctoral
thesis.degree.nameDoctor of Philosophy
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
3256671.PDF
Size:
4.87 MB
Format:
Adobe Portable Document Format