[mapserver-dev] mappostgis.c
Daniel Morissette
dmorissette at mapgears.com
Tue Nov 4 20:48:31 EST 2008
At the moment, the handling of the epsg definitions uses a mechanism
that's built into PROJ and that is shared by all apps that use PROJ on a
given system. That doesn't mean things can't or shouldn't change, but if
we come up with our own mechanism then it will be MapServer-specific and
won't be shared by other apps that use PROJ... unless we embed the new
mechanism directly in PROJ, but I doubt that adding a SQLite dependency
in PROJ would fly very well.
All that being said, fixing that epsg performance issue has been on my
list for a while (for too long)... I just need to find the time to do it.
Daniel
Stephen Woodbridge wrote:
> Paul, Steve,
>
> I think I idly asked this in the past and it was ignored. Why would we
> not consider using something like SQLite to:
> 1) cache the parse epsg codes into, or
> 2) just compile the epsg codes into a SQLite DB that could be accessed
> instead of the textfile.
>
> Here are some random thoughts on the subject:
>
> o the data could be preparsed into fields or a C struct that is copied
> into a blob and retrieved as needed
> o SQLite licensing is compatible with mapserver
> o yes - people might not want to have to compile the epsg file into a DB
> o yes - it increases the technology footprint slightly
> o but it might be useful for many other mapserver caching needs
> o its thread safe, stable and very fast
> o it could be configured to support both models: DB or text file by a
> PROCESSING directive in the MAP PROJECT block to point to the DB.
> Although it is probably cleaner to just support one. A simple utility
> could be provided like "epsg2db /path/to/proj.db" to compile the text
> file into a db.
>
> I'm just thinking out loud here. Does this make sense to anyone else?
> 25% of the processing time is a huge win! that means a server would have
> 25% more capacity or you could serve the same number of requests with
> 75% of the hardware you currently need.
>
> -Steve W
>
> Paul Ramsey wrote:
>> On Tue, Nov 4, 2008 at 10:54 AM, Steve Lime
>> <Steve.Lime at dnr.state.mn.us> wrote:
>>> A good threat, probably long overdue. Do you have any feel for the
>>> performance end of things? I recall the Geoserver tests showing
>>> GeoServer performing substantially better than MapServer w/regards to
>>> PostGIS.
>>
>> OK, this isn't testing against Geoserver, just against 5.2, and the
>> result is, 5.4trunk is maybe 5% slower. Which is not unsurprising,
>> since now the geometry is transiting a text encoding on the way. I
>> had my fingers crossed that the simpler database handling would speed
>> things up, but no go.
>>
>> In terms of straight-up profiling information:
>>
>> 25% of cycles are still spent in pj_init, and this is *after* I moved
>> the two relevant EPSG codes to the top of the file. Geoserver has
>> objects cached. 20% of cycles are spent in image compression (gif or
>> png). The Geoserver ImageIO might have optimized image compressors
>> (my work with IPP impresses on me how much gain is available in this
>> area).
>>
>> The penalty for parsing the proj4 definitions every time, even for
>> layers that aren't being drawn, is certainly high, and of course
>> grows the more layers you have. However, these overheads also exist
>> in the shape file chain, so the difference between PostGIS and Shape
>> relative to Geoserver remains unexplained.
>>
>> P. _______________________________________________ mapserver-dev
>> mailing list mapserver-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
>
> _______________________________________________
> mapserver-dev mailing list
> mapserver-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-dev
--
Daniel Morissette
http://www.mapgears.com/
More information about the mapserver-dev
mailing list