Load Balancing velikog broja OGC servisa – DGU Geoportal

Load Balancing velikog broja
OGC servisa – DGU
Geoportal
Dragan Podvezanec - IGEA
Dalibor Kušić – IN2
Saša Cvitković – DGU
11.04.14
IGEA – IN2 Group – DGU
Case study – DGU Geoportal
http://geoportal.dgu.hr



Opis sustava
Izazovi i problemi
Rješenja
11.04.14
IGEA – IN2 Group – DGU
2
DGU Geoportal – zahtjevi i opis sustava




Važan dio procesa legalizacije nezakonito izgrađenih
građevina i jedan od temelja hrvatskog NSDI-a
Javni pristup podacima putem web preglednika
Javni WMS servisi za neke skupove podataka
CMS za DGU
Podaci:
 2TB rastera (bez cache-a) 50G vektorskih podataka
11.04.14
IGEA – IN2 Group
3
DGU Geoportal – pregled sustava
11.04.14
IGEA – IN2 Group – DGU
4
DGU Geoportal – procjene opterećenosti
Procijenjeno
Stvarno
Posjetitelja/mjesec
100.000
300.000
Paralelnih WMS zahtjeva
150
4000 (peak)
WMS zahtjeva/mjesec
10 million
250 million
Promet/mjesec
1TB
7TB
Početne postavke:
 4 fizička poslužitelja
 1 x geowebcache VM + 1 backup geowebcache VM
 4 x geoserver VM’s x 4 instance geoservera
 Apache + mod_proxy_balancer load balancer
11.04.14
IGEA – IN2 Group – DGU
5
DGU Geoportal - postavke
11.04.14
IGEA – IN2 Group – DGU
6
DGU Geoportal – što se dogodilo?
top - 09:19:42 up 0 days, 2 min, 2 users, load average: 219.36, 189.93, 130.56
Tasks: 113 total, 1 running, 112 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.3%us, 15.7%sy, 0.0%ni, 75.7%id, 0.0%wa, 0.7%hi, 0.7%si, 0.0%st
Mem: 4034276k total, 4014052k used, 20224k free, 13404k buffers
Swap: 6088624k total, 3036872k used, 3051752k free, 71272k cached
PID USER
PR NI VIRT RES SHR S %CPU %MEM
TIME+ COMMAND
16956 apache
20 0 700m 135m 100m S 0.0 3.8 2:16.78 httpd
16953 apache
20 0 565m 130m 96m S 0.0 3.7 1:57.26 httpd
16957 apache
20 0 587m 129m 102m S 0.0 3.6 1:47.41 httpd
16955 apache
20 0 567m 126m 93m S 0.0 3.6 1:43.60 httpd
17494 apache
20 0 626m 125m 96m S 0.0 3.5 1:58.77 httpd
17515 apache
20 0 540m 120m 88m S 0.0 3.4 1:45.57 httpd
17516 apache
20 0 573m 120m 88m S 0.0 3.4 1:50.51 httpd
……………
………….
11.04.14
IGEA – IN2 Group – DGU
7
DGU Geoportal – promjene inicijalnih postavki







Apache mod_proxy_balancer zamijenjen HAProxy
load balancerom
Dodano još hardvera
Dodano još instanci Geoservera
File system konvertiran u OCFS2, maknuti diskquota i
metastore iz geowebcachea – preduvjeti za korištenje više
GWC instanci na istom tile cacheu
Dodano još Geowebcache instanci u active-active modu
GWC rekonfiguriran tako da koristi HaProxy Load
balancer
Aplikacija prekonfigurirana tako da maksimalno koristi
GWC a minimalno WMS
11.04.14
IGEA – IN2 Group – DGU
8
DGU Geoportal – „zamke”




Pretpostavljen broj korisnika puno manji od stvarnog
opterećenja
Aplikacija zbog kratkoće vremena isporučena u produkciju
bez punog „seeda”, i time preopterećeni WMS servisi
Pogrešan izbor load balancera
Manjak testiranja zbog kratkog roka
11.04.14
IGEA – IN2 Group – DGU
9
Load balancing OGC servisa na „pravi” način



Load balancing – jedna od najbitnijih komponenti visoko
opterećenog sustava u produkciji
Distribuirano opterećenje, puno bolje performanse, high
availability, failover, itd…...
HAProxy – slobodan sofware koji omogućava high
availability, load balancing, proxy, za TCP i HTTP aplikacije
11.04.14
IGEA – IN2 Group – DGU
10
HAProxy load balancer - prednosti






Software koji je isključivo load balancer
Izuzetno stabilan
Vrlo mali hardverski zahtjevi, koristi se na siteovima s izuzetno
visokim opterećenjima
Vrlo brza layer7 detekcija ispada backend servisa
Praktično web sučelje sa detaljnim pogledom stanja load
balancera
Rekonfiguracija moguća bez ikakvih restarta i downtime-a (čak i
bez prekidanja postojećih konekcija)
11.04.14
IGEA – IN2 Group – DGU
11
HAProxy load balancer - prednosti

Jedinstvena točka konfiguracije za sve backend servise
default-server inter 2s maxconn 1 slowstart 15s
server geoserver01-8081 192.168.100.1:8081 check
server geoserver01-8082 192.168.100.1:8082 check
…

Pokazalo se kao idealno rješenje za Load balancing OGC servisa
11.04.14
IGEA – IN2 Group – DGU
12
HAProxy load balancer - UI
Apache balancer manager
HAProxy manager
11.04.14
IGEA – IN2 Group – DGU
13
HAProxy load balancer - demo
11.04.14
IGEA – IN2 Group – DGU
14
Što smo naučili?

Load balancing – jedna od najvažnijih komponenti kod
projektiranja sustava koji mora zadovoljiti visoku dostupnost i
dobre performanse za velik broj korisnika
Koristite HAProxy za siteove sa velikim opterećenjem, jer
zahtjeva malo resursa i podnosi izuzetno velika opterećenja
Ne potcjenjujte interes za prostornim podacima

Prije produkcije testirajte više (ako imate vremena)


11.04.14
IGEA – IN2 Group – DGU
15
Hvala na pažnji! 
dragan.podvezanec@igea.hr
dalibor.kusic@in2.hr
sasa.cvitkovic@dgu.hr
IGEA d.o.o.
Varaždin, Croatia
www.igea.hr
www.in2.hr
Republic of Croatia, State geodetic administration (DGU)
Zagreb, Croatia
www.dgu.hr
11.04.14
IGEA – IN2 Group – DGU
16