diplomsko delo
Povzetek
S problemom zmogljivosti se sooča veliko spletnih aplikacij. Ta se v večini primerov kaže kot počasno odzivanje ali zakasnitev delovanja aplikacije proti uporabniku. Zmogljive aplikacije nudijo uporabniku boljšo uporabniško izkušnjo, ki lahko posledično pomeni poslovno prednost za podjetje, ki je aplikacijo razvilo.
Vse bolj razširjene postajajo takšne spletne aplikacije, ki so v celoti postavljene v oblaku. Aplikacija, ki je predmet našega testiranja, je primer take aplikacije. V celoti je postavljena v oblaku s pomočjo Amazonovih oblačnih storitev imenovanih AWS oz. Amazon Cloud Services. Aplikacijo delimo na čelni del, ki predstavlja uporabniški vmesnik in zaledni del, ki skrbi za strežbo zahtev in obdelavo podatkov aplikacije. V nalogi smo bremensko testirali zaledni del z uporabo orodja Artillery io. Ta v scenarijih, ki jih definiramo v skriptah, generira navidezne uporabnike. Slednji nato pošiljajo transakcijske zahteve in s tem obremenjujejo zaledni del aplikacije.
Med izvajanjem skript smo spremljali dve metriki in sicer izkoriščenost procesorja in zasedenost delovnega pomnilnika. Vrednosti teh dveh metrik smo spremljali v Amazonovi konzoli in jih nato grafično predstavili v odvisnosti od generiranega prometa proti zalednemu delu.
Meritve smo izvajali v dveh okoljih in sicer v testnem in produkcijskem. Okolji sta se razlikovali po dodeljenih resursih. Najprej smo meritve izvedli v testnem okolju. Ugotovili smo, da njegovi resursi niso bili nastavljeni učinkovito. V večini primerov je izkoriščenost procesorja dosegla občutno višjo vrednost od zasedenosti delovnega pomnilnika. V produkcijskem okolju smo zato resurse poskusili nastaviti tako, da bi bili koriščeni bolj učinkovito. V nekaterih primerih nam je celo uspelo skoraj izenačiti vrednosti izkoriščenosti procesorja in zasedenosti delovnega pomnilnika. Ugotovili smo, da faktor povečanja količine resursov ne raste premo sorazmerno s faktorjem povečanja generiranih zahtev navideznih uporabnikov, ki jih aplikacija še lahko obdela brez padca njene zmogljivosti.
Ključne besede
bremensko testiranje;mikrostoritev;aplikacija v oblaku;razvoj aplikacije;univerzitetni študij;diplomske naloge;
Podatki
Jezik: |
Slovenski jezik |
Leto izida: |
2023 |
Tipologija: |
2.11 - Diplomsko delo |
Organizacija: |
UL FRI - Fakulteta za računalništvo in informatiko |
Založnik: |
[J. Praznik] |
UDK: |
004.9(043.2) |
COBISS: |
178792451
|
Št. ogledov: |
38 |
Št. prenosov: |
11 |
Ocena: |
0 (0 glasov) |
Metapodatki: |
|
Ostali podatki
Sekundarni jezik: |
Angleški jezik |
Sekundarni naslov: |
Load testing the performance of a web application in the cloud |
Sekundarni povzetek: |
Many web applications suffer from performance issues. In most cases, this manifests itself as a slow response or latency of the application towards the user. High-performance applications offer a better user experience, which can in turn be a business advantage for the company that developed the application.
Such web applications, deployed entirely in the cloud are becoming more and more widespread. The application that we are testing is an example of such an application. It is deployed entirely in the cloud using Amazon's cloud services called AWS. The application is divided into a frontend part, which is the user interface, and a backend part, which is responsible for serving requests and processing the application's data. In this thesis, we load-test the backend using the Artillery io tool. This generates virtual users in scenarios defined in scripts. The latter then send transactional requests and thus put a load on the backend of the application.
During the execution of the scripts, we monitored two metrics, namely CPU utilisation and RAM occupancy. The values of these two metrics were monitored in the Amazon console and then presented graphically as a function of the traffic generated towards the backend.
Measurements were carried out in two environments, a staging environment and a production environment. The two environments differed in the resources allocated. First, the measurements were taken in the staging environment. We found that its resources were not configured efficiently. In most cases, the CPU utilisation reached a value significantly higher than the RAM occupancy. In the production environment, we therefore tried to set the resources to be used more efficiently. In some cases, we even managed to almost equalise the CPU utilisation and RAM occupancy values. We found that the resource scaling factor does not grow as much in proportion to the scaling factor of the virtual user requests generated, which can still be processed by the application without degrading its performance. |
Sekundarne ključne besede: |
load testing;microservice;cloud application;AWS;Artillery io;application development;computer science;computer and information science;diploma;Spletne aplikacije;Računalništvo;Univerzitetna in visokošolska dela; |
Vrsta dela (COBISS): |
Diplomsko delo/naloga |
Študijski program: |
1000468 |
Konec prepovedi (OpenAIRE): |
1970-01-01 |
Komentar na gradivo: |
Univ. v Ljubljani, Fak. za računalništvo in informatiko |
Strani: |
VIII, 56 str. |
ID: |
21708455 |