What do you do when you have so many published services in ArcGIS that running even one instance of each service maxes out RAM/CPU?

We've grown to the point where we have more published services than our current server can run at one time, and expect to continue to grow considerably over the next few years. Even at the minimum one instance per service, we're running out of RAM.

Of course, doubling the RAM would get us by for probably another few months, but we will eventually need multiple servers, and I need to know how to work this out.

My understanding is that when you add a new server to an existing site, all of your published services will have at least one instance per service on all servers. Is there a way of distributing these services across multiple servers without having multiple 'sites'?

I konw that I could publish X amount of services to one server, and another batch to a separate server, but I'm assuming there's a better way to do this, and I'm hoping someone can shed some light on this.


  • 3
    What version? (This sure is easier at 10.1). – Kirk Kuykendall Jun 13 '13 at 21:23
  • 3
    Have you seen Esri's System Design Strategies? – PolyGeo Jun 14 '13 at 2:48
  • We have 10.1. Glad to know that makes things easier. I'm starting from scratch, moving everything to AWS, and want to make sure I start it off right. I will check out the links that PolyGeo and Alex T. mentioned. Hoping that will answer at least some of my questions. Thanks guys! – ivorytux Jun 14 '13 at 15:31
  • Going to the AWS isn't a turn-key solution, see my answer below. You can go with more smaller machines that serve cached services; and keep the bigger more complex services on larger machines. – D.E.Wright Jun 14 '13 at 15:35
  • This question's answers are no longer workable because ESRI has deprecated clusters since AGS 10.4. – Zian Jul 9 '17 at 2:24

As PolyGeo noted above; the System Design Strategies document is a great place to start.

As you see your number of services grow you will really want to look at the content of the services as well how they are stored. There are several options available to increase performance and stability.

But as Kirk mentioned as well; the software version is important; 10.1 does make big changes in how load can be distributed across virtual-clusters, but then also will want to consider segmenting services; you can run cached servivces off a lower powered server; then put your more complex dynamic ones on a bigger machine.

Key things to consider; how much data is read/displayed; how much heavy/complex symbology you use; and finally text/labeling; while you can use Maplex in services there is a huge hit to it.

| improve this answer | |

Talking specifically on ArcGIS Server 10.1, there is a new concept called clusters. Each cluster (which is nothing more than a configuration setting) can be configured to run a dedicated subset of services. For example, you might create one cluster in your ArcGIS Server site to run all your non-popular map services and another cluster of GIS servers (i.e., machines) which have more processing power to run your popular map services. It is possible to dedicate to run every service in a cluster with just one machine to get 1:1 relationship between machines and services.

There are a couple of videos talking on that which I would like to share:

ArcGIS for Server for Adminstrators

ArcGIS for Server Performance and Scalability - Testing Methodologies

ArcGIS for Server Performance and Scalability—Optimizing GIS Services

System Design Strategies is also a good place to learn, consider watching the free videos which will walk you through the resources available including the Capacity Planning tool.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.