The Internet and, more specifically, Web-based applications now provide the first-ever global, easy-to-use, ubiquitous and economical communications channel. Most companies have already automated their operations to some extent, which enhances their ability to interact with other companies electronically. With the advent of Web services, the interaction between companies becomes easier and more transparent (Khalaf, Curbera, Nagy, Tai, Mukhi, & Duftler, 2005). Web-based technologies are extensively employed and support core components of virtual and networked organizations. Many of them, including for instance Web-based communities, heavily rely on Web traffic. Additionally, Web technologies play a central role in the technologies for supporting industrial virtual enterprises (VE) being developed by the National Industrial Information Infrastructure Protocols Consortium (NIIIP). Thus, modelling and analysis techniques for Web traffic become important tools for performance analysis of virtual organizations (Malhotra, 2000; Foster, Kesselman, & Tuecke, 2001). This article overviews current models of Web traffic as well as performance analysis of Web-based systems.
Key Terms in this Chapter
Server Availability: The ability of a server to be in a state to perform a required function at a given instant of time or at any instant of time within a given time interval. From the user point of view, availability over a specified time interval is the percentage of that interval during which the system was available for normal use.
Server Workload: The amount of load in form of client requests, processing and communications resources expected in a specified time period. A defined workload can be specified as a benchmark when evaluating server performance in terms of response time distribution and throughput.
HTTP (HyperText Transfer Protocol): The standard protocol for transference of Web pages. Also used for supporting Web services, the World Wide Web is largely based on it, specifying the format of messages exchanged by a client, called in this case the user agent (it could be a user browser or a crawler), and a server, that is, the application program that accepts connections and provides the requested services. Its current version is HTTP 1.1.
Zipf’s Law: Experimental law that originally stated that in a corpus of natural language utterances, the frequency of any word is roughly inversely proportional to its rank in the frequency table. The term Zipf’s distribution is commonly used to refer to any of a family of related power law probability distributions. These kind of distributions are observed in many kinds of phenomena and are characterized by the fact that for large values of the independent variable the distribution decays polinomially with exponent extrictly bigger than one. The frequency of access to Web pages and keyword usage in search engines obey Zipf’s law.
Reference Locality: A concept that deals with the process of multiple access to a resource. Also called the principle of locality and spacial/temporal locality, it is the principle behind storage caches. Temporal locality refers to the concept that a resource that is accessed at one point in time will be referenced again sometime in the near future. Spatial locality refers to the fact that the likelihood of referencing a resource is higher if a resource near it was just referenced.
Mean Time Between Failure (MTBF): The average time between failures, that is, the reciprocal of the failure rate. Usually employed as a metric of a servers’ performance. For typical distributions with some variance, MTBF is not suitable for predicting detailed time of failure, as the uncertainty in actual failure distribution manifests itself in variability in the time to failure distribution.
Load Balancing: Performance improvement technique based on the distribution of processing and/or communications tasks among a number of processing resources in a computer network so that no single resource becomes overwhelmed. Heavily loaded Web infrastructures typically employ two or more servers in a load balancing scheme so that no performance degradation occurs even though it may be difficult to predict the number of request that can be issued in any moment.
Cache: A collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive (usually in terms of access time) to fetch or compute relative to reading the cache. Caches have proven extremely effective in improving performance of Web servers because access patterns in typical Web applications show locality of reference. Many Internet service providers use proxy caches to save bandwidth on frequently-accessed Web pages.
Mean Time to Repair (MTTR): The average time taken to fix a problem that occurs on the network. Targets are normally set within a service level agreement (SLA) and depends on the priority of the fault; usually employed as a metric for server performance.
Log-Normal Distribution: The probability distribution of any random variable whose logarithm is normally distributed. A variable can be modeled as log-normal if it can be thought of as the multiplicative product of many small independent factors. The body of the distribution of object or document sizes in WWW traffic is log-normal.