[mapserver-dev] MapScript multithreading performance

adrian kruk adrian.kruk at gmail.com
Mon Feb 11 07:15:42 EST 2008


Hi,
I did some multithreading performance tests using C# mapscript (We've
discussed about safety and performance before)

I have run 200 threads running simultanously and performing actions like:
create mapObject, zoom, pan, query, draw, etc
Testing application environment:
-4processors server (Intel Xeon E5320)
-Win2003EE+SP3
-4GM RAM
-MapScript 5.1-DEV from
http://www.coordinatesolutions.com/download/ASPNET20Sample_50.zip
-1GB data in shapefiles on RAID

I expected performance problems with parsing mapfile (static variables,
locks). But there were no problems with it.
During parsing mapfile by 200 threads processors was used in 98-100%. So it
is perfect result.
But, I find problem probably with draw method. Each thread was executing
methods on its own map object like:
drawLegend, drawScalebar, queryByAttributes, zoomPoint, setExtent, Draw.
During running test application, and executing those methods, processors was
used in 25-35% ONLY (25% - one processor).
Its very poor result. I guess that problem may be related with using locks
in drawing process{ imageObj img = map.draw() }, which takes much more time
than other mapObject methods.

How to improve performance? It is hard to fix it?

Regards,
Adrian Kruk,
infovidematrix.pl
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-dev/attachments/20080211/5e09dc77/attachment.html


More information about the mapserver-dev mailing list