One of the most common challenges administrators face is configuring the performance of the Geocortex Essentials viewer, especially on startup. Viewer performance can be affected by both its site configuration and the configuration of the site's map services. Below you will find recommendations for configuring the Geocortex Essentials viewer and information on optimizing map service performance.
Update to the latest version of the HTML5 viewer.
- In particular, version 2.11 brought improvements to startup performance that can significantly reduce the time it takes to be able to start interacting with the viewer.
Check the viewer's current performance and identify possible issues by using the Developer Tools within the browser.
To open Developer Tools, press F12 within the browser.?
- Check the total time to load the site, which is located in the status bar along the top (Firefox) or bottom (Chrome) of the Network tab. Keep in mind that this is total time the site takes to completely load and does not necessarily mean the time that it takes to for the viewer to become responsive. For example, there may be some slower map services that will load in the background and the user will still be able to use the viewer as expected.
- In the Status column, are there any errors? For example, if there are HTTP 500 series errors, service requests could be timing out -- a common culprit for slow-to-load viewers. If there are HTTP 400 series errors, this may indicate that an authentication server or proxy server is taking too long to respond, negatively impacting startup performance.
- Sort the request list using the Time column. Are there any requests taking multiple seconds to load? If so, confirm what the request is for and determine if this is expected behavior. For example, a large or highly-detailed feature service may take several seconds to load, which is normal, but if it is a configuration file or smaller map service or layer, further investigation may be required.
- Sort the request list by the Size column. Are there any unusually large requests? The larger the size of the requests, the longer the viewer will take to load. If any of the items being requested are unusually large, determine what is being loaded and whether its size can be reduced.
- Open the Console tab. Are there any errors listed? In most cases, errors listed here will be browser- or software-related, but could contain network errors as well. Browser or software errors can also impact startup performance. If the error is unknown, try searching for the error in the VertiGIS Community to find more information.
Example site load in Chrome Developer tools:
Configure site performance within Geocortex Essentials:
- Use the Layer Catalog whenever possible. This will not only allow the user to have more control on which map services and layers are present in the viewer, it also avoids the need to have all map services and layers load on startup. This is especially useful for sites with many map services.
- Keep the number of feature layers to the minimum amount required. Feature layers are performance intensive during viewer initialization and general viewer usage.
- Add individual layers to the site, instead of entire map services. This is usually more effective with larger map services with many layers, but if individual layers within a map service can be added, this will keep the number of requests on startup to a minimum.
- For applications where it is not required, consider turning off the Enhanced Screen Reader Notifications in the Accessibility settings when editing the viewer configuration. In order to provide sufficient data about the map to a screen reader, a number of extra requests will be made when this setting is enabled.
- Prior to Essentials 4.5 and HTML5 viewer 2.6, when loading a site that used a Security Provider (e.g., Windows Authentication or Identity Server), the viewer would determine that authentication was required late in its initialization and would only then redirect the user to the sign-in page. When the authenticated user was directed back to the viewer, it would then re-initialize, effectively loading itself twice before displaying a map. As of Essentials 4.5 and HTML5 viewer 2.6, the viewer determines whether sign-in is required prior to loading most of its components, significantly reducing the time taken to load a secured site. If your site is secured and you are not using Essentials 4.5 and HTML5 viewer 2.6 (or higher), you should consider upgrading.
- Avoid complex permissions (users with many allow / deny permissions to many individual layers) within a site, if possible. More complex permission configurations can impact startup performance. Set user permissions on the entire map service or create defined groups with basic allow / deny to map services. In most cases, setting desired permissions will be acceptable, but it is worth investigating if the permission configurations are complex and all other possibilities have been explored (above).
- Avoid running workflows that contain complex queries or operations on startup. Consider providing instructions in the Home Panel on how to run the workflow (or configure the workflow to be run directly from the Home Panel itself).
Optimize and monitor map service performance using Esri resources:
- Use cached map services whenever possible. See the following article for more information:
- Tips on creating and maintaining map content for optimal performance:
- Use available logging in ArcGIS Server Manager: