Caution:
At 10.7, the GeoAnalytics Server settings have been modified from previous releases to so that you only need to apply a single setting to calculate analysis resources. At 10.6.1 and earlier, you had to set GeoAnalytics Toolbox settings. At 10.7 and later, these are no longer in use, and will not be applied for analysis.
Several properties can be configured to alter the settings for GeoAnalytics Server in your deployment. Configuring these settings for your organization is important to optimize the performance of GeoAnalytics Server. When configuring these settings, you must consider your available resources.
GeoAnalytics Tools are powered by tasks in the GeoAnalyticsTools system service in your ArcGIS Server site. The system properties below are set in the GeoAnalytics Server site. Before modifying any parameters, read through all of the setting options to plan your GeoAnalytics configuration. The following settings should always be reviewed and set when configuring a GeoAnalytics Server site:
- System properties—Controls the maximum percentage of RAM and cores GeoAnalytics Server can use.
- Timeout of the GeoAnalyticsTools service—Controls how long a GeoAnalytics Server job will run before it times out.
- GeoAnalytics Server temporary file location—An optional parameter to modify the temporary storage of analysis results.
Throughout this topic, an example will be used of three machines (nodes), each with 16 GB of RAM and 4 CPU cores. In total, each GeoAnalytics Server site in this example has 48 GB of RAM and 12 cores.
System properties
Two system properties that can be configured by a site administrator to allocate CPU and memory resources for the compute platform worker process on each machine in the ArcGIS Server site. By default, settings are set to 80 percent, and have a maximum value of 90 percent. The following system properties are properties to be configured by a site administrator:
- percentageMaxAllowedComputeCores—This represents the maximum CPU cores (as a percentage of total available on a machine) that will be used by the compute platform worker process on a single node. If the specified value translates to less than one CPU core, one CPU core will be used for the compute platform worker process.
- percentageMaxAllowedComputeMemory—This represents the maximum memory (as a percentage of total available memory on a machine) that will be used by the compute platform worker process on single node.
To edit the system properties, complete the following steps:
- Log in to the ArcGIS Server Administrator Directory as a user with administrative privileges. The URL is in the format https://gisserver.domain.com:6443/arcgis/admin/.
- Go to System > Properties.
- Click Update.
- By default, values are set to 80 percent, and are empty. To modify them, add the properties in the following JSON format: {"percentageMaxAllowedComputeCores": <value>, "percentageMaxAllowedComputeMemory": <value>} (for example, {"percentageMaxAllowedComputeCores": 90, "percentageMaxAllowedComputeMemory": 90}).
- After the changes have been saved, stop and start the compute platform service for Spark. Go to system > platformservices > Spark (Compute_Platform) > Stop. Once it has been stopped, start it again. Go to: system > platformservices > Spark (Compute_Platform) > Start.
- Reset Zookeeper and go to system > platformservices > Zookeeper (Synchronization_Service) > Reset.
Minimum and maximum instances of the GeoAnalyticsTools service
The minimum and maximum instances control how many jobs can be run at a single time. Do not increase the number of instances per job. For best performance and reliability, only run a single job at a time.
The default minimum and maximum instances of the GeoAnalyticsTools service is set to one per ArcGIS Server machine in the site. Depending on the number of machines (n) that are in the GeoAnalytics Server site, there will be (n) number of instances available for accepting GeoAnalytics jobs. Depending on the number of instances and amount of memory and CPU cores allocated per job in the service properties, one or more concurrent requests may be processed. It's not recommended to run more than one GeoAnalytics job at a time. Any additional requests to the GeoAnalytics Tools will be queued until the job instance or memory and CPU resources become available. If neither a job instance nor memory and CPU resources become available after 10 minutes, the job will be canceled.
Timeout of the GeoAnalyticsTools service
By default, any long-running job processed by the GeoAnalyticsTools service will time out after 24 hours. You may want to edit this property so that tools will time out after running for longer or shorter periods of time. You can edit the time-out property for the GeoAnalyticsTools service in ArcGIS Server Manager following the steps below.
- Log in to ArcGIS Server Manager. The URL is in the format https://gisserver.domain.com:6443/arcgis/manager.
- On the Services tab, choose the System folder.
- In the list of available services, locate and choose to edit the GeoAnalyticsTools service.
- Use the Pooling tab to set the timeout property for the service under the Specify service timeouts section. Change The maximum time a client can use a service to the time in seconds that you want for the new timeout property.
- Click Save and Restart to update the service.
GeoAnalytics Server temporary file location
When a task is run in GeoAnalytics Server, temporary files are written by default to the \<ArcGIS Server installation directory>\server\framework\runtime\spark\work> folder. Administrators can select an alternate location for temporary files by specifying the geoAnalyticsTempFolder property, following the steps below.
Note:
The geoAnalyticsTempFolder location should be a local directory on each machine of the GeoAnalytics Server site, and it should have considerable disk space available to support the execution of GeoAnalytics tasks on very large datasets.
- Log in to the ArcGIS Server Administrator Directory on the GeoAnalytics Server site as a user with administrative privileges. The URL is in the format http://gisserver.domain.com:6080/arcgis/admin/.
- Go to System > Properties.
- Click Update.
- Add the property in the following JSON format: {"geoanalyticsTempFolder": "<value>"} (for example, {"geoanalyticsTempFolder": "/data/temp"}). It will take up to one minute for the change to be reflected on the system properties page.