Geoprocessing service settings: Advanced properties

The following properties for geoprocessing services are advanced settings that cannot be set using ArcGIS Server Manager or the Server Properties dialog box in ArcGIS Desktop. The majority of geoprocessing services do not require these settings to be modified.

Heap size

The heap size setting controls the maximum file size that can be provided from the client. It can be set at two levels: ArcGIS Server or service.

Changing the heap size at the service level provides better performance than changing the heap size from the server level. From ArcGIS Server10.7 on, the heap size can be set at the service level. The default size for each service is 64 MB. If you have an input file or feature class larger than the default size, change the service heap size as follows:

  1. From a web browser, browse to http://<Your Server Name>:6443/arcgis/admin.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click the Resources: Services link to see all the published services on a new page.
  4. Click the service for which you want to modify the heap size and open the page with all service properties.
  5. From the page with service properties, click the Supported Operations:edit link to see the page with editable service properties in JSON format.
    Service properties in JSON format
  6. If javaHeapSize is not listed in the service properties, add the property "javaHeapSize" : "128" in the JSON. If javaHeapSize is included, increase the value to the appropriate amount.
  7. Click Save Edits to save and finish editing.

To change the heap size at the server level, follow the steps below. By default, the SOC maximum heap size is set to 64 MB. Increase the default of the property to an appropriate amount.

Note:

A second heap size property for the legacy application server was available in versions prior to 10.7.

  1. In a web browser, browse to http://<Your Server Name>:6443/arcgis/admin.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click machines.
  4. Click the link in the format <Your Server Name>.<domain>.com, for example, server1.esri.com.
  5. On the Server Machine Properties page, click the edit link.
  6. Increase the value of SOC maximum heap size (in MB).
  7. Click Save Edits to finish editing.

Upload size

The upload size setting controls the file size that can be uploaded by clients connecting to the service through a REST endpoint. These clients are typically web clients using the service through a custom web application. By default, the limit is set to 2 GB. Use this setting to provide an appropriate default to prevent large uploads for your service.

  1. Open a web browser and browse to http://<server name>:6443/arcgis/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format) text box, find the maxUploadFileSize tag. If the default value of zero (unit: MB) is used, the maximum upload size limit will be set to 2 GB. Set the maximum file size after the colon (:). A completed entry looks like "maxUploadFileSize": 100 ,.
  7. Click Save Edits.
Note:

When publishing a geoprocessing service, ensure the Uploads check box on the Capabilities page of the geoprocessing service properties is checked.

Upload types

Only certain files can be uploaded to a geoprocessing service. These files are restricted by their extension type, which is set at the service level.

  1. Open a web browser and browse to http://<server name>:6443/arcgis/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format) text box, find the allowedUploadFileTypes tag and add the file extensions you want to allow inside the quotations after the colon (:). A completed entry looks like "allowedUploadFileTypes": ".kml,.gpx".
  7. Click Save Edits.
Note:

When publishing a geoprocessing service, make sure the Uploads check box on the Capabilities page of the geoprocessing service properties is enabled.

Max Domain Count

The maxDomainCodeCount setting controls how many domains are returned with a service response. The domain descriptions match to a code returned with the feature output response. This setting has a default of 1,000. If the output feature has more than 1,000 participating domains, no domain information will be returned. Returning domain information may increase the size of the response. If domains are not required, set this value to 0 or a value less than the number of domains in a service.

  1. Open a web browser and browse to http://<server name>:6443/arcgis/admin/login.
  2. Sign in to the ArcGIS Server Administrator Directory with an administrator account.
  3. Click services.
  4. Click the name of the service.
  5. Click the edit link at the bottom of the page under Supported Operations.
  6. In the Service (in JSON format) text box, find the maxDomainCodeCount tag and set the maximum limit after the colon (:). A completed entry looks like "maxDomainCodeCount": 25,.
  7. Click Save Edits.

Local temp folder

The local temp folder is a directory where ArcGIS Server writes intermediate output when the server participates in a cluster with more than one machine, or the directories are referenced using a UNC path. This avoids the need to write intermediate data to a UNC path scratch geodatabase or scratch folder, which can improve service performance. On execution completion, results are copied from the local temp folder to the jobs directory, which can be a UNC path.

The temp folder location is unique to the user account on which ArcGIS Server runs. This account is set when ArcGIS Server is installed.

Reuse jobs directory for synchronous services

If your web tool is based on a synchronous geoprocessing service, you can reuse the jobs directory for better performance by applying "reusejobdir": "true". Normally, each time you execute a synchronous geoprocessing service, there will be a jobs folder created in the arcgisjobs folder on your server machine. Upon completion, ArcGIS Server will delete that jobs folder. By setting the reusejobdir property to true, the jobs folder will remain even after a job finishes execution. This can save time creating a scratch GDB and a scratch folder for the next execution, hence providing some performance benefits. Optionally, when you set this property back to "false", or remove this property, contact your administrator to delete any existing jobs folder for this service.

To set this property, contact your system administrator to edit the service property in the Administrator API.

A simplified JSON showing the reusejobdir property. Other properties have been hidden to highlight the change relevant to this feature.

{
    "serviceName": "sample",
    "type": "GPServer",
    "manyotherkeys": "manyothervalues",
    "properties": {
        "manyotherkeys": "manyothervalues",
        "reusejobdir": "true",
        "executionType": "Synchronous"
    },
    "portalProperties": {},
    "extensions": []
}