Hi there,
Does anybody know how many threads are being used by a map while panning, zooming, etc when retrieving features from the available services defined in the content page for the map?
basically I’m trying to see how many ArcSOCs/instances I need to define when publishing a service. My example is with the Utility Network that has 2 domains and when configured in the content pane using subtype layers, a single pan in the map generates 27 rest calls to the service. If the map utilises 2 threads (14 parallel calls made) with 10 concurrent users, I’ll need 20 instances/socs for the service to minimise any wait times, etc for the user.
thanks for any help with this
It's very likely that those 27 rest calls are being handled by the same ArcSOC instance. Expanding the number of instances will help with the throughput of your map service to multiple users (concurrent requests).
The number of ArcSOCs to suggest should be tied to the number of CPUs/Cores you have available on the ArcGIS Server machine. This documentation seems to suggest that the maximum would be double the number of cores on the ArcGIS Server machine. Keep in mind that this would dedicate a lot of resources to one map service https://enterprise.arcgis.com/en/server/latest/administer/windows/configure-service-instance-setting...
Personally, I have always stuck to n+1 (where n is the number of cores on the machine) for the maximum instances number. I've always found that ensuring the data reads quickly within a desktop client (ArcMap or ArcGIS Pro) from a geodatabase before publishing results in performant map services.
It's important to remember that each service has a defined max heap size for the Java processes (ArcSOCs), be careful not to overload the server RAM if you're querying complex data.
Before playing with the number of instances, I would suggest that you publish this as a dedicated instance first - and then use the ArcGIS Server statistics page to review whether the service needs more instances i.e. Service total response time, total timeouts and usage
https://enterprise.arcgis.com/en/server/latest/administer/windows/about-server-statistics.htm
With this information in mind, the following documentation becomes very helpful:
https://enterprise.arcgis.com/en/server/latest/administer/windows/tuning-your-arcgis-server-site.htm
Here's some further documentation on ArcSOCs:
P.S As ArcGIS Server is 4-core licensed, please ensure you have an appropriate license (if used on more than 4 physical cores).