Understanding Factors That Influence Performance of a Web Server

18
Understanding Factors That Influence Performance of a Web Server Presentation CS535 Project By Thiru

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

Page 1: Understanding Factors That Influence Performance of a Web Server

Understanding Factors That Influence Performance of a Web Server

Presentation CS535 ProjectBy

Thiru

Page 2: Understanding Factors That Influence Performance of a Web Server

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

Page 3: Understanding Factors That Influence Performance of a Web Server

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

Page 4: Understanding Factors That Influence Performance of a Web Server

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

www.wpi.edu.

Page 5: Understanding Factors That Influence Performance of a Web Server

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

Page 6: Understanding Factors That Influence Performance of a Web Server

Protocol Enhancement From HTTP 1.0 to HTTP1.1 Persistent connections

Page 7: Understanding Factors That Influence Performance of a Web Server

Data Touching Operations in TCP

Reference: [1]

Page 8: Understanding Factors That Influence Performance of a Web Server

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

Page 9: Understanding Factors That Influence Performance of a Web Server

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

typical server implementation mmap() maps files directly to

memory

Page 10: Understanding Factors That Influence Performance of a Web Server

SRPT Scheduling (Shortest-remaining-processing-time)

Reference: [2]

Page 11: Understanding Factors That Influence Performance of a Web Server

SRPT Scheduling (contd…)

Reference: [2]

Page 12: Understanding Factors That Influence Performance of a Web Server

Enhance Network I/O Functions

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

remove interest sets

Page 13: Understanding Factors That Influence Performance of a Web Server

Use asynchronous model RT signals in Linux – Abeshk

Chandra’s paper.

Page 14: Understanding Factors That Influence Performance of a Web Server

Radically new approaches DB approach TCP server

Page 15: Understanding Factors That Influence Performance of a Web Server

The Big Picture The end user experience can be

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

Page 16: Understanding Factors That Influence Performance of a Web Server

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

Page 17: Understanding Factors That Influence Performance of a Web Server

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

Page 18: Understanding Factors That Influence Performance of a Web Server

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 !