Multiuser website load balancing

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Ask about the availability of the thesis by sending email to the Aalto University Learning Centre oppimiskeskus@aalto.fi
Date
2016-10-27
Department
Major/Subject
Ohjelmistotekniikka
Mcode
T3001
Degree programme
Tietotekniikan koulutusohjelma
Language
en
Pages
67+3
Series
Abstract
Traditional standalone or self hosted application installations are becoming more and more uncommon. Furthermore users assumes to being able to use theirs applications with any device. In addition users except to have access into same data with any device. Being able to satisfy these demands some of the computation and data storing must be done in web servers. Creating web service for the application is not always straight forward. Supporting all users require scalable service architecture. In order to fully utilize this architecture, load balancing for the service is required. Choosing the most suited approach for the load balancing may provide remarkable performance increase. In addition well selected load balancing might decrease total upkeep cost in long run. This thesis focus finding possible scalability bottlenecks from the company application. Furthermore thesis represent proposal for the load balancing architecture. This proposal should support on demand service scaling. Furthermore taking load balancing architecture into use should not cause increased hosting cost compared to current cost. Gathering data for proposal several load generation executions has been done using different kind of system architectures. Furthermore each execution has been done using two basic load balancing algorithm Round-Robin and Least Connection. Choosing these based on two reasons. Algorithm must be available in used load balancing application and it must not be server state aware.

Perinteiset konekohtaisesti asennetut tai yksittäin ylläpidetyt asennukset ohjelmistoista ovat muuttumassa harvinaisemmiksi. Konekohtaisten asennusten sijaan käyttäjät odottavat nykyisin pystyvänsä käyttämän haluttuja ohjelmistoja laitteella kuin laitteella. Tämän lisäksi yhdellä laitteella luodun tiedon oletetaan olevan käytettävissä muillakin päätelaitteilla. Kuvaillun kaltaisten toimintojen tuottaminen vaatii siten osittaisen laskennan ja tiedon säilömisen tapahtuvan verkkopalvelussa. Verkkopalveluiden luonti ei aina ole yksinkertaista. Useasti tarvitaan kuormanhajautusta luodulle palvelulle täyden hyödyn saamiseksi siitä. Sopivalla kuormanhajautuksen valinnalla voidaan lisäksi saavuttaa parempaa suorituskykyä ja säästöjä pitkällä aikavälillä. Tässä työssä keskitytään etsimään mahdollisia yrityksen ohjelmiston hajauttamiseen liittyviä pullonkauloja. Tarkoituksena on antaa suositusratkaisu kuormanhajautuksen toteuttamisesta yrityksen ohjelmistolle. Suositus ei kuitenkaan tule olla nykyistä yrityksellä käytössä olevaa ratkaisua arvokkaampi. Suosituksen luomiseen tarvittavan tiedon keruu suoritetaan tekemällä useita rasitus ajoja yrityksen ohjelmistoa vasten. Eri ajojen yhteydessä käytetään erilaisia kuorman hajautus menetelmiä ja arkkitehtuurisia ratkaisuja. Kuormanhajautusalgoritmeiksi tähän työhön on valittu kiertovuorottelu (Round Robin) ja vähiten yhteyksiä (Least Connections) algoritmit. Valintojen syynä on käytetyn kuormanhajautusohjelman tuki sekä vaatimus palvelimien tilatiedottomuudelle.
Description
Supervisor
Saikkonen, Heikki
Thesis advisor
Myllynen, Pentti
Keywords
web application, load balancing, dispatcher-based, round Robin, least connection, azure
Other note
Citation