Skip to main content

Configure service instance settings

ArcGIS Server allows you to use either shared instances or dedicated instances for each compatible map or image service published to an ArcGIS Server site from ArcGIS Pro. Using shared instances conserves memory usage by pooling several active server processes for use by multiple services. By doing so, it reduces the memory usage of services that are not actively handling requests.

This topic provides steps to set up your service instance settings.

Note:

You can inspect ArcSOC processes in your environment to detect which ArcSOCs are running for each server-based service on your ArcGIS Server machine.

You can perform a ps -ef | grep arcsoc command on your Linux machine and inspect the -Dservice= parameter for each process to find the service name associated with an ArcSOC process.

Note:

You can inspect ArcSOC processes in your environment to detect which ArcSOCs are running for each server-based service on your ArcGIS Server machine.

You can open the task manager and enable the command line option. The command line parameter will have the service name associated with any ArcSOC process.

Configure the instance type for a service

This section only applies to map services.

Note:

For image services, go to the ArcGIS Server Administrator Directory and use the changeProvider operation to set the instance type. Use ArcObjectsRasterRendering as the service provider for shared instance image services and use ArcObjects11 as the service provider for dedicated instance image services.

Administrators can also specify the instance type for an individual service after it has been published, overriding the default setting. To use the shared instance pool, a map service must have been published from ArcGIS Pro and meet the other requirements as described above.

To change the instance type for an individual service, complete the following steps:

  1. Share a web layer (as a map image layer) or a web map from ArcGIS Pro to ArcGIS Enterprise.

    Note:

    Only certain capabilities of map services—feature access, WFS, WMS, and KML—can be enabled on a map service that uses the shared instance pool.

    A map service is created on your federated ArcGIS Server.

  2. Sign in to ArcGIS Server Manager as an administrator.

    The URL is formatted https://webadaptor.example.com/arcgis/manager.

  3. Locate the map service.

  4. Click Edit Service.

  5. On the side of the page, click the Pooling tab.

    This tab allows you to specify the range of dedicated instances for the services (if applicable), set service timeout properties, and designate whether the service uses dedicated instances or shared instances.

  6. Specify the type of pool the service will use: Shared instance pool or Dedicated instance pool.

    • When a service is configured to use the shared instance pool, some map service capabilities (on the Capabilities tab) will be unavailable. If you are unable to select the Shared instance pool option, ensure that you do not have any unsupported capabilities enabled on the map service. See the note in step 1.

    • When a service is configured to use the shared instance pool, the Specify Number of Instances section (for dedicated instance pools) becomes unavailable.

  7. When you are ready, click Save and restart.

    When the instance pool option has been changed on a map service, the service must restart.

You can change the instance pool used by a map service at any time; you may need to do so when service traffic patterns change.

Configure the shared instance pool

The number and configuration of instances in the shared instance pool may not be appropriate for the services that use the shared instance pool. Administrators can configure settings for the shared instance pool in their site using Server Manager. The available settings are the number of shared instances per machine and the cache size per shared instance.

The first time a new installation of ArcGIS Server hosts a compatible map or image service that uses the shared instance pool, the site starts running shared instances.

Note:

The service provider of a shared instance image service is different than the service provider of a shared instance map service.

The appropriate number of shared instances in the pool is equal to the number of CPU cores on each machine minus the number of instances used by dedicated services. For example, if dedicated services are using two instances on an eight core machine, it is appropriate to set the shared pool to use six instances.

If no services in your site are using shared instances, you can set the number of instances per machine to zero.

Note:

If you are using hyperthreading, vCPUs, or logical cores (for example, if your site is in a virtual or cloud environment), consider each logical core equal to one-half of a physical core.

Each instance in the shared pool caches information about the services that have received requests because caching this information improves the performance of subsequent requests for those same services. Each service that is cached takes up a small amount of memory.

The cache size setting controls how many services are cached by each instance in the shared instance pool. Unless you have a large amount of memory and a large number of services that are all regularly receiving requests, it's recommended that you keep the default value of 50 cached services per instance.

Consider raising the cache size value if you have more than 50 services that are regularly receiving requests, you are experiencing performance problems, and you have available memory you want to use for this purpose.

These suggestions are meant as starting points. Monitor your ArcGIS Server site to ensure that you make the most of the available resources and to ensure the site is not overloaded by traffic. The optimal number of instances in the pool and the optimal cache size for the instances depend on the amount of traffic serviced by the shared pool, the amount and type of data being served, and the amount of available computing resources.

For shared instance map services, follow these steps to specify the number of instances in the shared instance pool and their cache size:

  1. Sign in to ArcGIS Server Manager as an administrator. The URL is formatted https://webadaptor.example.com/arcgis/manager.

    The URL is formatted https://webadaptor.example.com/arcgis/manager

  2. On the Pooling page, browse to Site > Settings.

  3. Click the edit button for Shared Instance Settings.

  4. On the dialog box, change the values for Number of shared instances per machine or Cache size per shared instance as appropriate.

  5. Click Apply to confirm your selection.

Modify the schema lock setting for shared instance map services

For some organizations that operate under strict service level agreements (SLAs), schema changes must be made while still allowing the map service to remain accessible. To minimize the amount of time that a map service is not running, you can disable schema locking for the map service, which will allow you to modify the referenced dataset's schema without stopping the map service.

Consider the following before disabling schema locking:

  • When schema locking is disabled, it is recommended that you only update a schema when a service is idle. If you update a schema when a service is under load, users of the map service can experience unexpected behavior, such as missing layers and fields, failing queries, and unavailable services.

  • Changing the schema locking setting requires you to restart the service. Additionally, for changes to be reflected if you disable schema locking for the service, you must either restart the map service after schema changes that alter the definition of existing fields are completed or overwrite the map service if you added or deleted a field.

  • Disabling schema locking will do so for all services running shared instances.

To allow schema edits while a map service is running, complete the following steps:

  1. Sign in to ArcGIS Server Manager.

  2. Click Site > Settings > Pooling.

  3. Click Edit to edit the Shared Instance Settings.

  4. Click Parameters.

  5. Uncheck Lock Database Schema.

    Note:

    Lock database schema for shared instances is checked by default.

  6. Click Apply.

Configure default service instance settings for shared instance map services

Administrators can specify a default instance type setting for compatible map services published from ArcGIS Pro. When such a service is published to your server, it uses the default instance type. You can then change the instance type for the individual service using the steps in the next section.

New ArcGIS Server sites assign all compatible map services to the shared instance pool as the default instance setting. ArcGIS Server sites upgraded from a previous version maintain their default instance setting.

If you select shared instances to be the default instance type for your services, the setting only applies to compatible map services. Services that cannot use the shared instance pool continue to use their dedicated instance pool.

Changing the default instance type setting only affects services published in the future. It does not change the instance type settings for existing services.

Note:

The shared instance pool consumes a small amount of memory based on the number of services that receive requests. For a shared instance pool that handles requests for a large number of services, memory rises gradually as more services receive requests. This increase in memory consumption levels off after 50 or more services have received requests within a single recycle period.

To specify the default instance type for compatible map services, complete the following steps:

  1. Sign in to ArcGIS Server Manager as an administrator. The URL is formatted https://webadaptor.example.com/arcgis/manager.

    The URL is formatted https://webadaptor.example.com/arcgis/manager.

  2. On the Pooling page, browse to Site > Settings.

  3. To change the default instance type for compatible map services, click the edit button for Default Instance Type, and select the instance type for the default setting:

    • Select Dedicated instances if you anticipate that most of your services will receive frequent traffic or if you will not have enough services running in your server site to present a significant load on machine memory.

    • Select Shared instances if you publish many services that only receive infrequent requests or if you are concerned about additional services being published that will strain your memory resources.

  4. Click Apply to confirm your selection.