How many layers should be in a MapService - what are the tradeoffs?

Tagged:
Freelance Jobs

When setting up MapServices for ArcGIS, I'm often given an mxd that has many layers in it and told to publish it.

Should I have more mapservices with fewer layers in each, or fewer mapservices with more layers in each?

What are the tradeoffs ?


Kirk KuykendallH
2011-11-18 16:41:02 Scores:5

3 answers

Answer 1
Scores:3

Map services are pretty costly. They require at least 1 ArcSOC process to always be running and always consuming memory (60 - 100 MB/each on my box - not exactly insignificant). Windows also has a capped Desktop Heap that can be problematic when starting lots of processes. I have frequently seen clients go down the "lets keep adding map services" route only to find out they quickly hit the top of what their server can support. Each map service would also require its own database connections which may be important to consider.

I would assume there are performance penalties with large numbers of layers in a single service as well. I don't have any information on what that is, but I can't imagine its as costly as additional map services.

Brandon Copeland H
2011-11-18 18:08:55
Answer 2
Scores:2

When publishing a service, it's always good to consider the target audience and their purposes in the map. Do they need a fast map? Do they need an accurate map? A pretty one? Do they want to swipe things out of the way? Are they going to scribble all over it?

If your layers have multiple different data sources, then grouping the layers that come from similar data sources (either exactly the same, or the same projection, or the same average speed) can work well. Then, you're not waiting for the slowest layer to load up to get your entire map image.

If it is likely that your users will have a specific business need for a bunch of layers, then being able to turn off or fade out the service is handy. It's much easier to draw a whole map image at 50% transparency on the client than it is to get the server to paint it that way.

If labeling and rendering are very important, then having fewer services with more layers will likely work better. Having multiple services render their own labels and then compositing together will result in more label collisions than a single service with lots of layers, since ArcGIS Server won't be able to "plan" where each label goes in the different services.

Similarly, if you are dealing with semitransparent polygons, then having them all in one service will work better for compositing the images, especially if you're also drawing with a photo layer where JPEG compression will help.

mwalker H
2011-11-18 19:11:37
I would add security to this list. ArcGIS Server security stops at the service level. If you need layer level security you'll need to break your layers into many map services.
Ryan Taylor H
2011-11-18 20:10:38 Scores:1
Answer 3
Scores:0

Group the fc's where ever possible into subtypes that reduces the overload on the server as well as that gives an opportunity to maintain less number of fc in a map service.

Ramakrishna Billakanti H
2011-11-18 18:22:41
Share |
View original post at gis.stackexchange.com

Related topics

How do I get a json list of REST SOE's supported by a Mapservice?

The html returned by a rest mapservice url includes "supported extensions" down at the bottom. However the json returned does not list the extensions. Is there a way to get this list of SOE's in a json format? I'd include a sample url, but I ...

Is it possible to rearrange layers on the fly?

I'm involved in a project where one of the main features is that the users will have the ability to select wich layers will be available for him to view on the map, the layers then should be loaded into the map and the toc components. The project is web based ...

How can I change the priority for MapService Process?

I've got an asynch GP service that exports mxds to pdfs. Typically the mxd contains mapservice layers. The same MapServices are also used by interactive clients where draw speed is important. Drawspeed is not that important for the GP service though. When the GP service does an export ...

Layers fail to draw when generating tile cache in AGS

I recently created an MXD-based map service on AGS 9.3.1 SP2. The map seems to render fine as a dynamic service, but when I convert to a cached service and attempt to generate tiles, the operation fails: ERROR 000569: Failed to generate cache. All server contexts failed to cache map. Failed to ...

arcGIS ADF - map disappear when I add graphic layers

I'm trying to add a graphic layer in a web ADF application with arcGIS for asp.net, but every time I add a graphic layer to the MapResourceManager, the map disappears! To better understand this: here's the simple app with the only element in the MapResourceManager being the map service (OGC (WMS) ...

What is a good method for serving many static map layers through ArcGIS Server 10?

I'm writing a Silverlight app that consumes some map services from ArcGIS Server 10.0 SP2 and I have about 15 layers of historical imagery I would like to give the user access to. This imagery doesn't change and I'd prefer to use a cached map service so the user ...

Is there a way to get layers from a .msd using arcpy?

I need the name of each layer in an .msd, but I could not find support using arcpy (ArcGIS 10.0). Is there a method I missed? In the current workflow, since I am publishing the document, I use the REST service: descriptionUrl = url + "/ArcGIS/rest/services/" + mapServer + "/MapServer?f=json" ...

Lots of layers in one or multiple services? (and why)

I have a conundrum that I am getting mixed advice on how to go about. Therefore id like to put it to GIS-SE for some justified answers. Scenario: Client has a web mapping application. Does not want to split into multiple smaller applications. Although this goes against ...

How to update raster or feature layers being used by ArcGIS Server by a Model

I have a mxd file that contains a few raster and feature layers that was published by ArcGIS Server as a map service. Meanwhile, a model was created to update the contents of the raster and feature layers in the mxd file. The intention is that all the users across ...

arcGIS ADF - map disappear when I add graphic layers

I'm trying to add a graphic layer in a web ADF application with arcGIS for asp.net, but every time I add a graphic layer to the MapResourceManager, the map disappears! To better understand this: here's the simple app with the only element in the MapResourceManager being the map service (OGC (WMS) ...