[GIS] Best practices for planning hardware requirements for ArcGIS Server deployment scenario

arcgis-server

In this question I would like to ask for sharing of some experience in planning ArcGIS Server hardware part in Web mapping projects (Flex, Silverlight).

Let suppose that we are developing RIA application and deploying ArcGIS Server with services.

I have noticed that very often on the stage of early planning of GIS projects customers would like to know approximate hardware requirements for ArcGIS Server part.

Usually it sounds in these ways:

  • We need to serve N editor user and M viewers of spatial data. What server do we need (CPU, RAM)? How many ArcGIS servers?
  • We already have dedicated server which we are planning to use for ArcGIS Server. How many users (editors/viewers) will be it capable to serve?

It is common that on this stage you don't have access to spatial data so it is not possible to perform any tests. But we can estimate rough amount of Map/Feature and Dynamic/Cached services.

I have studied Esri System Design Strategies document but I have not found any numbers or formulas to make such rough estimation. As I understand the best precise way is to obtain at least part of the data and perform real tests.

So, what is the best practices in such situation? Is it possible to perform such very rough calculations to answer these questions without tests with real data?

May be you already faced such problems and have some experience?

Best Answer

What you really need to do is get your hands on a copy of the CapacityPlanningTool. This is a Excel file that that has a lot of metrics built into it that can help you look at number of user, types of services (such as cached/dynamic) and sources of data (fGDB versus eGDB) and the size of your network pipe for throughput.

You can get a copy of this in the 'Building a GIS' book written mainly by Dave Peters @ ESRI. I have found the numbers in the CPT to be very conservative, so I tend to shoot for 20% above atleast to get my base configurations of Spatial Servers and Data Servers.

Your biggest things to look at, types of services, amount of data in the services/layers, amount of transactions/edits and most of all currency of the data.

Once you know what you need to consider for the starting footprint of the application and can look at what your applications will generate you can decide if your application will be high volume or not and then the numbers in the CPT can be edited based on your comfort level.

Peer review/feedback is always a great tool and you will find folks here (myself included) who are happy to take 10/15 min to review something and give you some thoughts or perspectives.