GIS services are designed to perform as efficiently as possible. When a request is made to a GIS service, such as to pan a map or navigate to an address, a number of factors determine the response time. For example, each service consumes memory and CPU to run. When organizations run many services concurrently and the use exceeds available system memory, their GIS users may experience performance issues.
ArcGIS Enterprise administrators should monitor service usage in their organization and limit resources when performance is impacted by memory usage.
Your users should experience quick results when they interact with your services (including products built on services, such as web maps and apps). Adequate resources are necessary to handle the traffic your services receive.
Strive to limit resources to only those that are needed without affecting performance. This can be done by monitoring service usage, allocating service resources, and setting service modes to isolate resources for services that require dedicated resources and distributing shared resources for those that don't.
ArcGIS Enterprise on Kubernetes includes the following two service modes:
- Shared
- Dedicated
The type of mode that each service uses determines the impact on system memory consumption and, for services that receive heavy traffic, its potential impact on service performance. Learn how to update the service mode for a service or set of services.
Shared mode
When you use shared mode, service pods perform work for any service of a particular service type. A shared set of pods are used to process requests for all services that have been set to shared mode.
Shared resources are also separated by service type; they can perform work for any service of that service type. For example, a set of map services running in shared mode can perform the work of every map service in the deployment that is designated to use shared mode.
Services in shared mode are supported by a set of shared pods. When a client makes a request to a service in shared mode, the request is routed to a pod from the shared deployment that will then proceed to process the request. Using shared mode will save on resource usage costs, as the resources are shared between several services that use shared mode.
In the example above, six individual map services are set to shared mode and are supported by eight pods in a shared map service deployment. Any traffic received by these six services can be supported by any of the pods in the shared service deployment.
In the following example, three individual hosted feature services are supported by six pods in a shared feature service deployment.
Configure shared resources
You can use the shared mode to configure shared resources for all map or feature services. When you use this option, you are configuring resources for all services of that particular type.
- On the GIS services tab on the Services page, select Configure shared resources.
- Choose Shared feature service resources or Shared map service resources for Type.
- Optionally, change the values for Number of pods and Resource limits.
Alternatively, you can set the mode, number of pods, resource limits, and service times by updating service deployments individually.
Dedicated mode
When you use dedicated mode for a service, a set of one or more pods is designated exclusively to process requests for that service. For example, when you publish a map service that is configured in dedicated mode, one map service deployment is created for this service, and it will include one or more pods dedicated to serving that map service.
A dedicated map service deployment contains a defined number of pods. Each service can be configured independently of others to handle service requests as needed. Scenarios in which services are receiving high traffic consistently are potential candidates for moving the services to using dedicated mode.
In the example above, two distinct services are configured for dedicated mode; a map service is supported with one pod and another map service is supported with two pods.
Configure dedicated resources
When you want to allocate dedicated resources to a GIS service, you can update the service to run in dedicated mode.
- On the GIS services tab on the Services page, select the service that you want to configure dedicated resources for.
- Click the Settings tab.
- Click Edit mode.
- Enable the option to run in Dedicated mode to run using its own dedicated resources.
- Optionally, change the values for Number of pods and Resource limits.