Very Large Query Layer as Map Service

Discussion created by mkoneya on Sep 12, 2013
Latest reply on Mar 30, 2018 by mkoneya
We would like to use the JavaScript API to map GPS fleet vehicle locations published as an ArcGIS Map Service.     We currently have the data in SQL 2008 and are using SQL's Geometry to store the points.     We have a SQL table that records the historical location of the fleet vehicles at a given time interval.  By adding a Query Layer with the historical data to ArcMap,  we are able to create a time aware map service, which allows us to show the movement of a given vehicle over time using the TimeSlider in the JavaScript API.   

The problem is that our database contains over 10 million points and likely will get larger.    We clear out "old" records periodically, as we only retain six months of data but the table will stay large.    In the application, we can set up a layer defintion to only query a particular vehichle for a given time to limit the amount of data fed to the browser.    However, the map service does seem to present some overhead on our ArcGIS Server.    

We have an SOE for printing that gathers layer information from each map service and our historical fleet location map service seems to bog down that SOE.   I also wonder if there are other performance issues for ArcGIS server with such a large dataset "sitting" around.  

This type of query to see the vehicle location is not an everyday task for most work groups but we need to have the data available for when they do need it.     We can break the larger service into several smaller ones, but those would still be over One Million records.

Any thoughts on how to maintain the performance of ArcGIS Server while providing this large of a dataset as a map service?   I see in the JavaScript 3.6 API that there is a stream layer which may work to provide the needed data on demand, but we would lose the time aware functions.     We are using ArcGIS Server 10.0 SP4 but will be moving to 10.1 SP1 or 10.2 in the near future.