Improve drawing speed

1780
9
03-16-2011 01:15 PM
LisaArnold
New Contributor II
Hello all,

I am looking for advice on how to improve drawing time of a map service, and in general advice on working with a large polygon dataset. I am putting together a new site with one main map service which has ~26,000 polygons, many of which are overlapping. When I first go to the website the map service takes forever to load, or sometimes doesn't load at all. When I look at the data in the mxd using the Preview Map button from the MSD toolbar my times are fine. I thought the times shown in the preview window were a representation of what could be expected on the website?

I don't quite understand feature layers and graphics layers, but it seems that if I could draw all the polygons with one of those layer types it would be faster. For example, why is that when I do a search or query the results are highlighted and drawn very quickly, way before my map service data draws? I tried changing my operational layer to type="feature" and added the appropriate number onto the end of my url but this didn't improve the speed.

The web address is http://gis-web.heritage.unm.edu/soi_usfsblm/

Any advice on working with such a large dataset and improving web performance is greatly appreciated. I am trying to avoid a cached service here.
Tags (2)
0 Kudos
9 Replies
RobertScheitlin__GISP
MVP Emeritus
Lisa,

   There are numerous things that affect your map services drawing speed.

1. The Server hardware. Number of Cores and CPU, Memory
2. Is the server dedicated to ArcGIS Server processes or is it a do all machine.
3. If the data resides on another machine what is the connection speed between these servers 100 or 1000 MB network?
4. how many instances do you have running on the ArcGIS Server "Minimum number of instances:  " & "Maximum number of instances:  "
0 Kudos
LisaArnold
New Contributor II
Hi Robert,

Thanks for your quick response.

1. Our server has an Intel Core i3 CPU 550 @3.20GHz - I looked this up and I believe it has 2 cores,  8GB of RAM
2. The machine is functioning as the Web Server and the ArcGIS Server, but it only serves apps to the web that are web map applications using the ArcGIS services we've published
3. I put all the data for the services on the machine where ArcGIS Server is installed
4. The service I'm using is set to Minimum instance 1, Maximum instance 2. If you mean a setting other than for the specific map service that is slow for me... than I'm not sure. We are only running one instance of ArcGIS Server.
0 Kudos
RobertScheitlin__GISP
MVP Emeritus
Lisa,

   OK. the server spec sound OK. Is the data that the map service uses coming from SDE or file GDB?

My main important map service has 72,000 parcel polygons and 26 or so other layers coming from an SDE GDB and only takes a couple of seconds to draw. I have a minimum of 4 instances and a max of 10 set for this service and like your scenario the server only does IIS and ArcGIS Server.
0 Kudos
LisaArnold
New Contributor II
Robert,

The data is in a file GDB. I adjusted to instance numbers to what you use. I definitely see a speed difference when I am zoomed in on the data, about half way down the scale bar. However still having the very slow or never loads issue at full extent.
0 Kudos
RobertScheitlin__GISP
MVP Emeritus
Lisa,

   The next best advice is for you to copy the data and then generalize that copy in ArcMap using ArcToolbox and then set scale dependency on that layer to show the generalized version at certain scales in the MXD/MSD, and republish using the new data.
0 Kudos
RobertScheitlin__GISP
MVP Emeritus
Lisa,

   Based on demos at the Dev Summit when ArcGIS Server 10.1 comes out this summer most of theses type of speed issues go away as server has blazing fast return times. I was really impressed.
0 Kudos
LisaArnold
New Contributor II
Robert,

Sounds reasonable. I thought about this previously but wasn't sure of the best way to proceed. Do you mean to create 2 (or more) different map services and set scale dependency in my xml config files? Not sure how to do that, if it is possible.

Or do you mean in my map doc I would have the same layer multiple times in my table of contents, each one symbolized different and set with scale dependencies. Similar to if I were getting ready to create a cache. However then in the map switcher under the More button users would see the same map layer listed repeatedly.

If you mean the second option - when I went to use the layer in say your enhanced search tool, which layer would you recommend pointing too? For discussion, say I create different symbology for 1:1,000,000 - 1:500,000 - 1:250,000.

Thank you.
0 Kudos
RobertScheitlin__GISP
MVP Emeritus
Lisa,

Do you mean to create 2 (or more) different map services and set scale dependency in my xml config files? Not sure how to do that, if it is possible.


No

do you mean in my map doc I would have the same layer multiple times in my table of contents, each one symbolized different and set with scale dependencies.


Yes

However then in the map switcher under the More button users would see the same map layer listed repeatedly.


Yes but you could name then with something about the scale in the name to inform the user.

I would always search using the most detailed geometry layer as the query task doesn't really care what is already showing on the map and you can specify the symbology of the results graphic.
0 Kudos
LisaArnold
New Contributor II
Great, I will try this out. As always, thanks for your advice!
0 Kudos