1

A viewer is being developed with the Api Javascript of Esri 3.21 and several queries are made through QueryTask to some services that we have published in ArcGIS Server. It has been observed that the service response is somewhat slow.

For example, to perform this query on my machine (Window 8.1, Intel(R) Core(TM) i5-5200U CPU @2.20GHz) Google Chrome(Versión 61.0.3163.100):

https://186.3.64.173:6443/arcgis/rest/services/ServiciosDePrueba/RecaudacionDeuda/MapServer/2/query?where=PersonasEm%3E0&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=clavepre%2C+emitido%2C+pagado&returnGeometry=true&returnTrueCurves=false&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&resultOffset=&resultRecordCount=&f=html

The query takes approximately 30 seconds and the records returned are 85,100 and the total service entities are less than 101,000.

We do not know if you can solve the problem in ArcGIS Server configuration to optimize this type of queries.

  • 1
    what s your data source ? how is your data stored ? – LMokrane Oct 17 '17 at 15:34
  • 1
    85,000 records is a hell of a lot for a viewer. Services are usually limited to returning 1000 records per request. How would you visual so many records effectively? It would just be a blur. Here is an article that might help get the result set down to something more manageable. blogs.esri.com/esri/arcgis/2017/10/17/… – Dowlers Nov 1 '17 at 21:13
1
  1. If you are using esri products in an enterprise project,You should first know about product arcitecture.You can estimate, latency, network, hardwares and softwares needs with the standard methods of esri.
  2. In the same situation, SDE has the best performance than other Geodatabases(Reference).
  3. Many parameters are affected to the performance:CPU,RAM, Hardware ,Network,Concurrent users, Database type, Database Design, Number of records in query result,software version( ArcGIS 9x,10.0,10.1, ... ).
  4. If you are using SDE service, stop sde service and use direct connection method.
  5. Use spatial index.
  6. Improve MXD performance. With these methods you can use more ram and cpu for another processes.

Arcgis for server is very different than other GIS servers.If you want to use ArcGIS for server, try to learn the architecture of esri products.

-3

First off, ArcGIS Server is generally slow. Querying 85,100 records is a lot, are you sure you need to query that many? The default max features returnable is 1000 for good reason.

Now that that is over, you can start to diagnose the actual problem. Reasons for slow services can include a slow datasource, a slow connection to the data source, a slow gis server, and a slow connection to the server. It could be none or all of these issues.

Slow datasources - Edited with correct information as mentioned by others. Make sure to have indexes and spatial indexes up to date. Sometimes query views can be slow. If on SDE make sure to have enough resources available that the database isn't the problem. SOURCES - http://server.arcgis.com/en/server/latest/administer/windows/data-storage-considerations-for-an-arcgis-server-site.htm http://support.esri.com/en/technical-article/000008548

Slow connection to datasource - What is the connection speed and latency between SDE and the web server? They should be on the same network, with very little between them. Is there enough available bandwidth between them? This likely isn't the issue, but can sometimes be.

Slow GIS Server - You are using ArcGIS Server. It is slow. This is most likely where there 30 second delay is. Very little can be done to speed it up. Make sure to have as many cores available as you are licensed. Do not have it doing any other roles besides ArcGIS Server and web server running on this machine if possible. How many services are on this server? How old is the server? How much available CPU is there? Are you returning geometry with the query? Do you need to return geometry? Do you need to query all 85k records at once? SOURCE - http://resources.arcgis.com/en/help/main/10.1/index.html#//0154000003p1000000

Slow Connection to GIS Server - Are you on the same network as the GIS server? What is your latency between the server and client? What is your available bandwidth? Edit - also likely not the issue.

More sources specific to ArcGIS Server - http://server.arcgis.com/en/server/latest/get-started/windows/tuning-your-arcgis-server-site.htm

Some of the information contained in this post requires additional references. Please edit to add citations to reliable sources that support the assertions made here. Unsourced material may be disputed or deleted.

  • I've benchmarked both file geodatabase and shapefile as faster than an enterprise geodatabase under a number of conditions, so that blanket assertion could use some work. As could, "Very little can be done to speed it up" (which is in opposition to your laundry list of things to improve performance). – Vince Oct 18 '17 at 2:39
  • From my experience in querying larger numbers of records, SDE had usually been faster, but there may have been other factors. After your comment and some quick research, I updated the post with more correct information, which turns out you are correct in that FileGDBs and shapefiles are faster, as well as adding another source. For the rest, I broke down each component of what could be wrong. When dealing with ArcGIS server itself I find very little can be done to improve querytask performance. You can also tweak advanced settings and pooling, but I haven't had much success. Have you? – isamson Oct 18 '17 at 15:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.