An updated blog from March 2020 can be found at this link. Please see updated steps there.
updated from an article published March 2017
News Flash! ArcGIS Online users make great Apps that are used to inform and engage the public about important and interesting geospatial topics. Apps hosted on ArcGIS Online are easily shareable and can receive hundreds of thousands of views in a short amount of time. ArcGIS Online scales to meet the demand of your application, making it easy to create and share applications that may receive a high demand of requests (1000s of request per second) from your users.
Consider a natural disaster, where apps are created to inform the public of evacuation zones and shelters. These apps may receive hundreds of thousands of views in a matter of days, receiving a high amount of web traffic. In order to ensure that these apps are performing at their best under high demand, consider these best practices for layer management, so ArcGIS Online can handle the rest.
Host your data and apps on scalable infrastructure
Ensure that your layers and apps are hosted on architecture that is ready to meet the demand of your audience. If you have a dedicated team ready to manage the resources of ArcGIS Enterprise/Server have them monitoring your resources. If you don’t have a dedicated person/team, publish your layers and applications to ArcGIS Online. Let us manage the infrastructure and scaling so that your apps perform and are available when its critical.
Pick the most appropriate Layer Type for your data and workflow
- Create a tile service for large complex datasets that don’t need to be updated frequently. Check out this article for best practices when using tile layers as operational layers. Tip: Enable pop ups on your tiled layer and include attribute information.
- Use a Feature Collection if your data has less than 1,000 features and doesn’t need to be updated by multiple users.
- Use a Hosted Feature Service that is optimized for high demand for data that will be updated by a group of editors or needs to show a subset of the original dataset.
Hosted Feature Services Optimized for High Demand Checklist
- Editing is Disabled
- No Filters on the layer (use feature layer views)
- Increase the Cache Control to at least 5 minutes (where applicable) for the layer
Increase Cache Control
When a layer is shared with the public, it is cached by a Content Delivery Network (CDN). The Cache Control is a service setting that determines how long a service response is stored by the CDN. By default, the CDN checks back to the service with with every request to look for new updates. If this value is increased, the CDN will not check back to the service for updates the time specified. This reduces the load on the server improving the scalability and performance for layers under load. We recommend setting this value for feature layer where data is not updated more often than once a minute.
Instructions to enable control cache setting:
- Navigate to the Settings Tab of the feature layer and Scroll down to Cache Control
- Select the appropriate amount of time based on your data update schedule
Tip: If you noticed the setting is disabled, ensure that the layer is shared publicly and editing is disabled and for the hosted feature layer view that is included in the public application.
Apps with updating data
Many apps, especially in the emergency management space need to show updating data, requiring the ability to edit and display data in an easily scalable way. The December 2016 release of ArcGIS Online, introduced the ability to create hosted feature layer views. This allowed data owners to create an editable and uneditable view to achieve this requirement. The March 2017 release added the ability to set view definitions, allowing data owners to specify the features and fields displayed in each view.
To configure a feature layer view that is optimized for high demand from a layer that can be edited by a group of editors, follow these steps:
First, publish your primary hosted feature layer which will be your Editable layer.
- Name it something that is easy to identify like Shelters_ edit
- Ensure that your editing settings are appropriate for who will be updating the data.
- Create a web map and app that contains the editable layer.
- Share the layer, app and map with a group where editors are members of the group.
After following these steps, the layer will be ready to be edited by only the members in your group.
Next, create a hosted feature layer view that it is optimized for high demand.
- Navigate to the Primary layer that you just created and select the Create View button.
- Name the layer something that is easy to identify like Shelters_ display
- Ensure that this layer meets all of the requirements outlined in the optimized for high demand checklist.
Lastly, add a thumbnail and descriptive summary text to your item details page so that this information appears in social sharing and ArcGIS Online searches. Then take a step back to your admire great app that is ready to scale to meet the interest and high demand of web traffic that awaits.