I'm working through the setup of Esri's Cemetery Management Solution. I've set the data source for the layers in the ArcGIS Pro Project template to the created feature layers and tables in AGO. Running geoprocessing tools (Append, Calculate Field, Delete Identical, etc.) in ArcGIS Pro on the AGO layers is painfully slow. I'm currently populating values for ~18,000 features using Field Calculator and I'm 14% complete after 25 minutes. I had to let Delete Identical run over the weekend on 19,000-20,000 features.
How can I determine what's causing such abysmal performance and improve it?
Solved! Go to Solution.
@David_McRitchie, thanks for the reply. 25 minutes wasn't even for the full dataset. Each process took 2+ hours to complete. Fortunately, @DanielWickens suggested that I export the AGO content, perform the updates locally, and then use the Update Data tool in AGO to update the layers/tables. That took many more steps, but was tremendously more time efficient. An added benefit was that after exporting the feature layer the Gravesites feature class and related Burials/Owners tables were in the same fgdb, so I could do a 1:many join. That made it even easier to populate the Parent Global ID.
Since this was the only viable method I came across to make these updates, I'll post the steps I followed below:
Populate and update tables/feature classes in ArcGIS Pro
Update layers/tables in AGO
Transitioning from Arcade to SQL for Field Calculator made a huge improvement. I've been trying to force myself to use Arcade to improve my proficiency, and Esri's tasks for calculating things like "Gravesite ID" have a pre-populated Arcade statement. However, SQL statements take seconds instead of hours with Arcade.
This document was helpful: Optimize web feature layers—ArcGIS Pro | Documentation
I'll post anything else I find here. I assume this will be helpful since, in some cases, Esri's Solution Tasks seem to be set up in an inefficient manner.
Hey Brian,
25 minutes certainly does sound slow and honestly I would be unsure why Arcade would be performing slower than SQL statements. I think this would be worth raising a Technical Support Case.
I wonder if this could be something specific to running this process on a network. It might be worth taking an exported copy of the feature layer and storing this locally, then testing the process again.
Given that we are using Appends and Deletes it would also be worth checking that the Spatial and Attribute field indexes as this can improve performance.
Hope that helps,
David
@David_McRitchie, thanks for the reply. 25 minutes wasn't even for the full dataset. Each process took 2+ hours to complete. Fortunately, @DanielWickens suggested that I export the AGO content, perform the updates locally, and then use the Update Data tool in AGO to update the layers/tables. That took many more steps, but was tremendously more time efficient. An added benefit was that after exporting the feature layer the Gravesites feature class and related Burials/Owners tables were in the same fgdb, so I could do a 1:many join. That made it even easier to populate the Parent Global ID.
Since this was the only viable method I came across to make these updates, I'll post the steps I followed below:
Populate and update tables/feature classes in ArcGIS Pro
Update layers/tables in AGO