Minimum number of instances per machine: 0
Maximum number of instances per machine: 8
A third timeout dictates the maximum time an idle instance can be kept running. When services go out of use, they are kept running on the server until another client needs the instance. A running instance that is not in use still consumes some memory on the server. You can minimize your number of running services and therefore conserve memory by shortening this idle timeout, the default of which is 1,800 seconds (30 minutes). The disadvantage of a short idle timeout is that when all running services time out, subsequent clients need to wait for new instances to be created.
this is a good thread.
I'm reviewing the GIS Wiki, Capacity Tool, System Designer, etc. I want to get my hands on System Monitor, MXDPerfStat and other tools. Our server has 96 gig ram, hundreds of seldom used services. I already moved those down to 0 instances.
But for a dozen or so very very big services, with hundreds of layers and hundreds of users (perhaps 10 requests or even 20, at a time at any one moment) on fast hardware and intranet, on 10.2.2 feeding WAB sites as dyn map services.
Question is: what should their max. # instances be?
I'd read it should be n * 4. where n is cores. So three times the number of cores. Here you say 2 to 4. This says 4 - Server Software Performance (CPT Demos) - GIS Wiki | The GIS Encyclopedia Server Software Performance - GIS Wiki | The GIS Encyclopedia
I wanted to confirm that is right. But I am simply going to test it immediately, on a few sites, and see what happens. Tackle it empirically to see. I will report my findings back.
I note the differentiate between batch processes like geocoding locators, and dynamic map services to display vector layers. My use for the services is just to display vector layers, and run Identifies on, so as regular vector dynamic map services to show map layers in viewers.
Also wondering, vs having many mxds and services all of the same layers but slightly differently symboliized, it would seem smarter to have one layer of say, streets. And then link to it from many different webmaps either AGOL or Portal. Symbolize from there. Or definition query. And make the number of instances huge. Would that be any better or different with RAM and CPU and enduser experience and performance, vs having many MXDs and publishing a new unique mxd as a service for each time I create a viewer? i.e. Neighborhood Viewer, Parcel Viewer, Streets Viewer, they all have a streets layer in the MXD. Also, they point to the SDE which I've heard is not optimal. I'm considering replicating to a fGDB and also caching lesser used layers. Those are separate issues.
But for now, I just want to get a handle on # of instances. And other service settings. RAM and networking are no limit. gigE intranet and if we need more cores or RAM we'll get it. Thanks for any thoughts..