Results 1 -
8 of
8
Monkey See, Monkey Do: A Tool for TCP Tracing and Replaying
- In USENIX Annual Technical Conference
, 2004
"... The performance of popular Internet Web services is governed by a complex combination of server behavior, network characteristics and client workload -- all interacting through the actions of the underlying transport control protocol (TCP). Consequently, even small changes to TCP or to the network i ..."
Abstract
-
Cited by 27 (2 self)
- Add to MetaCart
The performance of popular Internet Web services is governed by a complex combination of server behavior, network characteristics and client workload -- all interacting through the actions of the underlying transport control protocol (TCP). Consequently, even small changes to TCP or to the network infrastructure can have significant impact on end-to-end performance, yet at the same time it is challenging for service administrators to predict what that impact will be. In this paper we describe the implementation of a tool called Monkey that is designed to help address such questions. Monkey collects live TCP trace data near a server, distills key aspects of each connection (e.g., network delay, bottleneck bandwidth, server delays, etc.) and then is able to faithfully replay the client workload in a new setting. Using Monkey, one can easily evaluate the effects of different network implementations or protocol optimizations in a controlled fashion, without the limitations of synthetic workloads or the lack of reproducibility of live user traffic. Using realistic network traces from the Google search site, we show that Monkey is able to replay traces with a high degree of accuracy and can be used to predict the impact of changes to the TCP stack.
Making the “Box” Transparent: System Call Performance as a First-class Result
"... For operating system intensive applications, the ability of designers to understand system call performance behavior is essential to achieving high performance. Conventional performance tools, such as monitoring tools and profilers, collect and present their information off-line or via out-ofband ch ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
For operating system intensive applications, the ability of designers to understand system call performance behavior is essential to achieving high performance. Conventional performance tools, such as monitoring tools and profilers, collect and present their information off-line or via out-ofband channels. We believe that making this information first-class and exposing it to applications via in-band channels on a per-call basis presents opportunities for performance analysis and tuning not available via other mechanisms. Furthermore, our approach provides direct feedback to applications on time spent in the kernel, resource contention, and time spent blocked, allowing them to immediately observe how their actions affect kernel behavior. Not only does this approach provide greater transparency into the workings of the kernel, but it also allows applications to control how performance information is collected, filtered, and correlated with application-level events. To demonstrate the power of this approach, we show that our implementation, DeBox, obtains precise information about OS behavior at low cost, and that it can be used in debugging and tuning application performance on complex workloads. In particular, we focus on the industry-standard SpecWeb99 benchmark running on the Flash Web Server. Using DeBox, we are able to diagnose a series of problematic interactions between the server and the OS. Addressing these issues as well as other optimization opportunities generates an overall factor of four improvement in our SpecWeb99 score, throughput gains on other benchmarks, and latency reductions ranging from a factor of 4 to 47.
accept()able strategies for improving web server performance
- In Proc. 2004 USENIX Annual Tech. Conference
, 2004
"... This paper evaluates techniques for improving the performance of three architecturally different web servers. We study strategies for effectively accepting incoming connections under conditions of high load. Our experimental evaluation shows that the method used to accept new connection requests can ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
This paper evaluates techniques for improving the performance of three architecturally different web servers. We study strategies for effectively accepting incoming connections under conditions of high load. Our experimental evaluation shows that the method used to accept new connection requests can significantly impact server performance. By modifying each server’s accept strategy, we improve the performance of the kernel-mode TUX server, the multithreaded Knot server and the event-driven ¡ server. Under two different workloads, we improve the throughput of these servers by as much as 19 % – 36 % for TUX, 0% – 32 % for Knot, and 39 % – 71 % for the ¡ server. Interestingly, the performance improvements realized by the usermode ¡ server allow it to obtain performance that rivals an unmodified TUX server. 1
Evaluating the performance of user-space and kernel-space web servers
- In Proceedings of the 14th Annual IBM Center for Advanced Studies Conference (CASCON
, 2004
"... ..."
Using accept() strategies to improve server performance
, 2004
"... I hereby declare that I am the sole author of this thesis. I authorize the University of Waterloo to lend this thesis to other institutions or individuals for the purpose of scholarly research. ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
I hereby declare that I am the sole author of this thesis. I authorize the University of Waterloo to lend this thesis to other institutions or individuals for the purpose of scholarly research.
Workload Characterization of SPECweb2005
"... As the diversity of computer applications increases, so does the need to come up with newer benchmarks. Moreover, as the usage characteristics of applications change, it becomes necessary to update the relevant benchmarks to reflect these characteristics in the benchmarks appropriately. SPECweb96 wa ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
As the diversity of computer applications increases, so does the need to come up with newer benchmarks. Moreover, as the usage characteristics of applications change, it becomes necessary to update the relevant benchmarks to reflect these characteristics in the benchmarks appropriately. SPECweb96 was the first web benchmark based on the characteristics of ISPs that downloaded only static pages. This was replaced with SPECweb99 in 1999. The main difference between SPECweb96 (see [1]) and SPECweb99 (see [2]) was the inclusion of simple dynamic pages in SPECweb99. While this was a major step forward, the standard web benchmark still suffered from several shortcomings (see [3] for a discussion and analysis), from a customer benchmarking point of view, the main one being that SPECweb99 did not include SSL based requests. With this in mind, SPECweb99_SSL was created by adding an SSL envelope around SPECweb99 (for details, see [4]). Together, the two benchmarks served the community for more than three years. However, it was clear that the benchmarks did not represent any real world web workload. The effort towards SPECweb2005 was focussed on representing specific web workloads with a hope to replicate and represent the individual characteristics from real world applications in this benchmark. Unlike its predecessors which were based on request models for files, SPECweb2005 is based on downloading pages, which are dynamically created files, followed by requests for embedded images within the files, with the page download considered as being complete when the dynamic page as well as all the embedded files are downloaded. Currently, this benchmark includes three different workloads: • Banking, which is fully SSL based workload • Ecommerce workload, which includes both SSL as well as non-SSL requests. • Support workload, which is based fully on
TCP connection management mechanisms for improving internet server performance
, 2005
"... Abstract — This paper investigates TCP connection management mechanisms in order to understand the behaviour and improve the performance of Internet servers during overload conditions such as flash crowds. We study several alternatives for implementing TCP connection establishment, reviewing approac ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract — This paper investigates TCP connection management mechanisms in order to understand the behaviour and improve the performance of Internet servers during overload conditions such as flash crowds. We study several alternatives for implementing TCP connection establishment, reviewing approaches taken by existing TCP stacks as well as proposing new mechanisms to improve server throughput and reduce client response times under overload. We implement some of these mechanisms in Linux and evaluate their performance. Our evaluation demonstrates that connection establishment mechanisms that eliminate the TCP-level retransmission of connection attempts by clients can increase server throughput by up to 40 % and reduce client response times by two orders of magnitude. Additionally we evaluate the cost of supporting half-closed connections at the server and assess the impact of an abortive release of connections by clients on the throughput of an overloaded server. We observe that mechanisms that do not support half-closed connections additionally improve server throughput by more than 15%. I.
A New Synthetic Web Server Trace Generation Methodology
"... We propose a new synthetic trace generation methodology for web server performance benchmarking. We discuss the two primary existing approaches to synthetic trace generation in terms of queueing models. We propose a new methodology as the natural combination of these two approaches. This hybrid appr ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We propose a new synthetic trace generation methodology for web server performance benchmarking. We discuss the two primary existing approaches to synthetic trace generation in terms of queueing models. We propose a new methodology as the natural combination of these two approaches. This hybrid approach permits natural modeling of client content and server session caching as well as a natural correspondence between the workload model parameters and the statistics of the resulting synthetic trace. 1.

