A Conundrum: How can we manage 100 layers to be converted as the services

789
3
08-26-2016 06:58 AM
PrasannaSivakumar
New Contributor II

I have the requirement given as, there are 100 layers in an SDE, separated in their own different types of datasets. Now, for creating a webMap application using these layers, is it a good thing to create 100 individual layers and store it in the server and let the map keep querying them every time it is needed(will adding cache to all the layers will increase it's performace??) or create the services as per the datasets and cache it for faster performance (will this help in loading the map more faster than the above option??) and use DynamicMapService for the application or is there any other efficient way to actually use this and also be more fast in the renderring of the map

if we create a service wilth all the 100 layers on it and with tiled service capabilities and caching, (this got rendered and map getting loaded way faster than other above options) is ther any way we can manipulate the TiledMapService layers? like we do with the other service? 

Iam completely perplexed . Any help will be appreciated. 

P.S. There some layers with more than 50k data on it. So, the map performance is first priority now.

0 Kudos
3 Replies
JonathanQuinn
Esri Frequent Contributor

There are two things to consider, performance of individual services but also the performance of your system in general.

In regards to the individual services, if you have a lot of data in a single dynamic service without considering scale dependencies and other optimizations, then that service may be slow.  If you do this for multiple services in a webmap, then that could cause significant problems.  You can consider caching services, which will definitely improve the display performance, but will add some maintenance costs as whenever the data changes, you'll need to update the cache.  Querying will still work fine even if it's cached, as long as the data is always available.  In response to your question on updating the image returned from a cache dynamically, since caches are simply retrieved from images on disk, there's no way to alter the image.  If you're primarily concerned with map service performance, caching data that won't change often should be your first consideration.  Answers to whether you should have cached vs non-cached, lots of services or one large services, often come down to what are you using the service for, (viewing only, for example), how often the data changes, and even the data source and location.  It may be best to take a look at something like System Test to get quantifiable data on the performance of your services.

In regards to the performance of your system, if you publish 100 individual map services, (on top of however many other services you have), and your system doesn't have adequate amounts of RAM to support them, then you'll run into performance issues.  Make sure that your machine can support the amount of services you want to have.

0 Kudos
PrasannaSivakumar
New Contributor II

Thanks a ton for the quick reply. I appreciate it and it is really helpful for me to understand about it.

One more question, by any chance you know whether we can use the TiledMapService layers for querying and identifying features on them? like we do in other services as DynamicMapService? I am using javascript API of ArcGIS, is there any possibilities for it?

0 Kudos
JonathanQuinn
Esri Frequent Contributor

As long as the data for the layers is still accessible, layers in cached services can be queried:

Ex:

Demographics/USA_1990-2000_Population_Change (MapServer) 

https://services.arcgisonline.com/arcgis/rest/services/Demographics/USA_1990-2000_Population_Change/...