Improve Performance of Geoprocessing Service - GPServerSync.Load

971
2
06-16-2014 08:30 AM
ZacharyMaillard
New Contributor
I have a geoprocessing service in ArcGIS Server 10.1 that is a simple Print Task. The task is running as an Asynchronous service. It renders one MapService from the same ArcGIS Server instance, and another basemap mapservice from ArcGIS online and generates a PDF. The service is taking over 3 minutes to run. When I turn verbose logging on, I notice that the elapsed time between the following log messages is around 3 minutes:

<Msg time='2014-06-16T06:11:55,546' type='VERBOSE' code='20023' target='WebPrinter.GPServer' methodName='GPServerSync.Load.PrintTask' machine='AGDC-DEV4.LOCAL' process='9632' thread='10020' user='null' elapsed='0.00084'>Load job jc01d9192a4bb4eecbc8317b3d12b34d9 message type REST message size 1218</Msg>
<Msg time='2014-06-16T06:14:13,724' type='VERBOSE' code='103004' target='WebPrinter.GPServer' methodName='Map.Draw' machine='DEV4.LOCAL' process='9632' thread='10020' user='null' >Beginning of geography phase.</Msg>


Once the draw phase starts, the job finishes in seconds. I am unclear on what the GPServerSync.Load method does, and how to optimize it. If I try making a PDF in ArcMap of the two same services, it takes seconds. I do not think that the services involved in making the map are the holdup.

Thoughts?
Tags (2)
0 Kudos
2 Replies
ZacharyMaillard
New Contributor
After some more investigating, I isolated the slowdown to:
arcpy.mapping.ConvertWebMapToMapDocument

As I indicated in my initial question, I am building a map with two services.  One service is the basemap service from ArcGIS Online.  The other is a dynamic web service internal to the organization.  The operational map service has around 100 layers.  I did some crude benchmarking and found that  ConvertWebMapToMapDocument takes about 300 seconds to run with both the internal and ArcGIS Online services.  If I remove the ArcGIS Online service, it takes about 285 seconds.  If I only use the ArcGIS Online service it takes about 5 minutes to run.  Also interesting, is the amount of web requests made from ConvertWebMapToMapDocument (as seen through Fiddler).  Many of the requests are duplicated.  Most of the web requests are in about two bursts that take 5 seconds or so each.

My question is, is there a way I can optimize this service to print maps faster?  Is there another option I can pass to ConvertWebMapToMapDocument to speed things up?
0 Kudos
JamesCrandall
MVP Frequent Contributor

Has there ever been any resolution, explanation or updates as to why this python method is causing multiple map service requests?

We are experiencing a similar issue but have a need to implement the EnhancedWebPrinting service to set a higher dpi default for the output pdf.

0 Kudos