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

Slides:



Advertisements
Similar presentations
WEB AND WIRELESS AUTOMATION connecting people and processes InduSoft Web Solution Welcome.
Advertisements

Executional Architecture
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Chap 4 Multithreaded Programming. Thread A thread is a basic unit of CPU utilization It comprises a thread ID, a program counter, a register set and a.
Flash: An efficient and portable Web server Authors: Vivek S. Pai, Peter Druschel, Willy Zwaenepoel Presented at the Usenix Technical Conference, June.
Objectives In this session, you will learn to:
1 Web Server Performance in a WAN Environment Vincent W. Freeh Computer Science North Carolina State Vsevolod V. Panteleenko Computer Science & Engineering.
S. Barua – CPSC 440 CHAPTER 8 INTERFACING PROCESSORS AND PERIPHERALS Topics to be covered  How to.
The Museum Project The Museum Project Yoav Gvili & Asaf Stein Supervisor : Alexander Arlievsky.
CS 623 Lecture #9 Yen-Yu Chen Utku Irmak. Papers to be read Better operating system features for faster network servers.Better operating system features.
TCP/IP: the transport layer Skills: none IT concepts: layered protocols, transport layer functions, TCP and UDP protocols, isochronous applications This.
1 Java Networking – Part I CS , Spring 2008/9.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 31/10/2007.
Computer Science Scalability of Linux Event-Dispatch Mechanisms Abhishek Chandra University of Massachusetts Amherst David Mosberger Hewlett Packard Labs.
Programming project #4 1 CS502 Spring 2006 Programming Project #4 Web Server CS-502 Operating Systems Spring 2006.
A Distributed Proxy Server for Wireless Mobile Web Service Kisup Kim, Hyukjoon Lee, and Kwangsue Chung Information Network 2001, 15 th Conference.
RDMA ENABLED WEB SERVER Rajat Sharma. Objective  To implement a Web Server serving HTTP client requests through RDMA replacing the traditional TCP/IP.
The new The new MONARC Simulation Framework Iosif Legrand  California Institute of Technology.
Definitions, Definitions, Definitions Lead to Understanding.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
CS-3103 & CS-502, Summer 2006 Programming Project #31 Programming Project #3 Web Server CS-3103 & CS-502 Operating Systems.
Introduction to client/server architecture
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Programming Network Servers Topic 6, Chapters 21, 22 Network Programming Kansas State University at Salina.
Socket Lab Info. Computer Network. Requirement Use TCP socket to implement a pair of programs, containing a server and a client. The server program shall.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
Flash An efficient and portable Web server. Today’s paper, FLASH Quite old (1999) Reading old papers gives us lessons We can see which solution among.
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
TCP/IP Protocols Dr. Sharon Hall Perkins Applications World Wide Web(HTTP) Presented by.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Report task. Security risks such as hacking, viruses and id theft Security prevention such as Firewalls, SSL and general security standards The laws which.
Process Control. Module 11 Process Control ♦ Introduction ► A process is a running occurrence of a program, including all variables and other conditions.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
CS 241 Section (04/19/12). MP8  Web Server  Due: Tuesday, May 1 st, 11:59pm  What will you be doing?  Creating a web-server in C that serves HTML.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
FTP File Transfer Protocol Graeme Strachan. Agenda  An Overview  A Demonstration  An Activity.
Chapter 29 World Wide Web & Browsing World Wide Web (WWW) is a distributed hypermedia (hypertext & graphics) on-line repository of information that users.
Performance of Web Proxy Caching in Heterogeneous Bandwidth Environments IEEE Infocom, 1999 Anja Feldmann et.al. AT&T Research Lab 발표자 : 임 민 열, DB lab,
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 5.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 15 Application Layer and Client-Server.
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
Node.Js 1. 2 Contents About Node.Js Web requirement latest trends Introduction Simple web server creation in Node.Js Dynamic Web pages Dynamic web page.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
Concurrent TCP servers. The basic idea 1 client = 1 task. The task is alive as long until the connection is closed The task closes the connection.
1 Network Communications A Brief Introduction. 2 Network Communications.
CLIENT (Browser) socket accept C1 C2 recv C2 recv send C2 send end_thread recv C3 send bind connect Web Server Proxy recv close C3 close C2 end_thread.
Midterm Review October Closed book one hand written page of notes of your own making October Closed book one hand written page of notes of.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Last Class: Introduction
WWW and HTTP King Fahd University of Petroleum & Minerals
Chapter 4: Multithreaded Programming
CSE 461 HTTP and the Web.
CS703 - Advanced Operating Systems
Starting TCP Connection – A High Level View
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
An Introduction to Internetworking
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 4: Threads.
Presentation transcript:

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 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

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 !