[mapserver-users] MapServer 5.2.1 performance

Gorka López Rivacoba gorka.lopez at geograma.com
Wed Sep 2 02:42:23 EDT 2009


Hi Andy,

Thanks for your response.

I get the timings using mapfile debug (level 3). Besides, I use JMeter to ask for random tiles and get the elapsed time. With these times, I have done some changes:

* I clean the coordinate system definitions that I don't use (this change is very important for the elapsed time)

* I see that most of the layers spent around 0,015 seconds for each. Some layers spent around 0.25 seconds and I could see that these layers have few geometries very complex (I try to break these geometries in others simpler)

In the example, the program and database are on the same box so there are not latency problems.

In my project, I use OpenLayers client that consumes Tilecache as mod_python and metatile (metaSize=3,3 and size=512,512 pixels) that consumes mapserver as fast cgi. The requested time is asking tiles to mapserver as fast cgi.

Do I forget something to improve the performance?

Best regards,

Gorka López

-----Mensaje original-----
De: Andy Colson [mailto:andy at squeakycode.net] 
Enviado el: jueves, 27 de agosto de 2009 16:07
Para: Gorka López Rivacoba
CC: mapserver-users at lists.osgeo.org
Asunto: Re: [mapserver-users] MapServer 5.2.1 performance

Gorka Lopez wrote:
> Hi,
> 
> I have a .map file with 120 layers. All this layers contain different
> information and this project is prepared to consume all these layers
> together. The style of those layers is basic (some annotations and some
> tematics)
> 
> This layers consumes PostGIS tables (28 tables) which disk spaces are
> between 1 MB and 1GB (database total space: 2,5GB). The indexes of these
> tables (gist and btrees indexes) and the statistics are created. These
> information are in the same coordinate system that in the requested tiles.
> 
> I want to improve the performance and I have the following results for a
> 512x512 tile:
> 
> * 27 milliseconds per visible layer (layers that are visible in the map's
> scale (40 layers))
> * 18 millisecods per non-visible layer (layers that are not visible in the
> map' scale (80 layers))
> 
> Is there any solution to improve this results (I just use tilechache
> metatile property)? I think that 18 milliseconds per non-visible layer is
> too much (only for evaluating wether the requested tile is contained in the
> layer's min/max scale)
> 
> Thanks for your help.
> 
> Best regards,
> 
> Gorka López
> 

Did you use the mapfile debug to get the timings?  Did you profile any 
of the sql statements?  (In PG do you log slow sql statements?  Or log 
them all and use 'explain analyze' on them to make sure they are all 
running fast?)

Are the program and database on the same box?  (ie is there network 
latency problems?)

Are you using mapserv as cgi?  OpenLayers?  something else?

-Andy


More information about the mapserver-users mailing list