[Gfoss] consiglio HARDWARE per sistema webgis

Andrea Aime andrea.aime a geo-solutions.it
Gio 25 Ott 2012 21:26:39 CEST


2012/10/24 Andrea Peri <aperi2007 a gmail.com>:
>>Per arrivare a 24 ore su 120 mila tile ho dovuto assumere di avere un solo
>>core (non adeguato per un web-gis in ogni caso) e 6 secondi di tempo
>>medio per la risposta a una richiesta di una metatile 4x4, di nuovo
>>un tempo veramente lungo.
>
>
> Non è facile stabilire quanti core sta usando un tomcat.
> Anche perche' su un core ci possono finire piu' threads e decide il gestore
> su quale core andare.

Il kernel del sistema operativo, non la JVM (i tempi dei green threads sono
andati da una vita).

> Intanto dipende da quale JVM si sta usando (sun-jdk o altro ?).
> Posso sbagliarmi, ma a sensazione mia, se usi la jdk-sun allora la JVM è in
> grado di accedere a piu' core, se invece usi la JVM foss temo che essa usa
> il medeismo core ove gira l'istanza Tomcat. (spero di sbagliarmi
> naturalmente)

Tutte le JVM moderne (Oracle, OpenJDK, IBM, JRockit)
mappano thread di macchina virtuale su un thread nativo, a quel punto
è il kernel a decidere dove far eseguire il thread.

> Questo è forse il dettaglio piu' spinoso.
> Non conosco nei dettagli geowebcache, se le effettua sequenzialmente in
> maniera sincrona ,
> cosa che a me parrebbe probabile se gira sulla medesima istanza tomcat del
> geoserver.

Può girare sia internamente che esternamente, è una scelta (su hardware modesto
meglio tenerla integrata, su una installazione enterprise meglio fuori
di fronte a
un cluster di istanze di GeoServer).
Il seeding delle tiles usa un numero configurabile di thread, da 1 a 32 se non
ricordo male.
Quando si effettua il seeding il numero ottimale di thread dipende anche da cosa
c'e' alle spalle di GWC, se un WMS solo o un cluster di macchine, per
il funzionamento
a tile cache già popolata benchmarks dimostrano che il throughput massimo si
ottiene con un numero di richieste parallele pari a 4 volte il numero
di core disponibili
(fisici e logici, se si ha un core i7 con 4 core + HT il numero ottimale è 32).

> Io direi che è molto probabile che finisca tutto sul medesimo core.

Molto improbabile nel momento in cui si scelga di usare più di un thread
per il seeding, a meno che il sistema operativo in questione non abbia
uno scheduler dei thread mal disegnato: sulle macchine che ho potuto
testare personalmente quando GWC fa un seeding, e nell'ipotesi
che anche GeoServer sia sulla stessa macchina, tutti i core fisici
(e anche quelli virtuali, HT) sono occupati al 100% o prossimi a tale valore.

> Se ti va bene, il geoserver finisce su un altro core.

Se sono integrate il seeding avviene sul medesimo thread, con GWC che
prende direttamente l'immagine generata da GeoServer senza dover passare
per un formato di rete intermedio (png, tiff, ecc), se sono separate sta al
sistema operativo decidere, ma mentre GeoServer produce la metatile richiesta
da GWC il corrispondente thread di seeding di è in attesa sulla chiamata HTTP.

Ciao
Andrea

-- 
==
Our support, Your Success! Visit http://opensdi.geo-solutions.it for
more information.
==

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39  339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------


Maggiori informazioni sulla lista Gfoss