I have an application for routing oversize/overweight vehicles on a statewide database built from Navteq data. In the desktop application, routes are solved relatively quickly; even long routes accross the state (average under 10 seconds). However, we need to deploy a web application to allow the trucking public to apply fro permits for these vehicles. I've created a map service from the MXD that I've used in the desktop application. The web application is using this map service. The problem is: it takes significantly longer (up to 10 times longer) to solve the same route in the web application. It works, but the time to solve is not acceptable. Does anyone have any suggestions for what I should look at to try to increase route solving speed in the web application?
Solving in Server should be as fast as solving in Desktop. Please check for the following:
1. Make sure NAServer accesses local network dataset, not a remote one through UNC path. 2. Make sure the client app uses hierarchy (routeParameters.useHierarchy=true). 3. Avoid using too big Search Tolerance values: default 5,000m should be good (Route Layer Properties > Network Locations). 4. if you are using a File Geodatabase network, have enough physical RAM on server to hold it and load it into system cache: http://www.arcgis.com/home/item.html?id=08a5a05ff82446bb8a8befad03b1bb86
5. if nothing of the above helps: 5.1 turn on detailed/verbose logging on server and see where the most of the processing time is spent. 5.2 set up Performance Monitor (or, for example, Zabbix if running on Linux) and see where the bottleneck is.
Thanks for your help. It turns out that the problem was with the client app. For some reason, in the code, routeParameters.useHierarchy was set to false. When we switched it to true, everything is working as we hope. Routes are solving much faster. It was just one of those things that no one had noticed.