Discussion created by ebrown123 on Apr 18, 2013
We have been testing performance on our new 10.1 server, and trying to tune our new server(s) to handle our volume, both optimally and efficiently. Through testing we have come across an odd occurrence. When a geocode service is being accessed on the ArcGIS server, the number of ArcSOC.exes in use double. As a side effect, the memory use spikes and reaches maximum capacity. I talked to tech support and they told me that ArcSOC.exe was acting as designed. I know we can throw more memory on the server, but that is not the point. We can also adjust the runtime memory limit and the maximum instance capacity, and these changes might make a difference. But for a transactional environment changing memory limitation or capacities cause slower processing times, and bottle necks, and even with these changes the doubling of ArcSOC.exe would still occur.
In my opinion, this is poor design, and seems to be left over coding from earlier versions of ArcGIS, when DCOM was being utilized. I see no reason, nor have I obtained a valid reason, as to why ArcSOC.exe needs to double in use when a geocoding service is being accessed. Something is off in the invocation of the services, in my opinion.
An example, of this happening is, the calling process is sending 5 requests, and there are 5 instances in the management console in use. The monitor of the OS shows that there are 10 ArcSOC.exe running for the 5 instances. We are using an isolation plan so nothing else is running on the box. We have it in lockdown as we are testing the performance and tweaking.

Have any other developers noticed large memory usages, or that ArcSOC.exe doubles in size when running a geocoding service?

Maybe if enough developers complain about this fact, then a solution will be created.