NGINX-kuormantasaus ja suorituskyky Microsoft Azure-ympäristössä
Hietamäki, Niina (2025)
Hietamäki, Niina
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025121135089
https://urn.fi/URN:NBN:fi:amk-2025121135089
Tiivistelmä
Opinnäytetyön tavoitteena oli tutkia, miten NGINX soveltuu kuormantasausratkaisuksi Microsoft Azuren pilviympäristössä ja miten kuormantasausalgoritmit vaikuttavat palvelun suorituskykyyn. Työssä tarkasteltiin HTTP- ja TCP-tason kuormantasausta sekä välimuistin vaikutusta vasteaikoihin, läpimenoon ja resurssien käyttöön.
Tutkimus toteutettiin luomalla testialusta Azureen, jossa NGINX toimi kuormantasaajana ja kaksi virtuaalipalvelinta taustapalvelimina. Suorituskyky testattiin ApacheBench-työkalulla käyttämällä kevyttä, keskitason ja raskasta kuormaa. Tutkimuksessa käytettiin kolmea eri algoritmia: Round Robin, Least Connections ja IP Hash. Näille mitattiin vasteajat, pyyntöjen määrä sekunnissa sekä prosessorin ja muistin käyttö. Konfiguraatiot toteutettiin sekä HTTP- että TCP kerrokselle, ja välimuistin vaikutusta arvioitiin erillisessä testiajossa.
Tulosten perusteella algoritmi Round Robin tuotti tasaisimman suorituskyvyn kaikilla kuormitustasoilla. Least Connections skaalautui hyvin epätasaisissa kuormatilanteissa, ja IP Hash soveltui parhaiten tilanteisiin, joissa käyttäjäyhteydet pysyvät samalla palvelimella. TCP:n suorituskyky oli odotetusti kevyempi ja tasaisempi kuin HTTP. Välimuistin käyttöönotto pienensi vasteaikaa ja lisäsi läpimenoa.
NGINX osoittautui kevyeksi, vakaaksi ja resurssitehokkaaksi kuormantasausratkaisuksi. Se soveltuu hyvin skaalautuviin web-sovelluksiin, joissa kuormituksen hallinta ja palvelun käytettävyys ovat keskeisiä vaatimuksia. Tutkimus vahvisti, että NGINX on toimiva vaihtoehto tilanteisiin, joissa tarvitaan joustava ja helposti ylläpidettävä kuormantasausratkaisu.
Tutkimus toteutettiin luomalla testialusta Azureen, jossa NGINX toimi kuormantasaajana ja kaksi virtuaalipalvelinta taustapalvelimina. Suorituskyky testattiin ApacheBench-työkalulla käyttämällä kevyttä, keskitason ja raskasta kuormaa. Tutkimuksessa käytettiin kolmea eri algoritmia: Round Robin, Least Connections ja IP Hash. Näille mitattiin vasteajat, pyyntöjen määrä sekunnissa sekä prosessorin ja muistin käyttö. Konfiguraatiot toteutettiin sekä HTTP- että TCP kerrokselle, ja välimuistin vaikutusta arvioitiin erillisessä testiajossa.
Tulosten perusteella algoritmi Round Robin tuotti tasaisimman suorituskyvyn kaikilla kuormitustasoilla. Least Connections skaalautui hyvin epätasaisissa kuormatilanteissa, ja IP Hash soveltui parhaiten tilanteisiin, joissa käyttäjäyhteydet pysyvät samalla palvelimella. TCP:n suorituskyky oli odotetusti kevyempi ja tasaisempi kuin HTTP. Välimuistin käyttöönotto pienensi vasteaikaa ja lisäsi läpimenoa.
NGINX osoittautui kevyeksi, vakaaksi ja resurssitehokkaaksi kuormantasausratkaisuksi. Se soveltuu hyvin skaalautuviin web-sovelluksiin, joissa kuormituksen hallinta ja palvelun käytettävyys ovat keskeisiä vaatimuksia. Tutkimus vahvisti, että NGINX on toimiva vaihtoehto tilanteisiin, joissa tarvitaan joustava ja helposti ylläpidettävä kuormantasausratkaisu.