High performance, scalable web server systems - Tang, Wenting (ProQuest Dissertations & Theses, 2001)
The web has experienced phenomenal growth during the last couple of years. During the commercialization process of the Internet, the web has become a “killer app” and millions of browsers now access comparatively fewer web sites compared to the number of clients. As more applications are built around the web architecture, web sites have to deal with potentially unlimited number of users. Peak rates for a web service might be as high as 10 times of the average. Therefore, the performance and scalability issues of such big sites will be an important issue. In this dissertation, we address problems related to the development of high performance, scalable web server systems. We make contributions in two aspects: the first related to the performance of a single web server and the second related to the performance of multiple replicated web sites. For a single web server, Browser Initiated Pushing (BIP) is proposed to improve performance based on the observation that today's typical web page has one or more embedded images. Measurement shows that BIP is an important technology to improve a single web server's throughput. We propose two approaches and develop a framework to address the scalability of replicated web sites. A non-dispatcher approach, Static Allocation and Client Redirection (SSCR) shares load between replicated web sites and is mainly targeted for global scale web sites. Smart Server Selection (S3) addresses the server selection problem when multiple replicated sites exist. In S3, a client DNS server is extended to prioritize a pool of IP addresses based on the routing metric information collected from routers and other information it collects (geographical location of servers and clients). An efficient scheme to collect routing-metric information from routers is proposed. A framework to support Content-Aware request distribution in STREAMS-based TCP/IP implementation is developed and prototyped. Content-Aware request distribution provides the ability to support partial replication, flexible web site arrangements, Web Quality of Service, and security. Our framework is based on the TCP handoff mechanism. The TCP handoff mechanism is designed as STREAMS modules) in the protocol stack. Three different designs are reported according to workload characteristics. The differentiated web service in the STREAMS-based TCP/IP implementation is discussed.