Overview
For a good discussion of general Web server issues, such as design,
caching, and performance, read Web Server Technology: The Advanced
Guide for World Wide Web Information Providers, by Nancy
J. Yeager and Robert E. McGrath.
Pointers to papers that discuss benchmarking efforts.
- Apache Performance Notes
- An excellent article by Dean Gaudet, discusses practical issues
behind Web server performance, and how Apache has been designed
to deal with them.
- Performance of Several HTTP Demons on an HP 735
Workstation
- Describes Web server performance measurement experiments
conducted on an HP 735.
- Web Server Workload Characterization: The Search for Invariants
- The DISCUS research group has provided a detailed analysis of
the workload characteristics of Web servers.
- Measuring the Behavior of a World-Wide Web Server
- Describes a performance measurement tool, called Webmonitor,
and provides a detailed study of the performance of the Apache
Web server on a Pentium running Linux. Study done by the OCEANS
research group.
- Web66 GStone Testing Laboratory Preliminary Report
- This page describes the testbed and methodology for the Web66
GStone
benchmark.
- Web Server Comparative
Benchmarking
- WebCompare has some pointers to other benchmarking
efforts.
Sites which model the performance of Web servers. This is closely
related to benchmarking, in that models are used to predict how
a server will perform in particular situations.
- A Model of Web Server Performance
- Presents a simple, high-level, open queueing network model from
which is derived several general performance results for Web
servers on the Internet.
Links to various sources which discuss designs and strategies for
improving Web performance with better Web servers.
- Keeping the 400lb. Gorilla at Bay
- Describes strategies for improving Web server performance, and
optimizations for HTTP.
- A Scalable HTTP Server: The NCSA Prototype
- Describes a design for a server which can allow for dynamic
scaling of the Web server load capacity.
- Service Configurator -- A Pattern for Dynamic Configuration of
Services
- A design pattern for a server which decouples the
implementation of services from the time when they are
configured.
-
-
-
- The Case for Persistent-Connection HTTP
- Written by Jeffrey C. Mogul, of WRL.
Describes simulations demonstrating the benefits of persistent
connections.
- Hinted caching in the Web
- Jeffrey Mogul describes a caching technique which exploits
spatial locality instead of temporal locality. These take the
form of hints provided by the Web server, which requires
protocol modifications.
- Keeping the 400lb. Gorilla at Bay
- Describes strategies for improving Web server performance, and
optimizations for HTTP.
- ADAPTIVE: A Dynamically Assembled Protocol Transformation,
Integration, and eValuation Environment
- ADAPTIVE provides an integrated environment for developing and
experimenting with flexible transport system architectures that
support lightweight and adaptive communication protocols for
diverse multimedia applications running on high-performance
networks.
- Network Performance Effects of HTTP/1.1, CSS1, and PNG
- CERN demonstrates how speedups in performance can be gained by
using new protocol technologies.
-
- Web Server Tuning And Monitoring
- OS and Web server configuration tips to increase Web server
performance on Solaris systems.
- Tuning UNIX for Web service
- Chuck Musciano explains how to tune OS network parameters to
gain server performance.
-
-
-
- Hinted caching in the Web
- Jeffrey Mogul describes a caching technique which exploits
spatial locality instead of temporal locality. These take the
form of hints provided by the Web server, which requires
protocol modifications.
- Characterizing Reference Locality in the WWW
- A paper which attempts to model requests made to Web servers in
terms of both spatial and temporal locality, leveraging from
observations of self-similarity in Web traffic.
- Using speculation to reduce server load and service time on the
WWW
- Speculation refers to a statistical technique, where the Web
server caches information about other pages likely to be
requested given the current request. In anticipation of these
future requests, the server may push the data to the client even
before the client requests it.
- Main Memory Caching of Web Documents
- This paper compares and evaluates simulations of different
caching techniques based on traces collected from several Web
sites. It includes a case where an adaptive technique
outperformed all the other evaluated algorithms.
- Cisco Cache Engine
- An implementation of a transparent Web server proxy. From
their Web page:
Cisco Systems' Cache Engine performs shared network caching of
Web content on the local network to eliminate repeated
transmission of identical content over wide-area network (WAN)
links.
- Cisco LocalDirector
- Transparent load balancing hardware. From their Web page:
LocalDirector is a device that dynamically load-balances traffic
between multiple co-located servers to ensure timely access and
response to requests. It is independent of domain name servers
and applications; rather, it functions as a front end to a group
of servers, intelligently load balancing traffic demands between
servers and speeding user access to server-based
applications. Servers can be added and removed transparently,
but to end users LocalDirector provides the appearance of a
single, "virtual" server.
- An OO Encapsulation of Lightweight OS Concurrency Mechanisms in
the ACE Toolkit
- This describes the ACE concurrency
components.
- Beyond Multiprocessing ... Multithreading the SunOS
Kernel
- Overview of the SunOS threaded kernel architecture.
- Writing Multithreaded Code in Solaris
- Examples of how to use threads in applications.
-
- Acceptor and Connector -- A Family of Object Creational
Patterns for Initializing Communication Services
- This paper jointly describes the Acceptor and Connector
patterns. The intent of these patterns is to decouple the active
and passive connection roles, respectively, from the tasks a
communication service performs once connections are established.
- An Object-Oriented Framework for Dynamically Configuring
Extensible Distributed Systems
- Describes the ADAPTIVE Service eXecutive (ASX) framework, an
object-oriented framework composed of automated tools and
reusable components to simplify the development, configuration,
and reconfiguration of applications in a distributed
environment.
- W. Richard Stevens' Home Page
- Author of UNIX Network Programming and Advanced
Programming in the UNIX Environment, standard programming
reference book.
-