This week I have seen that our 2 GIS Servers with 8 gb's of RAM / server, was using 91% of the RAM / server. I saw that there was always a SOC instance open when a map service was not in use. Here is where the issue begins. We have 56 map services / server, and the open SOC's are anywhere from 80 - 120 mb's. We were using just over 7 gb's of RAM just to have a SOC available for the map services, there was not enough space available for processing or very little processing.
I needed to tune the map services to not have any SOC's open once the client was finished using the map service. Here are the steps for adjusting the instances on the map service.
1. Open ArcCatalog
2. Make an administrative GIS server connection
a. Click GIS Servers
b. Click Add GIS Server
c. Select Administer GIS server and click next
d. Next add your server (i.e. http://<my_gis_server>:6080/arcgis)
e. For Authentication, I use my ArcGIS server account
f. Click Finish
3. In the list of servers double click on your administrative connection to connect to the server
4. Right click on the service that you want to change the available instances
5. Select Service properties
6. On the left side of the Service Editor dialogue, click on Pooling
7. Under Specify the Number of Instance change the minimum number of instances per machine to 0
8. Click on OK
This procedure will not leave any open instances for the map service once the instance is not being used. The map service will create the SOC automatically once a client starts to use the service.
I set all of my map services minimum instances to 0 and I will monitor the use to see if a should increase on a case-by-case basis. I have noticed that the map services are responding quicker. I am beginning to test if the better speed is due to the extra RAM, or if a bug might be there in the use of the existing instance. I will let you all know what I find out.