Click here to load reader

GeoServer 성능향상을 위한 튜닝 기법

Embed Size (px)

DESCRIPTION

GeoServer 성능향상을 위한 튜닝 기법. 그리다㈜ 장병진. 1. Understanding Cache Logic. Web Cache Logic. Text Text. Web Browser. URI 요청. Browser Cache 확인. No. 컨텐 츠 요청. 있는가 ?. Yes. Expire. 헤더에 If-Modified-Since: LastModifiedTime 붙여 요청. 유효기간 ?. Remain. GIS Server. Browser Cache Hit!. No. - PowerPoint PPT Presentation

Citation preview

GeoServer

GeoServer 11. Understanding Cache Logic2011-10-28GeoServer 22Web Cache LogicTextText

Web BrowserGIS ServerURI Browser Cache ??Browser Cache Hit!End If-Modified-Since:LastModifiedTime 304 not modified ? (GeoServer) ?200 OK + NoYesRemainExpireNoYes0.1 ms10 ms50 msNoYes500 ms2011-10-28GeoServer 33Browser Cache vs Server Cache2011-10-28GeoServer 4Client AApp ServerServerCacheContents BuilderBrowseCacheClient BBrowseCacheRequest ContentsCheck cache and ask the ProductionStorage ContentsCheck cache and reuseCheck browser cache and reuseRequest Same ContentsRequest ContentsSend ContentsSend cached ContentsServer CacheOn server machineCan share with othersBrowser CacheOn each client machineCan not share with others42. Using Browser Cache2011-10-28GeoServer 55

Response Cache Header GeoServer Admin Data Layers WorldCountries Layer Publishing Edit Layer Response Cache Headers Cache Time 604800 (7) . 60 * 60 *24 * 7 = 604800[Save]

2011-10-28GeoServer 66Browser Cache Hit TestGeoServer Admin Data Layer Preview demo:WorldCountries Layer OpenLayers Http Response (Chrome [F12], FireFox FireBug, IE HttpWatch)Response Header Expires, Cache-Control: max-age=604800 , Tiling Tiled , .2011-10-28GeoServer 7Cache Tiled !

7How to divide tiles?2011-10-28GeoServer 8http://wiki.osgeo.org/wiki/WMS_Tiling_Client_Recommendation

L0:0_0/00_00L0:0_0/01_00L1:0_0/00_01L1:0_0/01_01L1:0_0/00_00L1:0_0/01_00L2:0_0/00_01L2:0_0/01_01L2:0_0/00_00L2:0_0/01_00L2:0_0/02_01L2:0_0/03_01L2:0_0/02_00L2:0_0/03_0083. Using Server Cache2011-10-28GeoServer 99Two similar Arcitecture2011-10-28GeoServer 10

UsingGeoWebCache(Tile Cache)UsingSquid(Web Cache)http://opengeo.org/publications/geoserver-production/10GWC vs SquidGeoWebCacheSquid-cacheWMS Tile Client Recommendation (WMS-C, TMS, WMTS)http, https, ftp GeoServer SEED WAS GeoServer EPSG:4326, EPSG:900913 GeoServer LastModifyTime web.xml 2011-10-28GeoServer 1111GeoWebCache Setting GeoServer GeoServer GeoWebCache Enable direct WMS integration WMS GWC GeoServer 2.1.2 , UI

2011-10-28GeoServer 12

12Layer Seeding GeoServer GeoWebCache Go to the GWC Demos Page Format ( WGS84 ) 2011-10-28GeoServer 13

13Using GWC Service WMS GWC WMS http://localhost:8080/geoserver/wms GWC http://localhost:8080/geoserver/gwc/service/wmsGWC Response Header geowebcache-tile-index WMS Tile Client Recommendation OpenLayers WMS 2011-10-28GeoServer 14

var maxExtent = new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508), restrictedExtent = maxExtent.clone(), maxResolution = 156543.0339; var options = { projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326"), units: "m", numZoomLevels: 18, maxResolution: maxResolution, maxExtent: maxExtent, restrictedExtent: restrictedExtent }; map = new OpenLayers.Map('map', options); 14Install Squidhttp://wiki.squid-cache.org/SquidFaq/BinaryPackages OS C:\ C:\squid .( )Squid\etc\*.default .default Squid.conf 1100 http_port http_port 118.216.255.99:8090 accel defaultsite=demo.grida.krcache_peer 127.0.0.1 parent 8080 0 no-query originserver name=myAccelacl demo.grida.kr dstdomain demo.grida.krhttp_access allow demo.grida.krcache_peer_access myAccel allow demo.grida.krcache_peer_access myAccel deny allCached Data Storage C:\squid\sbin\squid z (C:\squid\var\cache )Windows Service C:\squid\sbin\squid I2011-10-28GeoServer 1515Add WAS filter for SquidGeoServer Contents Response Header LastModifiedTime .Squid LastModifiedTime . WAS filter LastModifiedTime .Filter module Download : http://flavio.tordini.org/download/httpheaders-0.0.0.zip httpheaders/build/jar/httpheaders/httpheaders-0.0.0.jar GeoServer WEB-INF\lib (: C:\Program Files\GeoServer 2.1.1\webapps\geoserver\WEB-INF\lib\) jar WEB-INF\web.xml httpHeaders org.ft.servlet.filters.httpheaders.HTTPHeadersFilter Last-Modified${now} httpHeaders /wms 2011-10-28GeoServer 1616Using Squid Service GeoServer Squid localhost:8080/geoserver/wms localhost:8090/geoserver/wms2011-10-28GeoServer 17

174. The Best Data Setting2011-10-28GeoServer 18http://download.osgeo.org/osgeo/foss4g/2009/SPREP/1Wed/Parkside%20GO3/1500/MakingMapsFast.pdf18Vector Data !GeoServer . . ! . . ! (Simplofiy) . . MBR . !(Transparecy) 2 . . (Halo) .2011-10-28GeoServer 1919Raster DataJPEG ArcGRID ! . GeoTiff .ECW JPEG2000 . GeoTiff !GDAL gdaladdo GeoTiff .Ex) gdaladdo -r average mytiff.tif 2 4 8 16 , ! . () . . 4GB GeoServer .2011-10-28GeoServer 2020Output Format Selection png . .png8 .Gif png8 , .Jpeg ./Jpeg .Jpeg .Null value PNG . format option .&format_options=antialias:noneWeb safe palette png8 gif .&palette:safe2011-10-28GeoServer 21215. The Best Server Setting2011-10-28GeoServer 2222JVM setting Java 6

JVM Setting256MB : -Xmx256m -Xms48m : -XX:SoftRefLRUPolicyMSPerMB=36000 : -XX:MaxPermSize=128m : -XX:+UseParallelGC2011-10-28GeoServer 23

23GeoServer SettingLogging UI global Setting .DEFAULT, VERBOSE, PRODUCTION, GEOTOOLS_DEVELOPER, GEOSERVER_DEVELOPER .PRODUCTION .Service Strategy GeoServer web.xml .SPEED .BUFFER .FILE .PARTIAL-BUFFER BUFFER SPEED .2011-10-28GeoServer 24

24.2011-10-28GeoServer 25