We had a custom SOE solution developed to perform a trace on a geometric network of pipes, valves, connections, and hydrants. Our service area has over 500,000 connections, 170,000 pipes, 150,000 valves, and 80,000 hydrants. This SOE integrates with Cityworks, so we can log valves being turned on and off. We are hoping that field crews can utilize this tool to check which properties are affected by valve shut offs.
Each time a valve is turned on or off, the code runs a geometric trace on the entire network. This trace takes about 2 minutes to run. We would like to decrease the amount of time this tool takes to run. It appears that the geometric trace is the function that takes a majority of the 2 minutes to run, so from a coding perspective, there doesn't seem to be a way to make the code more efficient (except to isolate the trace to run on a subset of the network rather than the entire network). We may consider this option.
After reviewing documentation on fine tuning ArcGIS Server and feature services, I couldn't find anything about improving response time for custom SOEs.
Is there a way to add more resources (CPU? RAM?) and dedicate it to a specific SOE?
If I added more RAM or CPUs to the server, would that improve the tool's efficiency?
If I added an additional ArcGIS Server, would that speed it up?
Are there any other recommendations?
Our server is at 10.6.1
Thanks