Renderowanie kafelków Geoserver WMS jest zbyt wolne

9

Mam następujący status geoservera. Zainstalowałem JAI, ale pamięć używana przez jai wynosi 0, a renderowanie obrazu dla wms jest bardzo wolne.wprowadź opis zdjęcia tutaj

Czy to problem z alokacją pamięci? Używam Sql server 2008.

kinkajou
źródło
jaki rodzaj kafelków renderujesz - jeśli są to kafelki wektorowe, podejrzewam, że JAI tak naprawdę nie bierze udziału w tym procesie.
Ian Turton
@iant Używam warstwy opublikowanej z serwera SQL i używam WMS. Czy to oznacza, że ​​są to kafelki wektorowe? A jeśli tak, to wydajność tego nie zmieni?
kinkajou

Odpowiedzi:

7

Z tej strony :

W szczególności instalacja natywnej JAI jest ważna dla całego przetwarzania rastrowego, które jest często używane zarówno w WMS, jak i WCS do przeskalowywania, wycinania i ponownego wyświetlania rastrów. Instalowanie natywnego JAI jest również ważne dla wszystkich odczytów i zapisów rastrowych, co wpływa zarówno na WMS, jak i WCS. Wreszcie, natywny JAI jest bardzo przydatny, nawet jeśli nie są zaangażowane dane rastrowe, ponieważ kodowanie wyjściowe WMS wymaga zapisu obrazów PNG / GIF / JPEG, które same są rastrami.

Więc jeśli rysujesz kafelki WMS zestawu danych wektorowych, zauważysz przyspieszenie korzystania z natywnego JAI, ale prawdopodobnie niewiele, jeśli twoja mapa to zestaw danych o zasięgu / rastrze (zdjęcia satelitarne lub zdjęcia lotnicze), wtedy zobaczysz prędkość przy użyciu natywnego JAI.

Jeśli masz powolne generowanie mapy ze źródła wektorowego, najprawdopodobniej spowolnienie polega na tym, że nie masz indeksu przestrzennego na źródle danych, próbujesz narysować zbyt dużo danych lub przepadasz za stylem (lub używasz nieefektywnego pliku SLD ).

Aby uzyskać więcej informacji na temat możliwych rzeczy do pracy, zobacz http://www.slideshare.net/mobile/geosolutions/geoserver-on-steroids

Ian Turton
źródło
1
Co masz na myśli mówiąc o nieefektywnym pliku SLD?
user1919
@ user1919, np. używanie obramowań linii na drogach przy wielu poziomach powiększenia.
nasser tahani
7

Spróbuj dodać indeks do swojego pliku kształtu, zgodnie z sugestią @iant.

Poleceniem Geoserver jest:

java -cp .:gt-shapefile-2.7.3.jar org.geotools.data.shapefile.indexed.ShapeFileIndexer /path/to/your/shapefile.shp

i należy go uruchomić z katalogu geoserver / WEB-INF / lib jako użytkownik, który może czytać / zapisywać w katalogu shapefile. W zależności od wersji geoservera może być konieczna zmiana numerów wersji jar.

Po raz pierwszy zobaczyłem, że wspomniano tutaj, gdzie cytowane są inne metody tworzenia indeksu.

unicoletti
źródło
Korzystam z serwera SQL 2008.
kinkajou