Chico CSCI 693 - Self Adapting Web Servers Based on Hosted Applications (17 pages)

Previewing pages 1, 2, 3, 4, 5, 6 of 17 page document View the full content.
View Full Document

Self Adapting Web Servers Based on Hosted Applications



Previewing pages 1, 2, 3, 4, 5, 6 of actual document.

View the full content.
View Full Document
View Full Document

Self Adapting Web Servers Based on Hosted Applications

54 views


Pages:
17
School:
California State University, Chico
Course:
Csci 693 - Research Methods in Computer Science
Unformatted text preview:

Final Paper ALSAEED Hussain 1 Self Adapting Web Servers Based on Hosted Applications By Hussain Alsaeed H Alsaeed MS candidate in computer science at California State University Chico CA 959290410 USA e mail halsaeed csuchico edu 16 12 2009 Abstract The Internet becomes an integral part of our lives By using web application available through the Internet we are able to do things easily with less time and effort than before This research intends to look into the reliability of a server which hosts web applications The proposed solution works in integrating both an admission control mechanism with the system s resources management The admission control mechanism has been used to control the acceptance of incoming requests to the server at the same time the resources management technique has been used to focus in the CPU adaptation during overload situations I INTRODUCTION The main objective of this research paper is to find a solution for a web serving problem The problem on hand is the overloading of a web server when a hosted application is accessed heavily by clients An application could be hosted on a single web server or on physical or virtual distributed web server instances The goal of this paper is to find an algorithm that will balance the load coming to a single web server based on the types of the hosted applications Final Paper ALSAEED Hussain 2 The problem is encountered in an Oracle WebLogic server 5 which is installed on a Sun machine In this server applications are hosted on virtual clustered instances An application could be hosted in more than one instance The server s load balancing algorithm works on balancing the load between instances but not based on the applications hosted So whenever an instance is overloaded or turned off the server will direct the traffic into another instance hosting the same applications The suggested solution to handle this problem is based on a divide and conquer approach In this approach hosted applications will be classified into classes Then potential bottlenecks will be determined for each class After that mechanisms will be used to handle each bottleneck On top of that an admission control mechanism will be used for managing the acceptance of requests Before I go into details in describing the proposed solution my motivation behind this research will be given Motivation An administrator of an application server can benefit from the findings of applications classes in different perspectives Instead of having the same configuration for all instances administrators can configure instances according to the different classes of applications which they would have Applications with an expected CPU bottleneck should be hosted in the instance that has the best configuration to avoid CPU overload The same thing applies to applications with accept queue memory disk or network interfaces bottlenecks Another motivation of this paper is to use the same setup for finding applications bottlenecks to have a proactive approach for administering web servers or application servers Administrators Final Paper ALSAEED Hussain 3 can use an open source apache web server or their test environment to harvest an application and find out what the hidden risks are if the application is hosted without taking care of potential problems II BACKGROUND To give the readers the necessary background for understanding the coming sections of the paper I will describe the basic stages that a web server will go over in handling coming requests from clients Fig 1 demonstrates the process flow of a web serving mechanism in which the process starts by the establishment of a connection by the client to the web server Then the new connection is appended to an accept queue in which it will wait to be served by a child process spawned by the web server In an Apache web server 9 one process from a pool of child processes will be assigned to process each request conveyed in the new connection After the process finishes its work it will go back into the pool of processes The number of processes in the pool is limited by a predetermined parameter called MaxClients The purpose of this parameter is to limit the number of concurrent Apache processes which could cause memory and other system s resources exhaustion like the CPU disk or network interfaces especially with dynamic requests 1 Fig 1 The process flow of the web serving mechanism Final Paper ALSAEED Hussain 4 III RELATED WORK In the literature researchers focused on different parts of the web serving mechanism Some approaches were proposed to control the admission of requests as a protection mechanism from overload Other approaches were suggested to handle system s resources adaptation when a web server is overloaded Chen et al 2003 in 2 presented an admission control algorithm that depends mainly on the server s workload characteristics The resources requirements of requests were estimated and compared to the system s available resources Then a decision was taken to either accept or reject a request The estimation of resources requirements of a request was done according to its type To reduce the effects of inaccurate estimations the researchers used a double queue structure which consisted of two queues primary and backup A study by Chandra et al 2006 1 presented a web server that could automatically adapt to changing workloads These workloads could have different characteristics according to the quality of service QoS requirements of different applications classes The methodology started by classifying applications into classes and experimentally finding specific system s resources that could become bottlenecks for each class Then in the experiments the system state was monitored and parameters of important resources were adjusted to maintain the QoS requirements for each class of applications Chandra et al classified applications into four main classes which are i static web requests over non persistent HTTP connections ii static web requests over persistent HTTP connections iii Final Paper ALSAEED Hussain 5 static requests using SSL encryption and iv dynamic requests using Apache s CGI scripting For all of these classes the main bottlenecks were the CPU and the accept queue Chang et al 2000 in 3 proposed an adaptive approach in using memory cache In this approach files were cached as chunks If a file size was less than or equal to a predetermined chunk size it would be cached completely otherwise it would be divided


View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Self Adapting Web Servers Based on Hosted Applications and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Self Adapting Web Servers Based on Hosted Applications and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?