Kuorman tasaus web-palvelimissa
Sihvola, Henri (2011)
Tiivistelmä
Web-palvelussa sivuston suorituskyky muodostaa suuren osan käyttökokemuksen
mielekkyydestä. Sivuston ollessa kuormitetumpi kuin normaalisti, saattaa se
toimia tavallista hitaammin. Tasaamalla yhden web-palvelimen kuormaa muille
palvelimille, joko laitteisto tai ohjelmistopohjaisella kuormantasauksella, voidaan
saavuttaa merkittäviä suorituskykyparannuksia koko palvelulle.
Teoriaosassa selvitettiin kuormantasaukseen soveltuvien algoritmien toimintaa
sekä tietokantapohjaista replikaatiota, joka välittää saamansa tiedon lähes
välittömästi toiselle palvelimelle. Apachen kuormantasausmoduuliin sekä sen sisältämiin
algoritmeihin luotiin myös katsaus teoriaosassa. Varsinaisessa työssä
luotiin Apachen kuormantasauspalvelimen ja kahden suorituspalvelimen avulla
toimiva palvelinjärjestelmä. Kuormantasaimeen asennettiin käyttöön tahmeat
sessiot, joiden toimintaa selvitettiin Drupal-ohjelman avulla. Apachessa on ollut
ongelmia tahmeiden sessioiden kanssa, mutta työssä huomattiin kaiken toimivan
mainiosti. Kuormantasaus ja tietokantojen replikaatio toimi, kuten odotettiin. When we are looking at web-servers, performance forms a great deal about usage
experience of browsing. When a site has heavier load than normal, it may perform
slower than usual. If we compensate the load that server has into many servers,
with either hardware or software based load balancing, we could achieve
remarkable increase of performance in the service.
In theory part we did a research about work that load balancing algorithms does
and also because of replication in databases, which provides information almost
immediately to others servers. Also we looked at Apaches load balancing modules
in theory part. In actual work part Apache load balancing server and two work
servers was compiled in a functioning server system. Sticky sessions were
installed in load balancer and we used Drupal-program to test that those were
functioning properly. Apache have had problems with sticky sessions but in work
it was found out that everything was working fine. Load balancing and replication
in databases worked as expected.
mielekkyydestä. Sivuston ollessa kuormitetumpi kuin normaalisti, saattaa se
toimia tavallista hitaammin. Tasaamalla yhden web-palvelimen kuormaa muille
palvelimille, joko laitteisto tai ohjelmistopohjaisella kuormantasauksella, voidaan
saavuttaa merkittäviä suorituskykyparannuksia koko palvelulle.
Teoriaosassa selvitettiin kuormantasaukseen soveltuvien algoritmien toimintaa
sekä tietokantapohjaista replikaatiota, joka välittää saamansa tiedon lähes
välittömästi toiselle palvelimelle. Apachen kuormantasausmoduuliin sekä sen sisältämiin
algoritmeihin luotiin myös katsaus teoriaosassa. Varsinaisessa työssä
luotiin Apachen kuormantasauspalvelimen ja kahden suorituspalvelimen avulla
toimiva palvelinjärjestelmä. Kuormantasaimeen asennettiin käyttöön tahmeat
sessiot, joiden toimintaa selvitettiin Drupal-ohjelman avulla. Apachessa on ollut
ongelmia tahmeiden sessioiden kanssa, mutta työssä huomattiin kaiken toimivan
mainiosti. Kuormantasaus ja tietokantojen replikaatio toimi, kuten odotettiin.
experience of browsing. When a site has heavier load than normal, it may perform
slower than usual. If we compensate the load that server has into many servers,
with either hardware or software based load balancing, we could achieve
remarkable increase of performance in the service.
In theory part we did a research about work that load balancing algorithms does
and also because of replication in databases, which provides information almost
immediately to others servers. Also we looked at Apaches load balancing modules
in theory part. In actual work part Apache load balancing server and two work
servers was compiled in a functioning server system. Sticky sessions were
installed in load balancer and we used Drupal-program to test that those were
functioning properly. Apache have had problems with sticky sessions but in work
it was found out that everything was working fine. Load balancing and replication
in databases worked as expected.