Performance of Web Applications 1. 1. Introduction One of the success-critical quality characteristics of Web applications is system performance. What.

Slides:



Advertisements
Similar presentations
Performance Testing - Kanwalpreet Singh.
Advertisements

Welcome to Middleware Joseph Amrithraj
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Adapted from Menascé & Almeida.1 Workload Characterization for the Web.
Copyright 2004 Monash University IMS5401 Web-based Systems Development Topic 2: Elements of the Web (g) Interactivity.
1 Caching in HTTP Representation and Management of Data on the Internet.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Servlets and a little bit of Web Services Russell Beale.
1 Web Performance Modeling Chapter New Phenomena in the Internet and WWW Self-similarity - a self-similar process looks bursty across several time.
Improving Proxy Cache Performance: Analysis of Three Replacement Policies Dilley, J.; Arlitt, M. A journal paper of IEEE Internet Computing, Volume: 3.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
Measuring Performance Chapter 12 CSE807. Performance Measurement To assist in guaranteeing Service Level Agreements For capacity planning For troubleshooting.
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool Presented by: David Finkel Computer Science Department Worcester.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
Capacity planning for web sites. Promoting a web site Thoughts on increasing web site traffic but… Two possible scenarios…
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
1 ENHANCHING THE WEB’S INFRASTUCTURE: FROM CACHING TO REPLICATION ECE 7995 Presented By: Pooja Swami and Usha Parashetti.
Proxy Servers Dr. Ronald Bergmann, CIO, ISO. Proxy servers A proxy server is a machine which acts as an intermediary between the computers of a local.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Chapter Ten Performance Tuning. Objectives Create a performance baseline Create a performance baseline Understand the performance and monitoring tools.
Understanding and Managing WebSphere V5
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
Using Standard Industry Benchmarks Chapter 7 CSE807.
Client/Server Architectures
On the Use and Performance of Content Distribution Networks Balachander Krishnamurthy Craig Wills Yin Zhang Presenter: Wei Zhang CSE Department of Lehigh.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
Introduction to Discrete Event Simulation Customer population Service system Served customers Waiting line Priority rule Service facilities Figure C.1.
AN INTRODUCTION TO THE OPERATIONAL ANALYSIS OF QUEUING NETWORK MODELS Peter J. Denning, Jeffrey P. Buzen, The Operational Analysis of Queueing Network.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Performance Concepts Mark A. Magumba. Introduction Research done on 1058 correspondents in 2006 found that 75% OF them would not return to a website that.
© Pearson Education Limited, Chapter 16 Physical Database Design – Step 7 (Monitor and Tune the Operational System) Transparencies.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
Database-Driven Web Sites, Second Edition1 Chapter 5 WEB SERVERS.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.
Event Management & ITIL V3
CHAPTER 3 PLANNING INTERNET CONNECTIVITY. D ETERMINING INTERNET CONNECTIVITY REQUIREMENTS Factors to be considered in internet access strategy: Sufficient.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
1 Network Monitoring Mi-Jung Choi Dept. of Computer Science KNU
10/19/2015Erkay Savas1 Performance Computer Architecture – CS401 Erkay Savas Sabanci University.
Computer Emergency Notification System (CENS)
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
Kiew-Hong Chua a.k.a Francis Computer Network Presentation 12/5/00.
ICOM 6115: Computer Systems Performance Measurement and Evaluation August 11, 2006.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Business Data Communications, Fourth Edition Chapter 11: Network Management.
1 CS/COE0447 Computer Organization & Assembly Language CHAPTER 4 Assessing and Understanding Performance.
Ó 1998 Menascé & Almeida. All Rights Reserved.1 Part V Workload Characterization for the Web.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
1 Part VII Component-level Performance Models for the Web © 1998 Menascé & Almeida. All Rights Reserved.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
OPERATING SYSTEMS CS 3502 Fall 2017
Abhinav Kamra, Vishal Misra CS Department Columbia University
Processes The most important processes used in Web-based systems and their internal organization.
Whether you decide to use hidden frames or XMLHttp, there are several things you'll need to consider when building an Ajax application. Expanding the role.
Presentation transcript:

Performance of Web Applications 1

1. Introduction One of the success-critical quality characteristics of Web applications is system performance. What users primarily perceive is the time that elapses between sending a request and receiving an answer. For e-commerce Web sites it could result in losing potential customers 2

2. What Is Performance? response time (R), – time between sending a request to the system and receiving an answer from that system throughput (X), – how many requests can be served per time unit Utilization (U) – percentage in which the system was busy. 3

3. What Characterizes the Performance of Web Applications? traditional” desktop applications: – time remaining (e.g., progress bar) Unfortunately, this transparency is not available for most Web applications – impact of poor performance is painfully perceived Users cannot perceive an obvious difference – static HTTP page, and clicking a link that triggers the – dynamic creation of a page, – but the response times can be very different No way to guarantee the quality of a service they can’t guarantee sufficient bandwidth all the way to the client It is, therefore, important not only to test Web applications on different platforms, but also to run performance tests over several network connections and client types 4

4. System Definition and Indicators When analyzing Web applications: – Web applications themselves, – the Web servers and application servers (hardware and software) to be used, – the network connections between servers, – network connections between clients and servers, – and the clients themselves 5

5. Characterizing the Workload Workload model, we have to consider two dimensions: 1.executability of the workload 2.restriction to actual workload or artificial workload Synthetic workload – requests identical to those occurring in the real world single-class workload model multi-class workload model non-executable workload models 6

6. Analytical Techniques analytical techniques are well suited for an initial estimate of a Web application’s performance in the early development phas Operational Analysis Queuing Networks and Simulation Models Measuring Approaches 7

6.1 Operational Analysis An operational analysis takes some basic measurable (operational) quantities: – primarily the number of completed requests (C) – Defined observation period(T ) throughput of station k is X = Ck /T – Example: Let’s look at a Web server consisting of one CPU and two disks. The system has been observed by measurements for an hour. A total of 7200 requests has been completed during this period X = C/T = 7200/3600 requests per second = 2 requests per second Little’s Law (Little 1961) defines a relationship between – response time, – throughput, and the – number of requests in the system (N ) If a request spends R time units on average in the system, and if X requests per time unit are completed on average, then an average of N = R ∗ X requests must be spending time in the system. – Example: Let’s assume that the mean response time of all 7200 requests found to be 0.9 seconds. N = R ∗ X = 0.9 ∗ 2 = 1.8 requests spent time in the Web server during the observation period. 8

6.2 Queuing Networks and Simulation Models modeling technique for all systems characterized by a set of components that send requests (called sources), and a set of components that process requests waiting time - Wi and with service time - si 9

6.3 Measuring Approaches use timers to measure the time at welldefined system points use counters to count the occurrence of certain events Using measuring software, hardware Load generators generate synthetic or artificial workload, allowing the analyst to study the system behavior benchmark is an artificial workload model that serves to compare systems One example is the SpecWeb benchmark (see ) 10

7 Representing and Interpreting Results The last step the representation and interpretation of the results. 11

8 Performance Optimization Methods targeted at shortening response times these goals can be achieved only provided we identify and remove the bottleneck in a system bottleneck can basically be removed by reducing the load on the bottleneck component – (e.g., reducing the transmitted file sizes to remove load from the network) increasing the performance of the component itself – (e.g., increasing the bandwidth of the network connection) Once we have removed the primary bottleneck, we typically observe that another component will become a bottleneck; Optimal performanced system is a balanced system whose all components are (approximately) requires equal performance 12

8.1 Acceleration Within a Web Application This class includes by definition all methods that aim at shortening the execution time of the application on the server 13

Load Balancing Between Client and Server we have to decide how much of the application logic should be processed at the client and how much at the server. For example, checking data input in forms could be done at the client. These controls are relevant both for security reasons and performance reasons. 14

Embedding Server-side Applications Web servers offer a CGI (Common Gateway Interface) that can be used to forward HTTP requests to other programs in the server for further processing. From the performance perspective, we could investigate alternative embedding possibilities, e.g., by using servlets (see also Chapter 6). 15

Pre-generating Web Content The dynamic generation of pages based on information from other applications (typically databases) is a: – computing-intensive – time-consuming process. Thus pre-generate popular pages and then make them available as static pages 16

Adapting an HTTP Response to the Client’s Capabilities when embedding multimedia contents, we should take the capabilities of clients into account to ensure, for instance, that both the server and the network won’t get overloaded by transmitting large data sets, which wouldn’t be displayed correctly in the client anyway 17

8.2 Reducing Transmission Time Web Caching and Content Pre-fetching Web Server Replication and Load Balancing 18

Web Caching and Content Pre- fetching Web browsers store frequently requested pages on the hard disk When the client visits page again, it fetches from its cache continuation of this concept are Web proxy servers – they serve replies to client requests from their cache rather than from the server. Web content pre-fetching based on the same idea, but it additionally tries to predict the pages a user will access next A well known and commonly used caching tool is for example SQUID ( Drawback A poorly configured proxy or cache server can even cause response times to increase. 19

Web Server Replication and Load Balancing redirects it to a replicate of that server so-called mirror sites - alternative servers drawback is that users normally don’t know what server offers the best performance implicit mirroring lets users access one URL of a server, request is internally forwarded to a replicate server Surrogate servers – reply to the request from its cache, and accesses the original Web server in the event of a cache miss 20

8.3 Server Tuning Is aimed at improving the execution platform of a Web application 1.Hardware upgrades – main memory expansion, – CPU acceleration, – Faster disks 2.Optimized settings in the Web server: – – pers/tuningiis.asp 21