Maximum number of instances per machine

04-17-2014 11:13 AM
New Contributor II
I am going to create caches on some image services. It is said increase number of instances on the CachingTools can improve caching speed. I checked the instance number, it is set as 3. I guess it is the default.

My question is that what is the relation between the instances and the system resources. My server is quad-core (8 threads) CPU, 2processors. Am I right that each instance will consume one thread, and hold it until the caching completes?

Tags (2)
0 Kudos
4 Replies
Regular Contributor II
When you run a caching job, one instance of the CachingTools service acts as the controller instance. This instance distributes assignments to one or more worker instances. It is the worker instances that actually modify the tiles. In order to ensure at least one controller and one worker instance are available, the maximum number of instances you allow for CachingTools should always be 2 or greater.

Tools such as Manage Map Server Cache Tiles allow you to choose how many instances of CachingTools will be designated as worker instances. If you're not sure what number to enter, take the number of GIS server CPU cores in your cluster and add one to that number. The ideal number of instances may vary based on the nature of the service, but this is an appropriate starting figure for testing.

To figure out the maximum number of instances you can enter, multiply the number of GIS server machines in the CachingTools cluster by the maximum number of instances of CachingTools allowed to run per machine. Then subtract one for the controller instance.

You can choose to divide the available instances of CachingTools among several running jobs. A job might not utilize its maximum number of instances of CachingTools if those instances are being used by other jobs. If a caching job is using all the CachingTools instances, other requested jobs are queued until the first job finishes.
0 Kudos
Regular Contributor
If you just need to get your cache built and nothing else is running on your server, set the number of instances on this service to 24 and let it run.  I'm assuming three to four instances per cpu.

However, this factor is not the only one that determines performance.  Having the ability to write the images locally to the server, rather than a file share on the network helps.
0 Kudos
New Contributor II
Thank all of you!
0 Kudos
New Contributor III

Sorry to bring up an old thread, but I came across it and thought this info might be helpful for future people that make it here.  This image is from a 4 core machine dedicated to only caching a basemap with imagery.  Looks like it's only using 3 instances for the most part, 3 others are popping in and out periodically.

0 Kudos