Select to view content in your preferred language

When should I add a new Virtual Machine ?

994
6
Jump to solution
02-26-2013 10:42 AM
KirkKuykendall
Deactivated User
Suppose I have Windows Server 2008 with hyper V, running just one virtual machine with ArcGIS Server installed on it.

As I add more mapservices and performance slows, I'm faced with a choice: either add a new virtual machine to the server and then add it as a new machine the the ArcGIS site, or just allocate more resources (memory/cpu) to the existing virtual  machine.

More generally ...
What are the tradeoffs between having a lot of virtual machines (each running as a machine in an ArcGIS site) with just a few mapservices on each machine, vs having just a few virtual machines with more memory/cpu allocated to each server but with more mapservices running on each?

I have a site license, so licensing costs are not an issue.
Tags (2)
0 Kudos
1 Solution

Accepted Solutions
RichardWatson
Deactivated User
This is a link to the "ArcGIS for Server Performance and Scalability???Testing Methodologies" presentation at the upcoming Developer Summit:

http://events.esri.com/bpc/2013/dev_agenda/index.cfm?fa=Session_Detail_Form&SessionId=51&ScheduleId=...

This presentation has also been given in past years so you can search and view the previous material.  Of course, this year might be different due to 10.1 which represents a significant architectural change for ArcGIS Server.

If performance matters the most to you then I think that you should be able to come up with a load test which drives the configuration.  In past years, I have attended the above presentation and recall that they captured and then parameterized HTTP traffic for performance testing.  Of course, what matters to your customer is based on what you think that their pattern of usage might be.

The other resource that I know about is Dave Peter's document:

http://wiki.gis.com/wiki/index.php/System_Design_Strategies

Trying to factor in the value of non-functional requirements such as fault tolerance is difficult.  I think that you have to assign values/weights to these and then compute the resulting score.

Best of luck!

View solution in original post

0 Kudos
6 Replies
RichardWatson
Deactivated User
Additional machines (physical or virtual) provide additional fault tolerance in that the system is better able to survive failures.

Additional machines add complexity in that you have to use the Web Adaptor and that is going to add another layer where things can go wrong.
0 Kudos
ZacharyHart
Honored Contributor
perhaps a stupid question, but I presume there are license implications for every VM you create a new GIS site on, correct?
0 Kudos
RichardWatson
Deactivated User
Every GIS Server, physical or virtual, requires a license.

Licensing is always complex but I think that ESRI is going to make you pay when you add more processors and/or when you add a machine.  I am sure that someone has a spreadsheet which was used to study this very issue!
0 Kudos
KirkKuykendall
Deactivated User
Richard - thanks for the response.

A few more details ... I'm working on a project with the GIS department at a large corporation.  They have a site license for ArcGIS Server, and an IT department which provisions virtual machines.  I really don't know if all the virtual machines run on the same physical machine.  I've been told we can either request more resource to be added to existing virtual machines, or request more virtual machines.

Right now we have a development site set up with 3 virtual machines, configured with webadaptor. 

Next step is to roll over to a test site, and after that roll to production.  When we roll to test, I'm assuming we'll look at load testing.  At that point we'll need to decide whether to ask the IT department for more virtual machines, or to ask them to give more resources to the existing virtual machines.  How do we decide which option is better?

They're running Windows Server 2008 R2.
0 Kudos
RichardWatson
Deactivated User
This is a link to the "ArcGIS for Server Performance and Scalability???Testing Methodologies" presentation at the upcoming Developer Summit:

http://events.esri.com/bpc/2013/dev_agenda/index.cfm?fa=Session_Detail_Form&SessionId=51&ScheduleId=...

This presentation has also been given in past years so you can search and view the previous material.  Of course, this year might be different due to 10.1 which represents a significant architectural change for ArcGIS Server.

If performance matters the most to you then I think that you should be able to come up with a load test which drives the configuration.  In past years, I have attended the above presentation and recall that they captured and then parameterized HTTP traffic for performance testing.  Of course, what matters to your customer is based on what you think that their pattern of usage might be.

The other resource that I know about is Dave Peter's document:

http://wiki.gis.com/wiki/index.php/System_Design_Strategies

Trying to factor in the value of non-functional requirements such as fault tolerance is difficult.  I think that you have to assign values/weights to these and then compute the resulting score.

Best of luck!
0 Kudos
SeanRedar
Regular Contributor
I am curious what your resolution was, more resources on existing servers or more VMs?
0 Kudos