Understanding Factors That Influence Performance of a Web Server

Post on 07-Jan-2016

21 views 0 download

description

Understanding Factors That Influence Performance of a Web Server. Presentation CS535 Project By Thiru. Goals. Understand how a typical web server works Infer potential factors that can influence the performance Discover the dynamics of the interactions Look at each factor in detail - PowerPoint PPT Presentation

Transcript of Understanding Factors That Influence Performance of a Web Server

Understanding Factors That Influence Performance of a Web Server

Presentation CS535 ProjectBy

Thiru

Goals Understand how a typical web server

works Infer potential factors that can influence

the performance Discover the dynamics of the interactions Look at each factor in detail Some miscellaneous topics, if time permits Conclude

What Is a Web Server ? A server program implementing HTTP

protocol A typical server would: Listen on a known port (usually 80) When a request arrives, create a new

socket, hand it over to a helper process Go back to the listening mode The helper process would communicate

with the client and serve the request

What Is a Client ? Typical client – a browser. The steps involved in retrieving

www.wpi.edu.

What Are the Potential Bottlenecks ? The listening process The forking model The disk I/O The network, i.E. The sending end The scheduling model for tasks

Protocol Enhancement From HTTP 1.0 to HTTP1.1 Persistent connections

Data Touching Operations in TCP

Reference: [1]

Forking Spawn a new process for every

request Spawn a new thread for every request Use events to handle requests Use I/O completion mechanisms to

handle processing of events Use asynchronous model of execution

Disk I/O Not a pressing issue A lot of small files are cached in

typical server implementation mmap() maps files directly to

memory

SRPT Scheduling (Shortest-remaining-processing-time)

Reference: [2]

SRPT Scheduling (contd…)

Reference: [2]

Enhance Network I/O Functions

Enhancements to poll() Enhancements to select() Declare_interest() /Dev/poll on Solaris – add, modify, and

remove interest sets

Use asynchronous model RT signals in Linux – Abeshk

Chandra’s paper.

Radically new approaches DB approach TCP server

The Big Picture The end user experience can be

enhanced in three ways Replication of content – mirroring Distributed caching Improve WS performance

The Difference Between the Lab and the Real World

Slow and Indeterministic behavior of connections

Request sizes vary through a large range

In real world there are layers of caches and mirrors

The Difference Between the Lab and the Real World

Network speed – connection speed – varies widely

It’s hard to simulate real world environment in labs. Hence the results are hard to verify

The test beds are not accurate – the model is skewed. S-client paper

Conclusion Factors influencing performance Network I/O operations Socket behavior Scheduling TCP implementation Disk I/O does not have a big impact

since small files are cached A lot more, but this is what is

presentable within 1800 seconds !