Improving Web Server Performance by Network Aware Data Bu.ering and Caching

  • Sourav Sen
  • Y. Narahari
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2552)


In this paper we propose a new method of data handling for web servers. We call this method Network Aware Bufiering and Caching (NABC for short). NABC facilitates reduction of data copies in web server’s data sending path, by doing three things: (1) Layout the data in main memory in a way that protocol processing can be done without data copies (2) Keep a unified cache of data in kernel and ensure safe access to it by various processes and kernel and (3) Pass only the necessary meta data between processes so that bulk data handling time spent during IPC can be reduced. We realize NABC by implementing a set of system calls and an user library. The end product of the implementation is a set of APIs specifically designed for use by the web servers. We port an in house web server called SWEET, to NABC APIs and evaluate performance using a range of workloads both simulated and real. The results show a very impressive gain of 12% to 21% in throughput for static file serving and 1.6 to 4 times gain in throughput for lightweight dynamic content serving for a server using NABC APIs over the one using UNIX APIs.


Cache Size Data Copy Aggregate Throughput Protocol Processing Dynamic Content 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [2]
    E. Anderson. Container Shipping: a Uniform Interface for Fast, Efficient, High-Bandwidth I/O. PhD thesis, Computer Science and Engineering Department, University of California, San Diego, CA, 1995. 243, 250Google Scholar
  2. [3]
    J. C. Brustoloni. Interoperation of copy avoidance in network and file i/o. In INFOCOM (2), pages 534–542, 1999. 250Google Scholar
  3. [4]
    J. C. Brustoloni and P. Steenkiste. Effects of Buffering Semantics on I/O Performance. In 2nd Symp. on Operating Systems Design and Implementation (OSDI), pages 277–291, Seattle, WA, Oct 1996. 243, 250Google Scholar
  4. [5]
    J. Challenger, A. Iyengar, and P. Dantzig. A scalable system for consistently caching dynamic web data. In Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies, New York, NY, 1999. 245Google Scholar
  5. [6]
    H. K. Jerry Chu. Zero-copy TCP in solaris. In USENIX Annual Technical Conference, pages 253–264, 1996. 250Google Scholar
  6. [7]
    C. D. Cranor and G. M. Parulkar. The uvm virtual memory system. In USENIX Annual Technical Conference, Monterey, CA, June 1999. 250Google Scholar
  7. [8]
    P. Druschel. Operating System Support for High-Speed Networking. PhD thesis, Department of Computer Science, The University of Arizona, 1994. 243Google Scholar
  8. [9]
    Answers from planet TUX: Ingo Molnar responds. 250
  9. [10]
    J. C. Hu, S. Mungee, and D. C. Schmidt. Techniques for Developing and Measuring High-Performance Web Servers over high speed ATM. In INFOCOM, San Francisco, CA, 1998. 243Google Scholar
  10. [11]
    A. Iyengar, J. Challenger, D. Dias, and P. Dantzig. High-Performance Web Site Design Techniques. IEEE Internet Computing, 4(2):17–26, Mar.-Apr. 2000. 242CrossRefGoogle Scholar
  11. [13]
    E. Levy-Abegnoli, A. Iyengar, J. Song, and D. M. Dias. Design and performance of a web server accelerator. In INFOCOM (1), pages 135–143, 1999. 250Google Scholar
  12. [14]
    Jochen Liedtke. Improving ipc by kernel design. In 14th Symposium on Operating Systems Principles (SOSP), Asheville, North Carolina, December 1993. 250Google Scholar
  13. [15]
    R. King P. Joubert, R. Neves, M. Russinovich, and J. Tracey. High-Performance Memory-Based Web Servers: Kernel and User-Space Performance. In USENIX Annual Technical Conference, Boston, MA, June 2001. 250Google Scholar
  14. [16]
    V. S. Pai, P. Druschel, and W. Zwaenepoel. I/O-Lite: A Unified I/O Buffering and Caching System. ACM Transactions On Computer Systems, 18(1):37–66, 2000. 250CrossRefGoogle Scholar
  15. [17]
    S. Sen. Scaling the performance of web servers using a greedy data buffering and caching strategy. Master’s thesis, Department of Computer Science and Automation, Indian Institute of Science, Bangalore, India, January 2002. 245, 249Google Scholar
  16. [18]
    M. Thadani and Y. A. Khalidi. An efficient zero-copy i/o framework for unix. Technical Report SMLI TR95-39, Sun Microsystems Lab, Inc., May 1995. 250Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Sourav Sen
    • 1
  • Y. Narahari
    • 2
  1. 1.Hewlett Packard India Software OperationsBangaloreIndia
  2. 2.Department of Computer Science and AutomationIndian Institute of ScienceBangaloreIndia

Personalised recommendations