Your SlideShare is downloading. ×
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
JavaCro'14 - Vaadin scalability myth – Gordan Ivanović
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

JavaCro'14 - Vaadin scalability myth – Gordan Ivanović

1,406

Published on

Vaadin is a framework for building rich web applications. Vaadin features server-side architecture where all of the business logic is located on server and only presentation layer is located on client …

Vaadin is a framework for building rich web applications. Vaadin features server-side architecture where all of the business logic is located on server and only presentation layer is located on client side. Server-side architecture can be advantage since session state is stored on server. Statefulness can also be a disadvantage since server is frequently contacted. Obviously, the big mystery is scalability which is the main „pros and cons“ Vaadin battle. The question is, is Vaadin capable of satisfying the needs of an application that requires thousand of concurrent active users.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,406
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mit o Vaadin skalabilnosti Gordan Ivanović IGEA – IN2 Grupa
  • 2. Sadržaj  O Vaadinu  Motivacija testiranja  Što smo i kako testirali  Rezultati  Zaključak 12.05.2014. IGEA – IN2 Group 2
  • 3. Ukratko o Vaadinu  Framework za razvoj rich web aplikacija  Server-side i client-side  Orijentiran na server-side 12.05.2014. IGEA – IN2 Group 3
  • 4. Prednosti  Kratka krivulja učenja  Čist kod  Lagan za održavanje  Server-side orijentiran  Nema borbe s mnogobrojnim klijentskim tehnologijama  Bolji fokus na implementaciju poslovnih procesa  Proširiv  Dobro se integrira s drugim tehnologijama  … 12.05.2014. IGEA – IN2 Group 4
  • 5. Mane  Server-side orijentiran  Client-side razvoj  Velika količina generiranog HTML koda  Performanse??  Skalabilnost?? 12.05.2014. IGEA – IN2 Group 5
  • 6. Testiranje Vaadin tima  Web aplikacija za kupovinu kino karata (QuickTickets)  Vaadin 6  Vaadin zadovoljio (premašio?) očekivanja  Može podnijeti veliko opterećenje  Jedan server može podnijeti kupovinu kino karata za cijeli SAD i Kanadu (Vaadin polu-šala) 12.05.2014. IGEA – IN2 Group 6
  • 7. Motivacija za novo testiranje  Vaadin 7  Aplikacija za kupovinu kino karata je relativno light- weight po pitanju količine interakcije usera/klijenta s aplikacijom/serverom  Testiran samo jedan scenarij  Još uvijek skalabilnost glavni razlog za nekorištenje Vaadina  Jedno od rijetkih (jedino?) istraživanje Vaadin skalabilnosti dostupno na webu  Postoje usporedbe s drugim tehnologijama – nije cilj ovog testiranja 12.05.2014. IGEA – IN2 Group 7
  • 8. Što testiramo  Implementirali smo jednostavan use-case  Javni adresar stanovnika po državama i kontinentima  Cilj nije bio stvoriti potpuno realan use-case po pitanju tržišne potražnje već simulirati kompliciraniju (enterprise) web aplikaciju  Veći broj raznolikih AJAX requestova  Veće opterećenje na server  Veće opterećenje na bazu  Teže skalirati 12.05.2014. IGEA – IN2 Group 8
  • 9. Implementacija i izvedba  Vaadin aplikacija u integraciji sa Springom  Dvije verzije aplikacije: a) Sve komponente su immediate b) Nijedna komponenta nije immediate  Nismo koristili cacheiranje  Amazon Cloud  2 large instance za aplikacijske servere  2 large instance za JMeter  1 large instanca za bazu (Postgresql) 12.05.2014. IGEA – IN2 Group 9
  • 10. Implementacija i izvedba - JMeter  JMeter  Četiri korisnička scenarija  Svaki snimljen posebno za pojedinu verziju aplikacije  U scenarijima implementirana kašnjenja– trajanje scenarija cca 3 minute  Na svakoj instanci pokrenuta 3 scenarija koja su gađala isti server 12.05.2014. IGEA – IN2 Group 10
  • 11. Implementacija i izvedba – JMeter scenariji  Tri scenarija koja simuliraju kompliciranije(realnije) slučajeve korištenja  Pretraživanje + unos jedne osobe u bazu + unos jedne adrese u bazu + minimalno grešaka pri unosima  Pretraživanje + unos jedne osobe u bazu + unos jedne adrese u bazu + puno grešaka pri unosima  Pretraživanje + unos tri adrese u bazu + malo grešaka pri unosu 12.05.2014. IGEA – IN2 Group 11
  • 12. Implementacija i izvedba – JMeter scenariji  „Dodatni” scenarij - samo unošenje podataka u polja bez perzistiranja u bazu  Odlazaka na bazu ima za potrebe punjenja padajućih izbornika  Nije puštan u kombinaciji s ostalima već sam za sebe  Prema broju odlazaka na bazu sličan Vaadin testu skalabilnosti  Razlozi ovog testiranja:  Istraživanje utjecaja baze na rezultate prvih testova  Veći fokus na client-server komunikaciju nego na cijelu aplikaciju 12.05.2014. IGEA – IN2 Group 12
  • 13. Rezultati – kombinacija 3 immediate scenarija 12.05.2014. IGEA – IN2 Group 13 Broj korisnika Pristiglo Ajax requesta u minuti Obrađeno average/peek Ajax Request po minuti Broj servera Median (ms) 540 22860 9336/13441 1 13 1080 45720 10536/14285 1 208 1080 45720 10626/14421 2 38 2160 91440 13212/20641 2 59 4320 182880 11562/24441 2 1126 - Zadnje mjerenje pokazalo je loš odziv i povećan broj grešaka > 1%
  • 14. Rezultati – kombinacija 3 non-immediate scenarija 12.05.2014. IGEA – IN2 Group 14 Broj korisnika Pristiglo Ajax requesta u minuti Obrađeno average/peek Ajax Request po minuti Broj servera Median (ms) 540 11520 5550/8643 1 21 1080 23040 8951/13548 1 33 2160 46080 8817/15206 1 317 2160 46080 10026/16680 2 175 4320 92160 13442/22631 2 265 - U zadnjem mjerenju prihvatljivo vrijeme odziva i prihvatljiv broj grešaka < 1%
  • 15. Rezultati – dodatni scenarij 12.05.2014. IGEA – IN2 Group 15  Broj korisnika: 4800  Broj pristiglih zahtjeva u minuti: 110400  Prosječno obrađeno zahtjeva u minuti: 24006  Peek obrađeno zahtjeva u minuti: 35014  2 servera uz median vrijeme odziva 117ms
  • 16. Zaključak  Obrada zadovoljavajućeg broja AJAX requesta u minuti  Kombinacija (kompliciranih) korisničkih scenarija i broja korisnika daje zadovoljavajuće rezultate isto kao i kontrolni scenarij  Najveći problem kod (pre)velikog broja korisnika predstavlja vrijeme odziva i broj odbijenih zahtijeva  Činjenica da je u testovima baza u pojedinim trenutcima postala usko grlo pokazuje da Vaadin dobro podnio povećano opterećenje  Testiranje je pokazalo da bi Vaadin zadovoljio potrebe jedne bogatije aplikacije s prosječnim brojem (korisnika u peek periodima korištenja) 12.05.2014. IGEA – IN2 Group 16
  • 17. IGEA – IN2 Grupa

×