Map Service Authoring Considerations

Each Dekho map can be comprised of multiple services (see figure 2).  It is the ArcGIS Server administrator/publishers responsibility to ensure these services adhere to best practice before publishing and consuming within Dekho Maps (see figure 3). 

If these map services have not been authored with performance in mind, it will result in slow map rendering times which will flow through to the Dekho Map Client.



Figure 2 - One Dekho map can be comprised of multiple services.


Figure 3 - Ensure map service authoring adheres to best practice before being consumed in Dekho


It is out of the scope of this document to provide a comprehensive list of the do’s and don’ts for map service authoring. The key authoring considerations are listed below and for more details you can refer to the Map Authoring Considerations in the ArcGIS for Server help. For reference only, the top 8 guidelines are:

§ Set scale-dependent rendering for data layers

§ Remove unused layers and data frames

§ Use definition queries appropriately

§ Simplify layer symbology

§ Use annotation instead of labels

§ Simplify labels

§ Set scale-dependent rendering for labels

§ Use the same coordinate system for data and maps



Complexity does not scale well with dynamic map services.  As the amount of layers, features within layers, or verticies within features increases, rendering times will be impacted.  Ensure that only the layers that the users really need to see are displayed. Make use of scale ranges/definition queries; and simplify complex layers for small scales, switching to detailed layers for large scales.




The service analysers at 10.1 do address and enforce a certain level of best practice for authoring your map services in ArcGIS for Desktop before publishing to ArcGIS for Server.

When publishing your services, ensure all analyser messages are reviewed and attempt to take actions to resolve these messages.

It is also recommend to make use of the MXDperfstat tool.  This will report back on response times for multiple scale levels, layer refresh times for each map scale, provide layer performance statistics (such as number of features, vectors, labelling), and breaks out display time for several key rendering phases (such as geography, graphics, cursor, and database).




Tuning your services is also a vital step before consuming them in Dekho.  In particular, configuring the minimum/maximum number of instances for each service.  Please refer to the System Design Strategies wiki for more detailed information on optimising these settings for map service performance.



Make use of a Cached Basemap