Hi everyone,
I'm working with a branch versioning setup on ArcGIS Enterprise and ran into a significant performance issue when switching between versions in a web application built with the ArcGIS Maps SDK for JavaScript 5.0.
Setup:
- ArcGIS Enterprise (federated server)
- Branch versioning enabled on a feature dataset
- Multiple named versions (e.g. `editor1.review_branch`, `editor2.field_update`, `qa.validation_pass`)
- Web app using `VersionManagementService` to switch versions
What I observed:
When querying the FeatureServer — whether using the default version or a named version — response times are fairly consistent and acceptable. The behavior is similar across versions.
However, when switching to MapServer (using `MapImageLayer` with the `gdbVersion` parameter), I'm seeing a dramatic difference:
- Default version (no `gdbVersion`): ~1.5s response time — fast, presumably served from server-side cache
- Named version (`gdbVersion=editor1.review_branch`): 4–6s response time on every request
The moment I add `gdbVersion` to the `MapServer/export` request, the server appears to renders dynamically every time.
Has anyone run into this before, or does anyone have ideas on how to improve response times for versioned MapServer export requests? Any suggestions — whether on the ArcGIS Server configuration side, geodatabase tuning, or a completely different approach — would be very much appreciated. Thanks!
Hi @ag-maile,
What you are observing, is expected behaviour with branch versioning. When you do not specify a gdbVersion, the MapServer can use cached/optimised rendering. As soon as you pass a named version all the reuqests become version specific so ArcGIS Server has to dynamically resolve the edits and draw the map each time. That is translated into the delay you are noticing.
You can use:
- Feature Layer (Feature Server) with gdbVersion and let the client handle rendering
- Reduce the Map Layer (Map Server) as much as possible in terms of symbology, labels, layer count
- You can Reconcile/Post regularly so the versions do not get to "heavy"
- You can also tune the service and Database
I would advise a combined/hybrid approach to go for MapServer for the default version and FeatureServer for versioned workflows.
Regards,
Glen
how long does a feature service query operation take when you use the default or a named version?
you are not referring to a 'cached/tiled' map service here - I just wanted to double check.