As an ArcGIS Server administrator, you may occasionally be faced with decisions for how to best optimize the services within your site for performance, reduce wait-times, and eliminate service down times.
For example, imagine you have received phone calls from a user indicating she is experiencing unusual or even unacceptable wait-times for a particular service to display. Or, imagine one of your services or a set of services used in a popular web application is expected to be heavily used in coming days. What are the best ways to prepare for and mitigate these types of issues once they arise? By practicing the following best practices with regularity, you can increase efficiency and performance in your site and for your users.
This tutorial highlights common scenarios encountered in an ArcGIS Server site and suggests troubleshooting steps and best practices to account for each.
Use ArcGIS Server Manager logs to monitor service performance
One of the most effective ways to determine where an issue lies with your site is to use Server Manager logs to monitor events, identify potential errors, and troubleshoot problems. Server logs enable you to capture, query, and view events such as the following:
- Layer draw times
- Service usage
- Stopped services
To illustrate how Server Manager logs can help you identify service issues, consider the following scenario and its potential causes and solutions.
Scenario
You've been contacted by a user in your organization who is experiencing unacceptable display times for a particular map service. After conducting tests with the map service in question, you discover that a particular layer in the map service is slow to draw. To investigate further, you troubleshoot map service performance with server logs and isolate information pertaining to this particular map service.
Potential cause #1
Upon review of Server Manager logs, you discover excessive draw times for a layer (or layers) in the service.
Common solutions for #1
Use the following best practices to optimize the map for performance:
- Use scale dependent rendering
- Remove unused layers and data frames
- Use validation for definition queries
- Simplify layer symbology
- Consider using cached maps when possible (if the data changes infrequently, for example)
- For more information, see Performance tips for uncached maps.
After reviewing the service, implementing tips for optimization, and republishing the service, you and your colleague see a significant improvement in the responsiveness of the map service.
Potential cause #2
Server Manager logs indicate that lagging network access to a layer within the service could be degrading service performance.
Common solutions for #2
Use the following best practices for data access and management to minimize network latency and optimize service performance:
- Optimize query layers. For more information, see What is a query layer? and Creating a query layer.
- Determine whether an enterprise geodatabase or a file geodatabase is optimal for this particular service. For more information, see Data storage considerations for an ArcGIS Server site.
- Review Data store scenarios for image services for publishing tips.
- Review Registering data as versioned and Unregistering data as versioned.
After reviewing the service, implementing tips for data access and management, and republishing the service, you and your colleague see a significant improvement in the responsiveness of the map service.
Use ArcGIS Server statistics to monitor service activity
Server statistics are another valuable tool for monitoring service activity on your site and are located on the Logs tab in Server Manager. Server statistics provide an overview of activity for your services such as the following:
- What is the total number of requests that my site handled during the past week?
- How are my services performing on an hourly basis?
- What was the maximum number of service instances used at a given time for a particular service?
To illustrate how ArcGIS Server statistics can help you allocate service resources effectively, consider the following scenario and its potential cause and solutions.
Scenario
You've created a highly sought after web app and would like to expose it to a wider audience on an announced date, which is coming up later in the week. Because you're anticipating a high volume of requests for the services in this app, you want to ensure you have adequate machine resources to support its use.
To allocate ample server machine resources to support high utilization of this web app, you'll review ArcGIS Server statistics to identify infrequently used services and adjust service properties accordingly to accommodate consumers of this app. In turn, you'll adjust service properties accordingly for the services to be consumed in the web app.
Potential solution
Manage and fine-tune service properties to allocate resources for your site. For example, consider the length of time users spend using services. Are they being used beyond their maximum usage time? Are your end users encountering time-outs due to excessive requests on a service?
Use the following recommendations as a guide to adjust service properties to anticipate and accommodate end users:
- Identify the most frequently used services and increase minimum instances for each. Doing so will decrease wait time for your end users.
- Identify the most infrequently used services and change minimum instances to 0. Doing so can help free up resources for other, more utilized services.
- Increase minimum and maximum instances, wait times, idle time, and usage time where appropriate to help mitigate delays for your end users.
- Decrease instance, wait time, and idle time where appropriate to potentially free up system resources for services that need it most.
Additional information about managing service resources and your site
- When using dynamic maps, consider the impacts adding additional hosted feature layers will have on your map's performance. For example, as you reach maps with 100 hosted feature layers or more, you will become more likely to see impacts to the map's performance.
- When possible, use cached (tiled) map services rather than dynamic map services. For more information, see What is map caching.
- Consider recommendations for data storage, such as enterprise versus local data. For more information, see Data storage considerations for an ArcGIS Server site.
- Consider recommendations for tuning and configuring services.
- Consider recommendations for accommodating users by adjusting services properties.