Distributed Computing Systems, 1996., Proceedings - Semantic Scholar

5 downloads 0 Views 1MB Size Report
30 Saw Mill River Road. Hawthorne, NY 10532. Abstract. A fbidamental trend for servers in network-cenlric com- pting eiwironitients is to evolve from traditional ...
A Distributed Web Server and Its Performance Analysis on(Multiple Platforms Yew-Huey Liu, Paul Dantzig, C. Eric Wu, Jim Challenger IBA4 T.J. Watson Research Center 30 Saw Mill River Road Hawthorne, NY 10532

Abstract

uments, written in HyperRxt Markup Language (HTML),

A fbidamental trend for servers in network-cenlric comp t i n g eiwironitients is to evolve from traditional database and transaction servers to iirformariondistribution arid haiidling systems. In uddirion to dociiments written iiil the HyperTexr Markup Luny riaye (HTML), data stored in other forms can be retrieved tliroiigh the Common Gatmuy 111terface (CCI).A sigriijicunt p~vforrrrancebottleneck is the iiiitiulization and setiq) phase for a CtiI process to gain access to a buckend swer. I n this paper, we desr-ribe rhe design and ii?i~,lemeiitcatioii cf a distribiued Web server for CGI pioocesses to acqiiire services cffi&ntly. A Connection Manager Daemon (CMD)is developed to provide i,t iiirmber os climes, which are c(wnectedto buckend servers to diminure initializatioii cosds for inconling requests. A Cache Manuger is iviplemenrcd to speedup response tinie in case c~frepeatedreqiiesrs. M+ also rrnc’earid monitor rhr Conneclion Manu-w.--)T@ "..qY..,

=*en.

(-3 "..",I.

""",,S

pages are cached, it may prevent a clime process from requesting the sane infortnation and constructing the same HTML page over and over again. The Cache Manager in1erfiice pennits flexible caching policies to further streamline connections by reducing the need to contact even the cliette for data that has km recently fetched. The Cache Managler listens on its own well-known port which is used by both CGI arid cliette processes. The Cache Manager is multi-threaded, and capable of managing multiple caches, in a single process. Each cache is configurable to use disk, memory, or both to store cached data. It is also configurable to use passive (client controlled) management policies or aggressive (cahe manager controlled) policies, or a combination of both, If the Cache Manger has been initiated, the CG[ may choose to look in the local cache, possibly eliminating the need to contxt a cliette for serving the request. The cliette may also use the cache to store previously returned information. atid subsequently avoid sending the stme request to the backend server. Figure 2 (and figurc 3 illustrate these sequences. More detailed descriptions for each component and the interfaces can be found in [7].

cy 0.......cy0yw) a

.......

*.I,,"#,

... ...

)--(-i.@

3 UTE and UTE Extensions

n".r,ml.,

-