Geoserver vs. Mapserver
Geoserver
pro
- java implementation (since we are more had more experience in java, it might be easier to do adjustments on the implementation level)
- good experience from WFS implementation
- smart & easy to use webinterface for administration
- REST-Interface (allows coverage injection on the fly an by simple comand line scripting e.g. using curl)
- xml-based configuration files (coverage descriptions)... means well defined access&manipulation methods/routines available in serveral programming languages
contra
- bad performance on raster image handling (since not that efficient native support of image libraries ussage like in c/c++)
- service / coverage capablilities not rendered on-the-flyhttps://52north.org/twiki/bin/edit/Trash/GEONETCASTWmsWcsInterface?topicparent=GEONETCAST.ReferenceArchitecture
- only small documentation
- only small field reports from the community on using cirumferential the wcs interface (e.g. for many and big coverage)
- no native support for time dimensions
- some unsolved bugs regarding the wcs implementation e.g. Memory Leak http://jira.codehaus.org/browse/GEOS-3219
http://gnc-wcs.uni-muenster.de:8080/geoserver/wcs?service=WCS&version=1.1.1&request=GetCoverage&identifier=geonetcast:H-000-MSG2__-MSG2________-_________-EPI______-201007140000-__&BoundingBox=-5568748.275756836,-5568748.275756836,5568748.275756836,5568748.275756836,urn:ogc:def:crs:EPSG:4326&format=image/geotiff
Mapserver
ExampleGeoserverWcsRequests
pro
- c++ implemenation (native support of efficient image processing libraries)
- capabilities rendered on-the-fly from the mapfile
- simple configuration due mapfiles (txt format)
- support for very detailed meta-data description properties such as meta-data-url (defined by mapfile elements)
- support of time dimensions by having scenarios like high-frequent and real-time delivery of huge rasterfiles in mind (e.g. by appending new time dimensions to the mapfile and referring to external databases like postgis or dbf files)
- support of coverage tiling
- detailed documentation
- some field reports form the community
contra
- no expertise in c++ programming
- no webinterface for administration
- time dimensions encoded in a POST-Request currently not supported
Comparison of response times & computational load
To illustrate the performance problems of the Geoserver compared to Mapserver, we did a WCS
GetCoverage Request (full spatial coverage of one channel). The test had been done on the same operating system with the same data (one geotiff file, 3844x3575px with 11 layers). However, at most times Geoserver crashed due "memory leak" errors.
Geoserver - long response time (5-6 times longer compared to Mapserver)
- high continous CPU load (even no coverage is requested)
- high RAM load
|
Mapserver - less RAM load
- almost no CPU load, if not request to be processed
|
|
|
--
JohannesTrame - 2010-09-23