Testiranje performanci mikrousluga u programskom jeziku Java
Sažetak na hrvatskom: Programski jezik Java pripada grupi objektno orijentiranih programskih jezika te se ubraja među najčešće korištene jezike za izradu aplikacija, odnosno programa. Konstantno se radi na njegovom napretku i usavršavanju, stoga je zanimljivo vidjeti razliku u performancama aplikaci...
Permalink: | http://skupni.nsk.hr/Record/fer.KOHA-OAI-FER:51245/Details |
---|---|
Glavni autor: | Pobi, Marko (-) |
Ostali autori: | Kušek, Mario (Thesis advisor) |
Vrsta građe: | Drugo |
Impresum: |
Zagreb,
M. Pobi,
2019.
|
Predmet: |
Java
> memorija
> mikrousluge
> testiranje
> Docker
> Docker Swarm
> hrpa
> REST
> testiranje performanci
> HTTP
> Spring
> JDK
> test opterećenja
> Gatling
> JVisualVM
Java
> memory
> microservices
> testing
> Docker
> Docker Swarm
> heap
> REST
> performance testing
> HTTP
> Spring
> JDK
> load testing
> Gatling
> JVisualVM
|
LEADER | 05387na a2200229 4500 | ||
---|---|---|---|
003 | HR-ZaFER | ||
008 | 160221s2019 ci ||||| m||| 00| 0 hr d | ||
035 | |a (HR-ZaFER)ferid6885 | ||
040 | |a HR-ZaFER |b hrv |c HR-ZaFER |e ppiak | ||
100 | 1 | |a Pobi, Marko |9 40525 | |
245 | 1 | 0 | |a Testiranje performanci mikrousluga u programskom jeziku Java : |b diplomski rad / |c Marko Pobi ; [mentor Mario Kušek]. |
246 | 1 | |a Java Microservices Performance Testing |i Naslov na engleskom: | |
260 | |a Zagreb, |b M. Pobi, |c 2019. | ||
300 | |a 80 str. ; |c 30 cm + |e CD-ROM | ||
502 | |b diplomski studij |c Fakultet elektrotehnike i računarstva u Zagrebu |g smjer: Telekomunikacije i informatika, šifra smjera: 53, datum predaje: 2019-06-28, datum završetka: 2019-07-09 | ||
520 | 3 | |a Sažetak na hrvatskom: Programski jezik Java pripada grupi objektno orijentiranih programskih jezika te se ubraja među najčešće korištene jezike za izradu aplikacija, odnosno programa. Konstantno se radi na njegovom napretku i usavršavanju, stoga je zanimljivo vidjeti razliku u performancama aplikacija pokrenutih s pojedinim verzijama Jave. Za testiranje verzija Jave korištene su aplikacije s arhitekturnim stilom mikrousluga. Takva arhitektura dijeli sustav na kolekciju manjih usluga koje su međusobno neovisne, labavo spojene te organizirane prema poslovima za koje su namijenjene. Zbog toga su aplikacije s takvom arhitekturom vrlo održive i pogodne za testiranje. Na performance sustava utječe i dodijeljena memorija, odnosno količina memorijskih resursa koju sustav ima na raspolaganju. Java ima ugrađeno automatsko upravljanje memorijom i sakupljač smeća koji radi u pozadini i oslobađa memoriju brisanjem nekorištenih objekata. Glavnu ulogu kod memorije ima dio koji se naziva memorijska hrpa. Hrpa služi za spremanje stvarnih objekata u memoriju, a čije se reference nalaze na stogu. Svaki pokrenuti proces u JVM-u ima svoju hrpu koja se dijeli na broj dretvi unutar tog procesa. Za prikaz stanja memorijske hrpe korišten je alat Java VisualVM. Alat grafički prikazuje iskorištenost memorijske hrpe i procesora, broj učitanih razreda te broj aktivnih dretvi u pojedinom trenutku. Za pokretanje komponente RAP korišten je Docker gdje je također mjerena potrošnja njegovog spremnika u kojem je pokrenut RAP te su rezultati prikazani i analizirani. Performance su testirane slanjem HTTP zahtjeva čija je simulacija automatizirana pomoću alata Gatling. Simuliran je različit broj korisnika kako bi se vidjelo ponašanje sustava pri većim opterećenjima. Testiranje je provedeno na istom računalu na kojemu su pokrenuti sustavi. Testiranje se pokazalo uspješnim i rezultati testiranja su zadovoljavajući. Vidljiv je napredak po pitanju performanci kod novijih verzija Jave te se predviđa da će svaka nova verzija biti sve bolja i poželjnija za korištenje. | |
520 | 3 | |a Sažetak na engleskom: Java programming language belongs to a group of object-oriented programming languages and is one of the most used languages for building applications or programs. It is constantly worked on new features and refinement of language, so it is interesting to see the difference in performances between individual versions. For testing different versions of Java in this paper were used applications with microservice architecture. Such architectural style divides system into a collection of smaller services that are mutually independent, loosely coupled and organized according to their tasks and purpose. For this reason, applications with such architecture are very sustainable and suitable for testing. System efficiency and performances affect and allocate memory that system has available for applications. Java has embedded automatic memory management and a garbage collector that works in the background and releases memory by deleting unused objects. The main part of memory is called a heap memory. Heap memory is used to store the actual objects whose references are located on the stack. Each JVM process has its own heap memory that is divided by number of threads within the process. Java VisualVM was used to display heap memory status throughout tests. This tool displays graphically the exploitation of heap memory, processor usage, number of loaded classes and number of active threads at specific moment. Docker was used to run the RAP component and its container, that ran RAP component, was also monitored to see its memory consumption. Efficiency and performances of specific system were tested by sending HTTP requests that were simulated automatically using the Gatling tool. Different number of users was simulated to see system behavior and performances at higher loads. Testing was carried out on the same computer where applications were also running. Testing has been successful and the test results are satisfactory. There is a remarkable improvement in performance with newer versions of Java, which predicts that each new version will be better and more desirable to use. | |
653 | 1 | |a Java |a memorija |a mikrousluge |a testiranje |a Docker |a Docker Swarm |a hrpa |a REST |a testiranje performanci |a HTTP |a Spring |a JDK |a test opterećenja |a Gatling |a JVisualVM | |
653 | 1 | |a Java |a memory |a microservices |a testing |a Docker |a Docker Swarm |a heap |a REST |a performance testing |a HTTP |a Spring |a JDK |a load testing |a Gatling |a JVisualVM | |
700 | 1 | |a Kušek, Mario |4 ths |9 18415 | |
942 | |c Y | ||
999 | |c 51245 |d 51245 |