Los usuarios esperan que las herramientas se ejecuten lo más rápido posible, por lo que su herramienta web y su servicio de geoprocesamiento deben ser eficientes. Dado que ArcGIS Server puede alojar varios clientes a la vez, unos servicios ineficientes podrían sobrecargar los recursos del servidor. Mientras más eficientes sean los servicios, más clientes se pueden proporcionar con los mismos recursos informáticos.
Utilice las capas de datos de proyecto
Cuando ejecute una herramienta antes de compartirla como herramienta web, ejecute la herramienta usando las capas como entrada en lugar de rutas de los datasets del disco. Una capa hace referencia a un conjunto de datos en disco, y las capas almacenan en caché las entidades del dataset. Esto es especialmente cierto para las capas de dataset de red y las capas ráster. El uso de una capa en lugar de la ruta al dataset supone una ventaja de rendimiento, ya que cuando se inicia el servicio, este crea la capa a partir del dataset, almacena en caché las propiedades básicas del dataset y lo mantiene abierto. Cuando el servicio se ejecuta, las propiedades del dataset están disponibles de inmediato, y el dataset está abierto y disponible para actuar sobre él.
Por ejemplo, Extensión ArcGIS Network Analyst crea polígonos de tiempo de conducción que usan capas. Según el tamaño del dataset, esto puede salvar al alza de 1 a 2 segundos por ejecución del servicio.
Sugerencia:
Vea un ejemplo del uso de las capas en las herramientas de secuencia de comandos de Python.
Usar datos locales de ArcGIS Server
Los datos del proyecto requeridos por la herramienta web deben ser locales a ArcGIS Server. Los datos que se comparten y a los que se accede mediante una ubicación de red compartida (UNC) son más lentos que si estuvieran disponibles en el mismo equipo. Los números de rendimiento varían mucho, pero, por regla general, la lectura y escritura de datos a través de una LAN lleva el doble de tiempo que en el disco local.
Escribir datos intermedios en la memoria
Escriba los datos intermedios en el espacio de trabajo memory. Escribir datos en la memoria es más rápido que escribirlos en el disco.
Nota:
Los datos de salida se pueden escribir en la memoria siempre que no esté configurada la opción para ver las salidas como una capa de imagen de mapa.
Preprocesar los datos utilizados por las tareas
La mayoría de las herramientas web son flujos de trabajo especializados que proporcionan respuestas a consultas espaciales específicas presentadas por clientes web. Como estos flujos de trabajo suelen ser operaciones específicas o datos conocidos, casi siempre hay una oportunidad para preprocesar los datos y optimizar el funcionamiento. Por ejemplo, agregar un índice espacial o de atributo es un proceso previo para optimizar las operaciones de selección espaciales o de atributo.
Las distancias desde ubicaciones conocidas se pueden calcular utilizando las herramientas Cerca o Generar tabla de cercanía. Por ejemplo, supongamos que el servicio permite a los clientes seleccionar parcelas vacías que estén a una distancia del río Los Ángeles especificada por el usuario. Podría utilizar la herramienta Seleccionar capa por ubicación para realizar esta selección, pero sería mucho más rápido calcular previamente la distancia de cada parcela al río Los Ángeles (mediante la herramienta Cerca) y almacenar la distancia calculada como un atributo de las parcelas. Este atributo se indexaría utilizando la herramienta Agregar índice de atributos. Ahora, cuando el cliente emite una consulta, la tarea puede realizar una selección si de atributos en el atributo de distancia en lugar de una consulta espacial mucho menos eficiente.
Agregar índices de atributo
Si la herramienta selecciona datos mediante consultas de atributos, cree un índice de atributos para cada atributo utilizado en las consultas mediante la herramienta Agregar índice de atributos. Solo es necesario crear el índice una vez, y esto se puede hacer fuera del modelo o del script.
Agregar índices espaciales
Si el modelo o la secuencia de comandos realiza consultas espaciales en los shapefiles, cree un índice espacial para el shapefile mediante la herramienta Agregar índice espacial. Para las clases de entidad de geodatabase, los índices espaciales se crean y se mantienen automáticamente. En algunos casos, recalcular un índice espacial puede mejorar el rendimiento, como se describe en Índices espaciales en la geodatabase.
Utilizar sincrónico en lugar de asíncrono para herramientas de ejecución corta
Es posible configurar una herramienta web para que se ejecute de forma sincrónica o asíncrona. Cuando una herramienta se ejecuta de forma asíncrona, se produce una sobrecarga en el servidor. Ejecutar la misma tarea de forma sincrónica siempre es más rápido que ejecutarla de forma asíncrona. Sin embargo, para las tareas de ejecución prolongada, la diferencia se vuelve marginal y los servicios sincrónicos no pueden proporcionar estadísticas y mensajes mientras la herramienta está en ejecución, lo que puede generar una peor experiencia.
Evitar las transformaciones de coordenadas innecesarias
Si la herramienta web utiliza datasets que están en distintos sistemas de coordenadas, las herramientas pueden necesitar transformar los datasets en un único sistema de coordenadas común durante la ejecución. Según el tamaño de los datasets, la transformación de un sistema de coordenadas a otro puede generar una sobrecarga innecesaria. Debe saber cuál es el sistema de coordenadas de los datasets y si las herramientas necesitan realizar transformaciones de coordenadas.
Reducir el tamaño de los datos
Cualquier software que procesa datos funciona más rápido cuando el dataset es pequeño. A continuación se muestran algunas maneras de reducir el tamaño de los datos geográficos:
- Quite los atributos innecesarios de sus datos de proyecto con la herramienta Eliminar campo.
- Las entidades de línea y poligonales tienen vértices que definen su forma. Es posible que las entidades tengan más vértices de los que se necesitan, lo que aumenta de manera innecesaria el tamaño del dataset.
- Los datos pueden contener vértices duplicados o vértices que se encuentran tan cerca que no contribuyen a la definición de la entidad.
- La cantidad de vértices no se ajusta a la escala de análisis. Por ejemplo, las entidades contienen detalles que son apropiados a grandes escalas, pero el análisis o la presentación es a una escala pequeña.