Download
understanding factors that influence performance of a web server n.
Skip this Video
Loading SlideShow in 5 Seconds..
Understanding Factors That Influence Performance of a Web Server PowerPoint Presentation
Download Presentation
Understanding Factors That Influence Performance of a Web Server

Understanding Factors That Influence Performance of a Web Server

121 Vues Download Presentation
Télécharger la présentation

Understanding Factors That Influence Performance of a Web Server

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

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

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

  4. What Is a Client ? • Typical client – a browser. • The steps involved in retrieving www.wpi.edu.

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

  6. Protocol Enhancement • From HTTP 1.0 to HTTP1.1 • Persistent connections

  7. Data Touching Operations in TCP Reference: [1]

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

  9. Disk I/O • Not a pressing issue • A lot of small files are cached in typical server implementation • mmap() maps files directly to memory

  10. SRPT Scheduling (Shortest-remaining-processing-time) • Reference: [2]

  11. SRPT Scheduling (contd…) • Reference: [2]

  12. Enhance Network I/O Functions • Enhancements to poll() • Enhancements to select() • Declare_interest() • /Dev/poll on Solaris – add, modify, and remove interest sets

  13. Use asynchronous model • RT signals in Linux – Abeshk Chandra’s paper.

  14. Radically new approaches • DB approach • TCP server

  15. The Big Picture • The end user experience can be enhanced in three ways • Replication of content – mirroring • Distributed caching • Improve WS performance

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

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

  18. 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 !