Reducing File Access Overhead in Web Servers

Size: px
Start display at page:

Download "Reducing File Access Overhead in Web Servers"

Transcription

1 Reducing File Access Overhead in Web Servers Igor Tatarinov Abstract In this paper we compare performance of buffered and mapped I/O in a Web server. We show that mapped I/O is an easy way to increase performance of a Web server on large files. To achieve performance improvement smaller files, map caching can be used. Map caching avoids extra data copying of the buffered I/O, as well as many file manipulation system calls (open, stat, map, close) which saves many CPU cycles. We implemented a simple Web server to study the effect of map caching. Using a trace from a real Web site, we showed that map caching can significantly increase Web server throughput. 1. Introduction The popularity of the World Wide Web has been constantly growing since its introduction in 1991 and so has the load on a typical Web server. Many popular Web sites are now serving million requests every day. High server load increases request processing time and the total response time observed by the users. At the same time, an increasing number of Web surfers get access to high-speed Internet connections. As a result, request processing delay at the server may become higher than network delay. Therefore, it is important to make the Web server handle requests as fast as possible. An ideal Web server would have a zero processing time. At least, it would be able to process requests faster than the network can send responses back to the clients. Clearly, this is impossible to achieve since some requests may require plenty of CPU time which will delay processing of new requests. File access overhead may account for a significant portion of the total request processing time [HMS97]. It is believed that most existing Web servers are able to keep all or almost all accessed files in main memory [M96, HMS97]. This is partly due to the fact that users 1

2 tend to frequently access smaller documents and rarely access larger documents. In this paper, we therefore assume that file access does not result in any physical I/O operations. Future Web servers may have to deal with larger volumes of frequently requested data (multimedia documents, etc.) and the problem of optimal document caching may become more important. The main focus of this paper is reduction of the CPU overhead caused by frequent file access operations. 2. Architecture of World Wide Web 2.1 Protocol The World Wide Web employs a client/server architecture where clients (Web browsers) communicate with servers using the HyperText Transfer Protocol (HTTP). The first version of HTTP required that Web browsers establish a separate network connection for each requested object (HTML file, image, etc.). This resulted in a (slow) sequential retrieval of objects within a Web page. To speed the process up, browsers had to establish several concurrent network connections which imposed higher load on the Web server and the Internet. Keep-alive connections is a widely used extension to HTTP/1.0 that allows several requests to be sent via the same network connection. Such connections help decrease network traffic and the number of active connections on Web servers. We discuss the effect of keep-alive connections on Web server performance in Section. 2.2 Concurrency Mechanisms in Web Servers To efficiently serve several simultaneous connections, a Web server needs to process requests concurrently. There are three alternative concurrency model s that can be used in Web servers. 1. Process-based concurrency. In this approach, each new connection is handled by a separate process. Therefore, the number of running Web server processes is always greater or equal to the number of 2

3 active connections. Accordingly, a large amount of CPU time may be wasted on context switching. The main advantage of this approach is its high portability across UNIX-like platforms. Also, since server processes may periodically be replaced by new ones, a Web server based on this concurrency model is very robust. The Apache Web server uses the process-based concurrency model [A98]. 2. Thread-based concurrency. This approach is similar to process-based concurrency but instead of a process, a new thread is allocated. With threads, context switching is much cheaper and Web server performance is higher[hms97, SS96]. Most commercial Web servers are multithreaded, e.g., Netscape [N98] and Zeus [Z98] Web servers, etc. 3. Asynchronous I/O model. In this model, there is a single server process that issues requests for asynchronous I/O operations and continuously polls the operating system for completed or new requests. An asynchronous Web server must never block or else clients will not be able to connect. This is sometimes hard to achieve, e.g., opening a file is a synchronous (blocking) operation but it may take a lot of time if the file resides on a remote file system. Besides, not all operating systems provide robust asynchronous I/O functions. As a result, Web servers based on this concurrency model are not widely used. Boa [B98] and thttpd [T98] are two examples of asynchronous Web servers. Of course, it is possible to use a hybrid concurrency model, e.g., a Web server can maintain a pool of multithreaded processes. In this study, we only need to distinguish between single-process and multiple-process Web servers since this determines the possible alternatives for file access optimization. 3

4 2.3 File Access Overhead in Web Servers The traditional way to send a file over the network is to use an intermediate buffer. As simple as it is, this approach is inefficient because it may require unnecessary system calls and data copying. First, the file is copied from the file system buffer to the intermediate buffer. Depending on the file and buffer sizes, this requires one or more read system calls. Then the buffer has to be copied into the kernel s network buffer which again may require several systems calls. UNIX provides the mmap() system call that allows for avoiding the extra overhead of the traditional approach. mmap maps a file into a process memory space. When a process first tries to access a memory location that corresponds to a mapped file, UNIX allocates a free page in its file system cache and reads the accessed page from disk. Using memory mapping instead of a temporary buffer significantly improves performance especially for large files. However, file mapping is a rather expensive operation and it may be better to avoid it when a small file is requested. (Another potential problem is that UNIX allocates a full memory page (4-8K) even if the mapped file is much smaller. This may result in wasted memory and increased paging.) Obviously, the larger the file the higher is the benefit from file mapping. The threshold value of file size is systemdependent. Figure 1 shows that for Solaris the threshold is approximately 8K while on Linux it is 4K. Obviously, if most requested files are smaller than the threshold, using mapped instead of buffered I/O would result in little performance improvement. Figure 2 proves that many requested files are indeed larger than the threshold. This figure is a graph of the cumulative distribution function (CDF) for the requested file size. To obtain this graph, we used traces from two Web sites, CS departments of NDSU and UCB. Looking at the graph, one can conclude that files larger than 8K were requested in 60% of cases for the UCB trace but only in 25% of cases for the NDSU trace. 4

5 Sun buf Sun mmap Linux buf Linux mmap Latency usec Cumulative probability File size PDF (UCB) File size PDF (NDSU) File size, KB File size, KB Figure 1: Buffered I/O vs. mapped I/O latency Figure 2: Cumulative distribution function of the requested file size 3. Map Caching: Its Benefits and Limitations Since mapping a file is an expensive operation, it should be beneficial to cache memory mappings for certain files and thereby avoid the future overhead of mapping them again. It may be beneficial to map even very small files since such files tend to be requested more often than larger files. As a result, the additional overhead of mapping a small file will be paid off as the file is requested over and over. We will refer to this kind of caching is map caching. Map caching may cause the following potential problems: Process size limitations. Each file mapping increases the virtual memory size of a Web server process. Fortunately, modern Unices support very large virtual memory spaces (at least up to 4 Gigabyte, 2 32 bytes). The amount of information stored on a typical Web server is usually smaller than that. In any case, the total size of frequently requested Web documents is relatively small [M96]. Therefore, all or almost all accessed files can be memory-mapped. High overhead of address translation 5

6 If the operating system organizes memory mappings in a linear array, each access to a mapped page may result in a long search though the array to locate the physical address of the page being accessed. To guarantee low access time, a hash table or a balanced AVL tree is used instead of a simple array. Latest Unices seem to do that [R98]. Alternatively, a Web server can allocate memory space to cache entire files. File caching, as opposed to map caching should be more beneficial for smaller files since it is more efficient to copy than to map them anyway. File caching has also been considered a way to decrease the number of I/Os on a Web server. In section, we show that existing cache policies for Web servers do not decrease but often increase disk I/O traffic. 4. Existing Web Server Benchmarks Currently, there exist three popular Web server benchmarks: ZeusBench, WebStone, and SPECweb96. ZeusBench is a very simple benchmark that continually requests a given file from a Web server and reports the number of requests per second the Web server was able to handle and other statistics. The benchmark also allows to specify the number of concurrent connections to use and whether or not the keep-alive connections should be used. ZeusBench is implemented using asynchronous I/O mechanisms. This makes it very efficient and able to saturate a high-performance Web server using a weaker client. WebStone uses several client processes that can be run on different computers, to make HTTP requests to a Web server. The number of client processes is a parameter. The set of requested files and access probability for each file are also benchmark parameters. The main disadvantage of WebStone is lack of support for keep-alive connections. In addition, the high overhead of running several concurrent processes makes it impossible to benchmark a fast Web server system from a slow client system. SPECweb96 is a standardized benchmark developed by the SPEC committee. This benchmark uses a synthetic workload that was created upon analysis of logs from several 6

7 popular Web sites. Currently, the benchmark does not support keep-alive connections. The concurrency model of SPECweb96 is similar to that used in WebStone. SPECweb96 is the only available benchmark that maintains a fixed rate of HTTP requests. In both ZeusBench and WebStone, a new request can be issued only after a response to the previous request has been received. This is similar to a batch-oriented workload. A fixed request rate in SPECWeb96 makes its workload transaction-like. Neither of these workloads simulate user think time that is essential for terminal workloads. The real Web is both transaction and terminal-like. An unlimited number of users can issue requests simultaneously (like in a pure transaction workload). At the same time, each user request is usually followed by several other requests from the same user. The user think time is a complex function that may depend on the network bandwidth available to the user. For our experiments we used a modified version of ZeusBench. Our benchmark uses a log file from a Web server to generate requests. (The original ZeusBench can request only one file). 5. Experimental environment We performed our experiments on two Sun UltraSparc workstations connected with a OC-3 (155 Mbps) ATM connection via a switch. Each workstation has 128 Mbytes of main memory. One workstation worked as a client generating requests while the other worked as a Web server. We used a two-week trace from the CS department of NDSU Web server for our experiments. We created a dummy Web site on the workstation that acted as a server. That dummy Web site consisted of all the files and directories that occur in the trace. Since the contents of the requested files do not matter, we simply filled dummy files with zeroes. We implemented a simple Web server that can be compiled in two different ways: as a multi-process or multithreaded application. That allowed us to compare the two concurrency models. Our Web server spawns a specified number of concurrent processes 7

8 or threads on start-up. No new processes are started later. This is a certain limitation of our server. It is well known that starting a new process is more expensive than starting a new thread. Figure 3 shows the throughput of our Web server with buffered and cached mapped I/O. A single 8K file was requested in this experiment. As one can see, map caching significantly improves throughput by avoiding many system calls Buffered I/O Mapped I/O Buffered I/O Mapped I/O 1800 Throughput reqs/sec Throughput reqs/sec Concurrency level Concurrency level Figure 3: Server throughput on a 8K file with buffered and cached mapped I/O Figure 4 Server throughput on the NDSU trace with buffered and cached mapped I/O Figure 4 shows the same graph but on a real trace. Again, map caching is a clear winning strategy. Of course, the improvement will not be that high in a real Web server that has a lot of other overhead. 6. Conclusion In this paper, we have shown that mapped I/O provided by UNIX is a an easy way to improve performance of a Web server by avoiding extra data copying. Furthermore, if file mappings are cached, many file manipulation system calls become unnecessary which allows for further performance improvement. We are planning to add our map caching module to Apache, a freeware Web server, to study its cached mapped I/O benefits in a real Web server. 8

9 7. References [A98] Apache Web site: [AW96] M. Arlit and C. Williamson. Web Server Workload Characterization: The Search for Invariants. In Proceeding of SIGMETRICS 96, Philadelphia, ftp://ftp.cs.usask.ca/pub/discus/paper.96-3.ps.z [B98] Boa Web site: [H97] J. Heidemann. Performance Interactions Between P-HTTP and TCP Implementations. ACM Computer Communications Review, 27(2), April [HMS97] J. Hu, S. Mungee, D. Schmidt. Techniques for Developing and Measuring High- Performance Web Servers over ATM Networks. To appear in INFOCOM 98. [M96] E.P. Markatos. Main Memory Caching of Web Documents. In Proc. of 5th Intl WWW Conference, Paris, France, May [N98] Netscape Web site: [N+97] H. Nielsen, et al. Network Performance Effects of HTTP/1.0, CSS1, and PNG. WWW Consortium, [R98] D. Rusling. The Linux Kernel. [SS96] A. Schechter, J. Sutaria. A Study of Context Switching and Caching on HTTP Server Performance. Harvard University, [T98] thttpd Web Site: [Z98] Zeus Web site: [ZB96] ZeusBench 1.0, written by Adam Twiss. Available at 9

Web Server Software Architectures

Web Server Software Architectures Web Server Software Architectures Author: Daniel A. Menascé Presenter: Noshaba Bakht Web Site performance and scalability 1.workload characteristics. 2.security mechanisms. 3. Web cluster architectures.

More information

Web Server Architectures

Web Server Architectures Web Server Architectures CS 4244: Internet Programming Dr. Eli Tilevich Based on Flash: An Efficient and Portable Web Server, Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel, 1999 Annual Usenix Technical

More information

On Benchmarking Popular File Systems

On Benchmarking Popular File Systems On Benchmarking Popular File Systems Matti Vanninen James Z. Wang Department of Computer Science Clemson University, Clemson, SC 2963 Emails: {mvannin, jzwang}@cs.clemson.edu Abstract In recent years,

More information

File System Implementation II

File System Implementation II Introduction to Operating Systems File System Implementation II Performance, Recovery, Network File System John Franco Electrical Engineering and Computing Systems University of Cincinnati Review Block

More information

Benchmarking Cassandra on Violin

Benchmarking Cassandra on Violin Technical White Paper Report Technical Report Benchmarking Cassandra on Violin Accelerating Cassandra Performance and Reducing Read Latency With Violin Memory Flash-based Storage Arrays Version 1.0 Abstract

More information

Web Servers Outline. Chris Chin, Gregory Seidman, Denise Tso. March 19, 2001

Web Servers Outline. Chris Chin, Gregory Seidman, Denise Tso. March 19, 2001 Web Servers Outline Chris Chin, Gregory Seidman, Denise Tso March 19, 2001 I. Introduction A. What is a web server? 1. is it anything that can be retrieved with an URL? 2. (web service architecture diagram)

More information

PRODUCTIVITY ESTIMATION OF UNIX OPERATING SYSTEM

PRODUCTIVITY ESTIMATION OF UNIX OPERATING SYSTEM Computer Modelling & New Technologies, 2002, Volume 6, No.1, 62-68 Transport and Telecommunication Institute, Lomonosov Str.1, Riga, LV-1019, Latvia STATISTICS AND RELIABILITY PRODUCTIVITY ESTIMATION OF

More information

Overlapping Data Transfer With Application Execution on Clusters

Overlapping Data Transfer With Application Execution on Clusters Overlapping Data Transfer With Application Execution on Clusters Karen L. Reid and Michael Stumm reid@cs.toronto.edu stumm@eecg.toronto.edu Department of Computer Science Department of Electrical and Computer

More information

Rackspace Cloud Databases and Container-based Virtualization

Rackspace Cloud Databases and Container-based Virtualization Rackspace Cloud Databases and Container-based Virtualization August 2012 J.R. Arredondo @jrarredondo Page 1 of 6 INTRODUCTION When Rackspace set out to build the Cloud Databases product, we asked many

More information

PERFORMANCE ANALYSIS OF WEB SERVERS Apache and Microsoft IIS

PERFORMANCE ANALYSIS OF WEB SERVERS Apache and Microsoft IIS PERFORMANCE ANALYSIS OF WEB SERVERS Apache and Microsoft IIS Andrew J. Kornecki, Nick Brixius Embry Riddle Aeronautical University, Daytona Beach, FL 32114 Email: kornecka@erau.edu, brixiusn@erau.edu Ozeas

More information

VMWARE WHITE PAPER 1

VMWARE WHITE PAPER 1 1 VMWARE WHITE PAPER Introduction This paper outlines the considerations that affect network throughput. The paper examines the applications deployed on top of a virtual infrastructure and discusses the

More information

Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition

Chapter 11: File System Implementation. Operating System Concepts with Java 8 th Edition Chapter 11: File System Implementation 11.1 Silberschatz, Galvin and Gagne 2009 Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture CSE 544 Principles of Database Management Systems Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture References Anatomy of a database system. J. Hellerstein and M. Stonebraker. In Red Book (4th

More information

Enterprise Applications

Enterprise Applications Enterprise Applications Chi Ho Yue Sorav Bansal Shivnath Babu Amin Firoozshahian EE392C Emerging Applications Study Spring 2003 Functionality Online Transaction Processing (OLTP) Users/apps interacting

More information

Fibre Channel. Optimizing Data Storage Performance for Fibre Channel Networks. Technology White Paper

Fibre Channel. Optimizing Data Storage Performance for Fibre Channel Networks. Technology White Paper Technology White Paper Fibre Channel Optimizing Data Storage Performance for Fibre Channel Networks Abstract Many high-speed, real-time systems acquire data from specialized sensors and then store that

More information

The performance limit of HTTP-servers

The performance limit of HTTP-servers The performance limit of HTTP-servers Beat Christen 1 Abstract Web-servers have become an integral part of today's information technology infrastructure, as engineers have started to recognise HTTP as

More information

Performance And Scalability In Oracle9i And SQL Server 2000

Performance And Scalability In Oracle9i And SQL Server 2000 Performance And Scalability In Oracle9i And SQL Server 2000 Presented By : Phathisile Sibanda Supervisor : John Ebden 1 Presentation Overview Project Objectives Motivation -Why performance & Scalability

More information

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications ECE6102 Dependable Distribute Systems, Fall2010 EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications Deepal Jayasinghe, Hyojun Kim, Mohammad M. Hossain, Ali Payani

More information

PARALLELS CLOUD STORAGE

PARALLELS CLOUD STORAGE PARALLELS CLOUD STORAGE Performance Benchmark Results 1 Table of Contents Executive Summary... Error! Bookmark not defined. Architecture Overview... 3 Key Features... 5 No Special Hardware Requirements...

More information

TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance

TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance TCP Servers: Offloading TCP Processing in Internet Servers. Design, Implementation, and Performance M. Rangarajan, A. Bohra, K. Banerjee, E.V. Carrera, R. Bianchini, L. Iftode, W. Zwaenepoel. Presented

More information

Network Attached Storage. Jinfeng Yang Oct/19/2015

Network Attached Storage. Jinfeng Yang Oct/19/2015 Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability

More information

Cloud Storage. Parallels. Performance Benchmark Results. White Paper. www.parallels.com

Cloud Storage. Parallels. Performance Benchmark Results. White Paper. www.parallels.com Parallels Cloud Storage White Paper Performance Benchmark Results www.parallels.com Table of Contents Executive Summary... 3 Architecture Overview... 3 Key Features... 4 No Special Hardware Requirements...

More information

Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003

Oracle9i Release 2 Database Architecture on Windows. An Oracle Technical White Paper April 2003 Oracle9i Release 2 Database Architecture on Windows An Oracle Technical White Paper April 2003 Oracle9i Release 2 Database Architecture on Windows Executive Overview... 3 Introduction... 3 Oracle9i Release

More information

Question: 3 When using Application Intelligence, Server Time may be defined as.

Question: 3 When using Application Intelligence, Server Time may be defined as. 1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response

More information

MAGENTO HOSTING Progressive Server Performance Improvements

MAGENTO HOSTING Progressive Server Performance Improvements MAGENTO HOSTING Progressive Server Performance Improvements Simple Helix, LLC 4092 Memorial Parkway Ste 202 Huntsville, AL 35802 sales@simplehelix.com 1.866.963.0424 www.simplehelix.com 2 Table of Contents

More information

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers

A Comparative Study on Vega-HTTP & Popular Open-source Web-servers A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...

More information

Performance and scalability of a large OLTP workload

Performance and scalability of a large OLTP workload Performance and scalability of a large OLTP workload ii Performance and scalability of a large OLTP workload Contents Performance and scalability of a large OLTP workload with DB2 9 for System z on Linux..............

More information

Eliminating the I/O Bottleneck in Large Web Caches

Eliminating the I/O Bottleneck in Large Web Caches Eliminating the I/O Bottleneck in Large Web Caches Alex Rousskov and Valery Soloviev Computer Science Department North Dakota State University Fargo, ND 58105-5164 frousskov,solovievg@plains.nodak.edu

More information

Thread level parallelism

Thread level parallelism Thread level parallelism ILP is used in straight line code or loops Cache miss (off-chip cache and main memory) is unlikely to be hidden using ILP. Thread level parallelism is used instead. Thread: process

More information

Lessons Learned Tuning HP's SMB Server with the FSCT Benchmark

Lessons Learned Tuning HP's SMB Server with the FSCT Benchmark Lessons Learned Tuning HP's SMB Server with the FSCT Benchmark Bret McKee Hewlett-Packard bret.mckee@hp.com Vinod Eswaraprasad Wipro Technologies vinod.eswaraprasad@hp.com Disclaimers There are many people

More information

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18

PROCESS VIRTUAL MEMORY. CS124 Operating Systems Winter , Lecture 18 PROCESS VIRTUAL MEMORY CS124 Operating Systems Winter 2013-2014, Lecture 18 2 Programs and Memory Programs perform many interactions with memory Accessing variables stored at specific memory locations

More information

Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges. William Adams SAP AG

Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges. William Adams SAP AG Running SAP Solutions in the Cloud How to Handle Sizing and Performance Challenges William Adams SAP AG Agenda What Types of Cloud Environments we are talking about Private Public Critical Performance

More information

CHAPTER 15: Operating Systems: An Overview

CHAPTER 15: Operating Systems: An Overview CHAPTER 15: Operating Systems: An Overview The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint

More information

Comparison of Web Server Architectures: a Measurement Study

Comparison of Web Server Architectures: a Measurement Study Comparison of Web Server Architectures: a Measurement Study Enrico Gregori, IIT-CNR, enrico.gregori@iit.cnr.it Joint work with Marina Buzzi, Marco Conti and Davide Pagnin Workshop Qualità del Servizio

More information

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A

More information

CHAPTER 9 Exercises 9.1 Answer: 9.2 Ready Running Blocked Answer: 9.3

CHAPTER 9 Exercises 9.1 Answer: 9.2 Ready Running Blocked Answer: 9.3 CHAPTER 9 Virtual memory can be a very interesting subject since it has so many different aspects: page faults, managing the backing store, page replacement, frame allocation, thrashing, page size. The

More information

A Performance Analysis of Secure HTTP Protocol

A Performance Analysis of Secure HTTP Protocol A Performance Analysis of Secure Protocol Xubin He, Member, IEEE Department of Electrical and Computer Engineering Tennessee Technological University Cookeville, TN 3855, U.S.A hexb@tntech.edu Abstract

More information

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Kurt Klemperer, Principal System Performance Engineer kklemperer@blackboard.com Agenda Session Length:

More information

Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers

Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers Analysis of Delivery of Web Contents for Kernel-mode and User-mode Web Servers Syed Mutahar Aaqib Research Scholar Department of Computer Science & IT IT University of Jammu Lalitsen Sharma Associate Professor

More information

Tomcat Tuning. Mark Thomas April 2009

Tomcat Tuning. Mark Thomas April 2009 Tomcat Tuning Mark Thomas April 2009 Who am I? Apache Tomcat committer Resolved 1,500+ Tomcat bugs Apache Tomcat PMC member Member of the Apache Software Foundation Member of the ASF security committee

More information

MS SQL Performance (Tuning) Best Practices:

MS SQL Performance (Tuning) Best Practices: MS SQL Performance (Tuning) Best Practices: 1. Don t share the SQL server hardware with other services If other workloads are running on the same server where SQL Server is running, memory and other hardware

More information

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM? Ashutosh Shinde Performance Architect ashutosh_shinde@hotmail.com Validating if the workload generated by the load generating tools is applied

More information

The Mainframe Virtualization Advantage: How to Save Over Million Dollars Using an IBM System z as a Linux Cloud Server

The Mainframe Virtualization Advantage: How to Save Over Million Dollars Using an IBM System z as a Linux Cloud Server Research Report The Mainframe Virtualization Advantage: How to Save Over Million Dollars Using an IBM System z as a Linux Cloud Server Executive Summary Information technology (IT) executives should be

More information

Distributed applications monitoring at system and network level

Distributed applications monitoring at system and network level Distributed applications monitoring at system and network level Monarc Collaboration 1 Abstract Most of the distributed applications are presently based on architectural models that don t involve real-time

More information

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview:

Performance Counters. Microsoft SQL. Technical Data Sheet. Overview: Performance Counters Technical Data Sheet Microsoft SQL Overview: Key Features and Benefits: Key Definitions: Performance counters are used by the Operations Management Architecture (OMA) to collect data

More information

Chapter 6, The Operating System Machine Level

Chapter 6, The Operating System Machine Level Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General

More information

AIX NFS Client Performance Improvements for Databases on NAS

AIX NFS Client Performance Improvements for Databases on NAS AIX NFS Client Performance Improvements for Databases on NAS October 20, 2005 Sanjay Gulabani Sr. Performance Engineer Network Appliance, Inc. gulabani@netapp.com Diane Flemming Advisory Software Engineer

More information

Principles for Developing and Measuring High-performance Web Servers over ATM

Principles for Developing and Measuring High-performance Web Servers over ATM Principles for Developing and Measuring High-performance Web Servers over ATM James C. Hu 1, Sumedh Mungee, Douglas C. Schmidt fjxh,sumedh,schmidtg@cs.wustl.edu Department of Computer Science, Washington

More information

COS 318: Operating Systems. Snapshot and NFS

COS 318: Operating Systems. Snapshot and NFS COS 318: Operating Systems Snapshot and NFS Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Topics Revisit Transactions and Logging

More information

Exploratory Efforts to Manage Power-Aware Memories using Software Generated Hints

Exploratory Efforts to Manage Power-Aware Memories using Software Generated Hints 1 Exploratory Efforts to Manage Power-Aware Memories using Software Generated Hints Mohammad Hammoud and Rami Melhem Department of Computer Science University of Pittsburgh Abstract This report presents

More information

Cloud Operating Systems for Servers

Cloud Operating Systems for Servers Cloud Operating Systems for Servers Mike Day Distinguished Engineer, Virtualization and Linux August 20, 2014 mdday@us.ibm.com 1 What Makes a Good Cloud Operating System?! Consumes Few Resources! Fast

More information

An Adaptable Benchmark for MPFS Performance Testing

An Adaptable Benchmark for MPFS Performance Testing An Adaptable Benchmark for MPFS Performance Testing Yubing Wang EMC Corporation Hopkinton, MA 01748, USA wang_yubing@emc.com Mark Claypool Computer Science Department Worcester Polytechnic Institute 100

More information

Chapter 3 Operating-System Structures

Chapter 3 Operating-System Structures Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual

More information

Modeling and Simulation Analysis of the Performance of Application-Level Communication between Distributed Objects

Modeling and Simulation Analysis of the Performance of Application-Level Communication between Distributed Objects Modeling and Simulation Analysis of the Performance of -Level Communication between Distributed Objects Hiroshi Yamada Abstract--Almost all business es among enterprise activities use information technology

More information

Intel DPDK Boosts Server Appliance Performance White Paper

Intel DPDK Boosts Server Appliance Performance White Paper Intel DPDK Boosts Server Appliance Performance Intel DPDK Boosts Server Appliance Performance Introduction As network speeds increase to 40G and above, both in the enterprise and data center, the bottlenecks

More information

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Client/Server Computing Distributed Processing, Client/Server, and Clusters Client/Server Computing Distributed Processing, Client/Server, and Clusters Chapter 13 Client machines are generally single-user PCs or workstations that provide a highly userfriendly interface to the

More information

A comparison of TCP and SCTP performance using the HTTP protocol

A comparison of TCP and SCTP performance using the HTTP protocol A comparison of TCP and SCTP performance using the HTTP protocol Henrik Österdahl (henost@kth.se), 800606-0290, D-01 Abstract This paper discusses using HTTP over SCTP as an alternative to the traditional

More information

1 Storage Devices Summary

1 Storage Devices Summary Chapter 1 Storage Devices Summary Dependability is vital Suitable measures Latency how long to the first bit arrives Bandwidth/throughput how fast does stuff come through after the latency period Obvious

More information

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck Sockets vs. RDMA Interface over 1-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck Pavan Balaji Hemal V. Shah D. K. Panda Network Based Computing Lab Computer Science and Engineering

More information

OPERATING SYSTEMS (OPS)

OPERATING SYSTEMS (OPS) Computing Curricula - Computer Engineering Body of Knowledge 1 OPERATING SYSTEMS (OPS) OPS0. History and overview of operating systems [core] OPS1. Operating system function and design [core] OPS2. Operating

More information

Optimization of Cluster Web Server Scheduling from Site Access Statistics

Optimization of Cluster Web Server Scheduling from Site Access Statistics Optimization of Cluster Web Server Scheduling from Site Access Statistics Nartpong Ampornaramveth, Surasak Sanguanpong Faculty of Computer Engineering, Kasetsart University, Bangkhen Bangkok, Thailand

More information

Best Practices Guide. Sendmail Servers: Scaling Performance through Solid State File Caching. March 2000

Best Practices Guide. Sendmail Servers: Scaling Performance through Solid State File Caching. March 2000 Best Practices Guide Sendmail Servers: Scaling Performance through Solid State File Caching March 2000 Solid Data Systems, Inc. K 2945 Oakmead Village Court K Santa Clara, CA 95051 K Tel +1.408.845.5700

More information

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC

(Advanced Topics in) Operating Systems Winter Term 2009 / 2010. Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC (Advanced Topics in) Operating Systems Winter Term 2009 / 2010 Jun.-Prof. Dr.-Ing. André Brinkmann brinkman@upb.de Universität Paderborn PC 1 Overview Overview of chapter 3: Case Studies 3.1 Windows Architecture.....3

More information

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers

Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers WHITE PAPER FUJITSU PRIMERGY AND PRIMEPOWER SERVERS Performance Comparison of Fujitsu PRIMERGY and PRIMEPOWER Servers CHALLENGE Replace a Fujitsu PRIMEPOWER 2500 partition with a lower cost solution that

More information

SharePoint Performance Optimization

SharePoint Performance Optimization White Paper AX Series SharePoint Performance Optimization September 2011 WP_SharePoint_091511.1 TABLE OF CONTENTS 1 Introduction... 2 2 Executive Overview... 2 3 SSL Offload... 4 4 Connection Reuse...

More information

Predicting the QoS of an Electronic Commerce Server: Those Mean Percentiles

Predicting the QoS of an Electronic Commerce Server: Those Mean Percentiles Predicting the QoS of an Electronic Commerce Server: Those Mean Percentiles Diwakar Krishnamurthy and Jerome Rolia Systems and Computer Engineering, Carleton University, Ottawa, Canada, K1S 5B6 {diwa,jar}@sce.carleton.ca

More information

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence Web Development Owen Sacco ICS2205/ICS2230 Web Intelligence 2. Web Servers Introduction Web content lives on Web servers Web servers speak the platform independent HyperText Transfer Protocol (HTTP) (so

More information

Configuring Apache Derby for Performance and Durability Olav Sandstå

Configuring Apache Derby for Performance and Durability Olav Sandstå Configuring Apache Derby for Performance and Durability Olav Sandstå Database Technology Group Sun Microsystems Trondheim, Norway Overview Background > Transactions, Failure Classes, Derby Architecture

More information

D1.2 Network Load Balancing

D1.2 Network Load Balancing D1. Network Load Balancing Ronald van der Pol, Freek Dijkstra, Igor Idziejczak, and Mark Meijerink SARA Computing and Networking Services, Science Park 11, 9 XG Amsterdam, The Netherlands June ronald.vanderpol@sara.nl,freek.dijkstra@sara.nl,

More information

An Alternative Storage Solution for MapReduce. Eric Lomascolo Director, Solutions Marketing

An Alternative Storage Solution for MapReduce. Eric Lomascolo Director, Solutions Marketing An Alternative Storage Solution for MapReduce Eric Lomascolo Director, Solutions Marketing MapReduce Breaks the Problem Down Data Analysis Distributes processing work (Map) across compute nodes and accumulates

More information

File System Suite of Benchmarks

File System Suite of Benchmarks File System Suite of Benchmarks John Corbin President EP Network Storage Performance Lab jcorbin@nsplab.com Page 1 of Overview File System Benchmark Types File System Suite of Benchmarks NFS Client Benchmark

More information

Apache Derby Performance. Olav Sandstå, Dyre Tjeldvoll, Knut Anders Hatlen Database Technology Group Sun Microsystems

Apache Derby Performance. Olav Sandstå, Dyre Tjeldvoll, Knut Anders Hatlen Database Technology Group Sun Microsystems Apache Derby Performance Olav Sandstå, Dyre Tjeldvoll, Knut Anders Hatlen Database Technology Group Sun Microsystems Overview Derby Architecture Performance Evaluation of Derby Performance Tips Comparing

More information

Accelerating Rails with

Accelerating Rails with Accelerating Rails with lighty Jan Kneschke jan@kneschke.de RailsConf 2006 Chicago, IL, USA Who is that guy? Jan Kneschke Main developer of lighty Works at MySQL AB Lives in Kiel, Germany Had to choose

More information

Lecture 3: Evaluating Computer Architectures. Software & Hardware: The Virtuous Cycle?

Lecture 3: Evaluating Computer Architectures. Software & Hardware: The Virtuous Cycle? Lecture 3: Evaluating Computer Architectures Announcements - Reminder: Homework 1 due Thursday 2/2 Last Time technology back ground Computer elements Circuits and timing Virtuous cycle of the past and

More information

Eloquence Training What s new in Eloquence B.08.00

Eloquence Training What s new in Eloquence B.08.00 Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium

More information

Data Striping. data blocks. disk controller one I/O stream. disk controller. Gustavo Alonso. IKS. ETH Zürich Low level caching 1

Data Striping. data blocks. disk controller one I/O stream. disk controller. Gustavo Alonso. IKS. ETH Zürich Low level caching 1 Data Striping The idea behind data striping is to distribute data among several disks so that it can be accessed in parallel Data striping takes place at a low system level (it is not user driven) and

More information

Chapter 1: Introduction. What is an Operating System?

Chapter 1: Introduction. What is an Operating System? Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

Introduction to e-commerce. Objectives

Introduction to e-commerce. Objectives Introduction to e-commerce Web Server Hardware and Software Objectives In this chapter, you will learn about: Web server basics Software for Web servers E-mail management and spam control issues Internet

More information

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB

Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Highly Available Mobile Services Infrastructure Using Oracle Berkeley DB Executive Summary Oracle Berkeley DB is used in a wide variety of carrier-grade mobile infrastructure systems. Berkeley DB provides

More information

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998 Oracle Applications Release 10.7 NCA Network Performance for the Enterprise An Oracle White Paper January 1998 INTRODUCTION Oracle has quickly integrated web technologies into business applications, becoming

More information

A STUDY OF WORKLOAD CHARACTERIZATION IN WEB BENCHMARKING TOOLS FOR WEB SERVER CLUSTERS

A STUDY OF WORKLOAD CHARACTERIZATION IN WEB BENCHMARKING TOOLS FOR WEB SERVER CLUSTERS 382 A STUDY OF WORKLOAD CHARACTERIZATION IN WEB BENCHMARKING TOOLS FOR WEB SERVER CLUSTERS Syed Mutahar Aaqib 1, Lalitsen Sharma 2 1 Research Scholar, 2 Associate Professor University of Jammu, India Abstract:

More information

CS 147: Computer Systems Performance Analysis

CS 147: Computer Systems Performance Analysis CS 147: Computer Systems Performance Analysis CS 147: Computer Systems Performance Analysis 1 / 39 Overview Overview Overview What is a Workload? Instruction Workloads Synthetic Workloads Exercisers and

More information

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7 Introduction 1 Performance on Hosted Server 1 Figure 1: Real World Performance 1 Benchmarks 2 System configuration used for benchmarks 2 Figure 2a: New tickets per minute on E5440 processors 3 Figure 2b:

More information

Client/Server and Distributed Computing

Client/Server and Distributed Computing Adapted from:operating Systems: Internals and Design Principles, 6/E William Stallings CS571 Fall 2010 Client/Server and Distributed Computing Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Traditional

More information

4D and Oracle: Powerful Flexibility

4D and Oracle: Powerful Flexibility 4D and Oracle: Powerful Flexibility OVERVIEW Oracle has become a very pervasive product throughout corporate America. It is an extremely strong tool for managing large volumes of data in a high-transaction

More information

Lesson 7 - Website Administration

Lesson 7 - Website Administration Lesson 7 - Website Administration If you are hired as a web designer, your client will most likely expect you do more than just create their website. They will expect you to also know how to get their

More information

Techniques for Developing and Measuring High Performance Web Servers over High Speed Networks

Techniques for Developing and Measuring High Performance Web Servers over High Speed Networks Techniques for Developing and Measuring High Performance Web Servers over High Speed Networks James C. Hu y, Sumedh Mungee, Douglas C. Schmidt fjxh,sumedh,schmidtg@cs.wustl.edu TEL: (314) 935-42 FAX: (314)

More information

Performance Issues of a Web Database

Performance Issues of a Web Database Performance Issues of a Web Database Yi Li, Kevin Lü School of Computing, Information Systems and Mathematics South Bank University 103 Borough Road, London SE1 0AA {liy, lukj}@sbu.ac.uk Abstract. Web

More information

Code and Process Migration! Motivation!

Code and Process Migration! Motivation! Code and Process Migration! Motivation How does migration occur? Resource migration Agent-based system Details of process migration Lecture 6, page 1 Motivation! Key reasons: performance and flexibility

More information

Drupal Performance Tuning

Drupal Performance Tuning Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web

More information

Optional custom API wrapper. C/C++ program. M program

Optional custom API wrapper. C/C++ program. M program GT.M GT.M includes a robust, high performance, multi-paradigm, open-architecture database. Relational, object-oriented and hierarchical conceptual models can be simultaneously applied to the same data

More information

Muse Server Sizing. 18 June 2012. Document Version 0.0.1.9 Muse 2.7.0.0

Muse Server Sizing. 18 June 2012. Document Version 0.0.1.9 Muse 2.7.0.0 Muse Server Sizing 18 June 2012 Document Version 0.0.1.9 Muse 2.7.0.0 Notice No part of this publication may be reproduced stored in a retrieval system, or transmitted, in any form or by any means, without

More information

4D and SQL Server: Powerful Flexibility

4D and SQL Server: Powerful Flexibility 4D and SQL Server: Powerful Flexibility OVERVIEW MS SQL Server has become a standard in many parts of corporate America. It can manage large volumes of data and integrates well with other products from

More information

Measuring the Impact of Event Dispatching and Concurrency Models on Web Server Performance Over High-speed Networks

Measuring the Impact of Event Dispatching and Concurrency Models on Web Server Performance Over High-speed Networks Measuring the Impact of Event Dispatching and Concurrency Models on Web Server Performance Over High-speed Networks James C. Hu æ, Irfan Pyarali y, Douglas C. Schmidt fjxh,irfan,schmidtg@cs.wustl.edu Department

More information

CS533 Modeling and Performance Evaluation of Network and Computer Systems

CS533 Modeling and Performance Evaluation of Network and Computer Systems Let s Get Started! CS533 Modeling and Performance Evaluation of Network and Computer Systems Introduction (Chapters 1 and 2) Describe a performance study you have done Work or School or Describe a performance

More information

A distributed system is defined as

A distributed system is defined as A distributed system is defined as A collection of independent computers that appears to its users as a single coherent system CS550: Advanced Operating Systems 2 Resource sharing Openness Concurrency

More information

CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY

CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY 51 CHAPTER 3 PROBLEM STATEMENT AND RESEARCH METHODOLOGY Web application operations are a crucial aspect of most organizational operations. Among them business continuity is one of the main concerns. Companies

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Paul Krzyzanowski Rutgers University October 28, 2012 1 Introduction The classic network file systems we examined, NFS, CIFS, AFS, Coda, were designed as client-server applications.

More information

Binonymizer A Two-Way Web-Browsing Anonymizer

Binonymizer A Two-Way Web-Browsing Anonymizer Binonymizer A Two-Way Web-Browsing Anonymizer Tim Wellhausen Gerrit Imsieke (Tim.Wellhausen, Gerrit.Imsieke)@GfM-AG.de 12 August 1999 Abstract This paper presents a method that enables Web users to surf

More information