Perphaps some results from mapscript performance tests would be helpful for me. <br>Here is some details as you wish:<br><br><span style="font-weight: bold;">Environment:</span><br>QA Server: 2x3GHz Pentium (PRD: 4 - 8 processors)
<br>
Application Server: IIS 5.0/6.0<br>
Memory: 3GB<br>
OS: WinXP or 2003 Server<br>
Technology: .NET/C#<br>
Application type: webservice<br><br><span style="font-weight: bold;">Data: </span><br>Map of Poland, shapefiles, above layers: <br>roads ( 600k polylines, categorized by attribute in table), <br>railroads (2K polylines)<br>
towns: (60K points, 3K polygons)<br>some adminitration districts (regions, subregions, etc, summary: 10Kpolygons in 3 layers)<br>forest, parks,etc (30K polygons)<br>lakes and rivers ( 21K polylines, 7K polygons)<br><br>Additional layers:
<br>Labels of almost each layer in good quality (antialiasing) - visible depends on scale.<br>Some data from my business client (could be e.g. 100K polygons in 3 layers)<br><br><span style="font-weight: bold;">Example application:
</span><br>Performance requirement: 1000 users sessions/hour.<br>Users session definition:<br>Session time: few random (avg. 10) minutes with doing actions zooming, changing coverage, on/off layers, etc.<br>Between actions user waits for avg 7 secs.
<br><br>WebService provide below functionality:<br>each user has its own map in session (will consider map pooling), data filtering (by atributes)<br>High quaility images like "<a href="http://maps.google.com">maps.google.com
</a>" but one image with 800x600 resolution<br><br>WebService methods:<br>bytes[] GetImage(sessionID) - getting image<br><br>SetZoom(sessionID, int zoom)<br>SetRectangle(.....<br>SetCenter<br>SetMapSize (default 800x600)
<br>SetLayerVisibility(sessionID, layerid, bool visibility)<br>PutSymbol( x,y, symbolID)<br>GetLegend<br>GetLayerAtributes<br>DrawLayerFiltered(sessionID, query) - drawing in memory, image with new layer will be returned by GetImage
<br>...<br>GetZoom,<br>GetCenter<br>etc.....<br><br><br>Can mapscript do it (quality and performance)? <br>How to store data: shapefiles or postgis? Maybe use 2 or 3 harddiscs if it will <font color="black" face="Arial" size="2">
increase</font> performance?<br>What about connection pooling to postgis, mapserver has one connection per process or more?<br><br>Please send be some advice, I will be very <font color="black" face="Arial" size="2">graceful.
</font><br><br><br>Best Regards,<br>Adrian<br><br><br><div><span class="gmail_quote">2008/1/22, Ed McNierney <<a href="mailto:ed@topozone.com">ed@topozone.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Adrian -<br><br>Well, what really matters is what "many" means to YOU and your application; my MapServer applications are probably quite different from yours, so if I have 2,000 simultaneous users that doesn't really tell you anything. If you can describe it in as much detail as possible, then it will make it much easier for us to give you advice. There are quite a few serious production implementation of both MapServer CGI and MapScript applications. And, as Dan correctly points out, a different tool might be even better for you.
<br><br> - Ed<br><br>Ed McNierney<br>Chief Mapmaker<br>Demand Media / TopoZone.com<br>73 Princeton Street, Suite 305<br>North Chelmsford, MA 01863<br><a href="mailto:ed@topozone.com">ed@topozone.com</a><br>Phone: +1 (978) 251-4242
<br>Fax: +1 (978) 251-1396<br><br>-----Original Message-----<br>From: UMN MapServer Developers List [mailto:<a href="mailto:MAPSERVER-DEV@LISTS.UMN.EDU">MAPSERVER-DEV@LISTS.UMN.EDU</a>] On Behalf Of Adrian Kruk<br>Sent: Tuesday, January 22, 2008 9:37 AM
<br>To: <a href="mailto:MAPSERVER-DEV@LISTS.UMN.EDU">MAPSERVER-DEV@LISTS.UMN.EDU</a><br>Subject: Re: [UMN_MAPSERVER-DEV] Is MapServer Thread-safe?<br><br>>Why do you think this is a "big limitation"? There are many MapServer
<br>users, >myself included, running MapServer as a CGI application - including<br>as a WMS >server - with "many clients running simultaneously".<br><br>What does mean "many" for you?<br><br>>What kind of equipment are you using and what kind of user load do you
<br>expect? >It sounds like you have concluded that a standard CGI WMS<br>application of >MapServer is simply unsuitable for you, and I haven't seen<br>information that >explains why you think that.<br><br>WMS is ok, but I need C# API to create any gis application (
e.g. with<br>adding/modyfing spatial features, with requested by bussiness client<br>webservice interface, etc).<br><br>The problem is with scalability with using mapscript. Changing server from 1<br>processor architecture to 4 performance will increase performance but I
<br>think that not much in really big workload.<br></blockquote></div><br><br clear="all"><br>-- <br>Pozdrawiam,<br>Adrian Kruk