1) The max number of instances (SOC.exes) is variously recommended as 3 - 4 per cpu core or 1 - 2 per cpu core (depending on which ESRI document you read...). Assuming 3 - 4 per cpu core, is this per map service, or across all services? This may seem like a dumb question but I just want to be sure.
2) How is max instances (see above) affected by high / low isolation? If I have high isolation (1 thread per SOC.exe process), then 4 max instances must translate to 4 SOC.exes running (plus the system SOC process). If I have low isolation with 4 threads per process set in the processes tab, and I set max instances to 4 in the pooling tab, will I end up with 1 SOC.exe (+1 system)? If yes, does this mean that I can have 16 max instances (4 SOC.exe * 4 threads per process) on a single core machine? This is the most important issue for me.
3) Are there any guidelines on the maximum safe number of threads per process in low isolation?
4) All documentation that I have seen on low isolation says something like "low isolation is less stable as if the container process fails the service instances that share the container also fail". However the documentation never says what the impact of this is - will the SOM start a new SOC and complete any outstanding operations, or will the user receive an error? Also, how likely is the container process to fail? Could this happen from something like an SDE connection being closed by a firewall and a service instance crashing?
excellent @Andrew Stauffer
But what does the instance physically mean? Is it the GIS service or the ArcSoc.exe?
Instance per machine?!
Instance per process?!
What is the instance?