[mapserver-dev] mapserver 5.4 beta performance test

Guillaume Sueur no-reply at neogeo-online.net
Tue Mar 31 12:30:02 EDT 2009


I agree Paul.
I've just ran a test on a server, and extracting a specific type of
streets on a half extent of the dataset is 1.577s with postgis when no
index is declared on the filter field, 0.167 with an index and 0.494
with shapefile.

Thanks for your hints

Guillaume





Paul Ramsey a écrit :
> 
> On Mar 31, 2009, at 8:57 AM, Guillaume Sueur wrote:
> 
>> Thanks for this piece of info Paul. I'm a bit disappointed by the nearly
>> 10 speed factor difference between PostGIS layer and shapefile layer on
>> that large dataset. I did my test on my personnal PC though. I will test
>> that on a fast server as well.
> 
> I'm not too disappointed. Retrieving the entirety of a large table is
> degenerate case. As long as the performance remains acceptable in the
> "drawing a few thousand features" case, I'm OK with it.  Databases are
> optimized for random access, not bulk access.
> 
> P.
> 
>>
>>
>> Best regards,
>>
>> Guillaume
>>
>> Paul Ramsey a écrit :
>>> I moved from a binary to a text cursor for 5.4, which has a
>>> performance penalty. It also has a huge code simplicity bonus, which I
>>> judged worth it (binary cursors have to be managed within transaction
>>> blocks, which adds a surprisingly high complexity overhead). I changed
>>> the text encoding during the code sprint, so if your test is using
>>> code from before then, the next release should be slightly faster,
>>> though still probably slower than the 5.2 code.
>>>
>>> P.
>>>
>>> On Tue, Mar 31, 2009 at 7:49 AM, Guillaume Sueur
>>> <no-reply at neogeo-online.net> wrote:
>>>> Another weird point :
>>>>
>>>> If I ask for the whole dataset, 5.4 is slower than 5.2 (11 and 9 secs)
>>>> but with a filter on an indexed field, I get 0.607s with 5.4 and 2.3s
>>>> with 5.2.
>>>>
>>>> If I use the shapefile of the data I get :
>>>> whole dataset :
>>>> 5.4 : 1s
>>>> 5.2 : 1s
>>>> with a filter on :
>>>> 5.4 : 0.76s
>>>> 5.2 : 0.76s
>>>>
>>>> So, as far as I can tell, shapefile still goes much faster than PostGIS
>>>> layers, with various differences between 5.2 and 5.4
>>>> 5.2 and 5.4 are equal when dealing with shapefiles.
>>>>
>>>> Does this sound ok for you devs ?
>>>>
>>>> Regards
>>>>
>>>> Guillaume
>>>>
>>>>
>>>> Guillaume Sueur a écrit :
>>>>> Hi,
>>>>>
>>>>> I'd like to share some strange results I've got back when testing
>>>>> mapserver 5.4 beta on a huge streets postgis layer.
>>>>>
>>>>> here are the tests :
>>>>> 5.4 beta DEBUG ON -----------------------------------------------
>>>>> time /usr/local/src/mapserver-5.4.0-beta3/shp2img -m test.map
>>>>> -map_debug 5 -o test.png
>>>>> [Tue Mar 31 15:49:15 2009].935351 msDrawMap(): Layer 0 (streets),
>>>>> 1.617s
>>>>> [Tue Mar 31 15:49:15 2009].935551 msDrawMap(): Drawing Label Cache,
>>>>> 0.000s
>>>>> [Tue Mar 31 15:49:15 2009].935603 msDrawMap() total time: 1.619s
>>>>> [Tue Mar 31 15:49:16 2009].24176 msSaveImage() total time: 0.089s
>>>>> [Tue Mar 31 15:49:16 2009].24347 msFreeMap(): freeing map at
>>>>> 0x818f8e0.
>>>>>
>>>>> real  0m1.719s
>>>>> user  0m0.284s
>>>>> sys   0m0.028s
>>>>>
>>>>> 5.4 BETA DEBUG OFF ---------------------------------------------
>>>>> time /usr/local/src/mapserver-5.4.0-beta3/shp2img -m test.map -o
>>>>> test.png
>>>>>
>>>>> real  0m1.994s
>>>>> user  0m0.408s
>>>>> sys   0m0.020s
>>>>>
>>>>> as you can see it goes faster with debug ON (tested several times)
>>>>>
>>>>> if I try it back with mapserver 5.2 I get :
>>>>>
>>>>> 5.2 DEBUG ON -----------------------------------------------
>>>>> time /usr/local/src/mapserver-5.2.0/shp2img -m test.map -map_debug
>>>>> 5 -o
>>>>> test.png
>>>>> [Tue Mar 31 15:52:01 2009].891334 msDrawMap(): Layer 0 (streets),
>>>>> 1.434s
>>>>> [Tue Mar 31 15:52:01 2009].891549 msDrawMap(): Drawing Label Cache,
>>>>> 0.000s
>>>>> [Tue Mar 31 15:52:01 2009].891603 msDrawMap() total time: 1.437s
>>>>> [Tue Mar 31 15:52:02 2009].43083 msSaveImage() total time: 0.151s
>>>>> [Tue Mar 31 15:52:02 2009].43240 msFreeMap(): freeing map at
>>>>> 0x81878e0.
>>>>>
>>>>> real  0m1.599s
>>>>> user  0m0.268s
>>>>> sys   0m0.016s
>>>>>
>>>>> 5.2 DEBUG OFF  -----------------------------------------------
>>>>>
>>>>> time /usr/local/src/mapserver-5.2.0/shp2img -m test.map -o test.png
>>>>>
>>>>> real  0m1.481s
>>>>> user  0m0.296s
>>>>> sys   0m0.008s
>>>>>
>>>>>
>>>>> So the 5.4beta seems definitely slower than 5.2, and goes even slower
>>>>> when DEBUG is off.
>>>>>
>>>>> Is there a special setting activated by default on beta releases which
>>>>> could explain that ?
>>>>>
>>>>> Best regards
>>>>>
>>>>> Guillaume
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>
>>>
> 
> 
> -- 
> Paul Ramsey
> OpenGeo - http://opengeo.org
> Food, survival gear, weapons, shelter, PostGIS. Go!
> 
> 
> 


More information about the mapserver-dev mailing list