[mapguide-users] Two performance questions

Martin Morrison martin.morrison at edsi.com
Fri Feb 20 13:34:14 EST 2009

A couple of notes about this thread.  You need to test for yourself the different methods.  In general I agree with what the other posters have said with a few exceptions.

On RDBMS vs SDF. If you are serving many layers from one datasource and they need filtering, use an RDMS (Oracle or SQL Spatial).  The filter will return a subset of data and render fairly quick.  You are also splitting the work load so the Mapguide server doesn't have to do all of the work in its' own single-threaded world.

Take the time to optimize the little things.  They add up.  E.G. Do you really need to have all of the Apache modules turned on?  Cleanup the data, do you really need to define 10 billion points along a straight line?  Defrag the server.  Free up RAM on the server.  Look at your anti-virus, you may to exclude some directories and processes.

Reliabilty and performance gains usually don't have a magic bullet.  They usually take a lot of effort to go through code and the server to realize the optimum gains.  Benchmark specific items.  All of the code rework in the world isn't going to help a disk bottleneck or lack of memory.


-----Original Message-----
From: mapguide-users-bounces at lists.osgeo.org [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Jason Birch
Sent: Friday, February 20, 2009 12:18 PM
To: MapGuide Users Mail List
Subject: RE: [mapguide-users] Two performance questions

Hi Stuart,

Are you on Linux or Apache?  Windows Server 2008 has the option of
allocating multiple worker processes to a single application pool, but
I'm not sure if this has a performance benefit.  It appears to be
recommended against in the Sharepoint best practices anyway...

Zac definitely has more experience with large volume, high-performance
mapping that I do, but I think in this case that the primary performance
problem is not due to the resources being managed or unmanaged, but is
instead due to storing multiple files in the same directory, especially
for formats (like SHP) that enumerate the directory looking for feature
classes.  My memory is a bit fuzzy on this though and I think Zac may
have had something else to say about this last time it came up here;
maybe managed resources are cached better?

I personally have not seen any performance difference between Managed
and Unmanaged when dealing with self-contained data files like SDF.  The
performance difference between SDF and SQLite is much more noticeable in
my experience; definitely worth looking into.  As is the performance
difference between complex geometry (curvepolygons, multicurvepolygons,
etc), compared to simple, generalized geometry, and removing unnecessary
columns can make a difference because MapGuide needs to request all data
for rendering in case it's referenced in symbol definitions.  You can
get a LOT of mileage from data prep.

For fast tile seeding, it may make sense to distribute the seeding to a
few dedicated back-end servers, and then copy the cached files up to the
production server.

Have you tried the MgCooker tile cache seeder that is built into the
latest Maestro preview?  I just blogged about this:


I have no idea how the performance compares to the JS-based seeder


-----Original Message-----
From: gingerbbm
Sent: February-20-09 3:16 AM
Subject: [mapguide-users] Two performance questions

1. Is there anything I can do to tweak ISAPI in the same way as is
for FastCGI? I suppose not because when I run Zac's seeder, Task Manager
showing all eight cores being utilised equally.

2. Is there any advantage in loading our SDFs into a repository? At the
moment they're just external. This page...

mapguide-users mailing list
mapguide-users at lists.osgeo.org

More information about the mapguide-users mailing list