Optimising map cache creation performance in ArcGIS for Server 10.2.1

1004
4
03-21-2014 01:13 AM
DanielHall_Ballester
New Contributor III
I'm relatively new to ArcGIS for Server, so I hope that someone is able to point me in the right direction in case what I've been doing isn't good practice.

I have 2 boxes with ArcGIS for server 10.2.1, both on the same site. Both boxes have 4 processors and 16gb RAM. Both boxes run on Windows Server 2008.

[ATTACH=CONFIG]32374[/ATTACH]

The site is used to both provide a couple of base map services to a small amount of users (<5) and to generate cache tiles for future services.

I am currently generating cache tiles for a mapping service (~50GB). I would have expected to see the CPU usage on the 2 boxes running quite high. But it tends to be sitting between 15% and 30% on each box.

The maximum instances for the caching tools is set to 6

[ATTACH=CONFIG]32375[/ATTACH]

The maximum number of instances per machine is set to 3.

[ATTACH=CONFIG]32376[/ATTACH]

Am I wrong in assuming that I should be seeing a higher usage of the CPU?

Have I not put in the correct figures?

Or is my set-up not best practice? i.e. should I be using one site just for serving maps and another site just for caching?

I think I've followed the guidelines mentioned here and here. But I'm pretty sure that the caching is running slower than it should. After 19 hours it has only cached 1.17% of all my tiles.

[ATTACH=CONFIG]32377[/ATTACH]

Any best practice suggestions/ recommendations much welcome.
0 Kudos
4 Replies
by Anonymous User
Not applicable
Original User: dan_h_b

UPDATE: After 21 hours the CPU usage on both machines is down to nothing:

Machine 1:
[ATTACH=CONFIG]32381[/ATTACH]

Machine 2:
[ATTACH=CONFIG]32382[/ATTACH]

The cache status "in progress" bar on the server is still moving, but the cache % hasn't increased in the last 2 hours.

Any advice would be very appreciated.
Thanks.
0 Kudos
JonathanQuinn
Esri Notable Contributor
I don't see anything wrong with your setup, but typically, the maximum instances for the caching service can be set to n+1, where n is equal to the number of cores on the machine.  With that configuration, I'd definitely expect the CPU usage to be at 100% or close to it.  Does only happen for one map?  What if you published a map with a simple dataset and cached it?  It can be the same scales or different scales, just to see if it'll run to completion.
0 Kudos
by Anonymous User
Not applicable
Original User: dan_h_b

So as it's n+1, should I set the maximum number of instances per machine in the pooling menu to 5? As each machine has 4 cores?
At the moment, I am submitting my services to the server via File > Share as > Service and in there I am setting all the parameters for the cache I.e. scales, feature class to limit the extent, and importing a pre-defined tiling scheme. Is this the best way?  Or should I do this via ArcToolbox where I can define the number of workers to assign to the job?
0 Kudos
DanielHall_Ballester
New Contributor III
What if you published a map with a simple dataset and cached it?  It can be the same scales or different scales, just to see if it'll run to completion.


I have managed to cache other maps of smaller areas without any problems (~2GB).  However, all the data for these maps was sat in File Geodatabases.
The data for the map I'm having trouble caching is on an Oracle database.  I have successfully published the service using the Oracle data, it's only caching which is incredibly slow and under-utilising the resources.
Thanks
Dan
0 Kudos