Is it possible to separate SpatialAnalysisTools from the hosting server?

05-29-2019 01:31 PM
by MVP


Our organization is looking at adopting an ArcGIS Enterprise solution stack as we work to transition from ArcMap to ArcGIS PRO and tieing in many arcgis server environments into a more tightly integrated platform.  During some of our testing, we have seen many users hitting the Spatial Analysis Tools services (I think these are also refereed to as 'portal web tools'), and with the standard ArcSOC instance settings (1 min, 2 max) we have seen quite a bit of over-utilization with the default settings (causing queening, slowness, and sometimes failures) .  Increasing the number of instances is an option, up to thresholds of the amount of hardware on the hosted arcgis server environment. We are attempting to plan our final deployments (including a large amount of GIS professionals that will leverage the environment) and would like to put in some separation in the environments based on the behaviors we have seen (such as high CPU demands like the spatial analysis tools services).  

So on that note, is it possible to configure an ArcGIS Enterprise to run the hosted server (with datastore) seperate from the spatial analysis tools?  Specifically something like putting the hosting server + data store on 1 machine (machine A) then the spatial analysis tools on a federated server (machine B)?

I was unable to find documentation supporting this approach and I tried updating the portal https://host/portal/sharing/rest/portals/self helperServices.analysis configuration value 
from: https://host/machineA/rest/services/System/SpatialAnalysisTools/GPServer
to: https://host/machineB/rest/services/System/SpatialAnalysisTools/GPServer

But during testing the execution of the tools failed with: 

  • esriJobMessageTypeInformative: Submitted.
  • esriJobMessageTypeInformative: Executing...
  • esriJobMessageTypeError: OutputCatalogPath failed. Error: <built-in method GetOutputCatalogPath of HostedGP object object at 0x000002416A476FD8> returned NULL without setting an error
  • esriJobMessageTypeError: {"messageCode": "AO_100001", "message": "AggregatePoints failed."}
  • esriJobMessageTypeError: Failed to execute (AggregatePoints).
  • esriJobMessageTypeError: Failed.

Suggesting that the Spatial Analysis Tools need to be co-located with the hosting server + datastore.  

Basically what we are after is similar to the Deployment Patterns - ArcGIS Image Server (second option): 

For deployments where raster analysis will regularly be performed on large datasets, to ensure that dynamic image services are not negatively impacted, you should use separate sites for raster analysis and dynamic image services.

ArcGIS Enterprise with Raster Analytics deployment

But specific for vector analysis?

I see alternatives to this is to put the a 2 machine site separate from the data store product?  Other thoughts? Before clustering was deprecated, I would consider moving these to a set of machines in a new cluster... but that is no longer an option.  

Bottom Line... We want to minimize high cpu activities impacts to hosting content data I/O operations.  

Thanks for any feedback.  

1 Reply
by MVP

Quick followup.  

I engaged in the UC2020 virtual and an Esri  rep confirmed this is not possible.  

Instead suggesting placing the data store on a dedicated machine, and scaling the Hosted Server site vertically (adding resources) or horizontally by adding more machines.  It should scale to a multiple machine site like any other federated site.