Follow these best practices (where relevant to your deployment) to ensure that the users of a geospatial system see acceptable performance across interfaces, workflows and data access.
Identifier | Best practice |
---|---|
P.1 | Establish a performance baseline for your system, by using key workflows and steady-state operations to measure and record the regular performance of the system. This baseline will allow you to identify meaningful deviations from the baseline, filtering out the noise of a few slow requests or user-introduced performance issues. A clear baseline and use of testing tools also helps to distinguish between experienced performance, which can be subjective to a user, and observed performance, which is measured and tracked over time. |
P.2 | Create monitors that regularly track key workflow indicators - use mix of monitoring uptime and understanding telemetry to watch for changes in system performance. Regularly test standard workflows to look for any qualitative or quantitative performance degradation. |
P.3 | Design your system to meet the expected user load, and to be ready to scale if you anticipate a growth of usage. Readiness to scale means that components are configured to quickly change to a multi-machine or high-availability configuration, or additional virtual or physical hardware resources can be requisitioned and deployed quickly. |
P.4 | Carefully review the full stack - be familiar with every piece of an architecture, from infrastructure configuration to data structures, service creation, application selection and workflow design. Each component can contribute positively or negatively to the performance of the system. |
P.5 | Support ArcGIS Pro deployments with sufficient hardware. For ArcGIS Pro users or administrators, review the ArcGIS Pro performance documentation and ensure that sufficient resources are allocated to client systems. |
P.6 | Separate costly workloads to dedicated infrastructure or sites. Workload separation ensures that costly or problematic workflows do not negatively affect other users of the system. |