Testiranje performanci mikrousluga u programskom jeziku Java : diplomski rad - Pobi, Marko (M. Pobi, 2019)
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.