Sugerencias de rendimiento para servicios de geoprocesamiento

Los clientes desean y esperan un servicio rápido, así que sus servicios de geoprocesamiento deben ser rápidos y eficientes. Debido a que ArcGIS for Server puede alojar varios clientes de una vez, los servicios ineficientes pueden sobrecargar el servidor. Mientras más eficientes sean los servicios, más clientes se pueden proporcionar con los mismos recursos informáticos.

A continuación presentamos algunas sugerencias y técnicas para aumentar el rendimiento de los servicios. En general, las técnicas se presentan en orden: las que ofrecen mayores mejoras en el rendimiento se presentan primero. Las últimas sugerencias pueden reducir el tiempo de ejecución unas pocas décimas de segundo, lo que puede ser necesario para algunas tareas.

Utilice las capas de datos de proyecto

Cuando ejecuta la herramienta de geoprocesamiento para crear un resultado para publicar, debe ejecutar la herramienta utilizando capas como entrada en lugar de rutas de acceso a los datasets del disco. Una capa hace referencia a un dataset en disco y las capas almacenan en la memoria caché las propiedades sobre el dataset. Esto es especialmente cierto para las capas de dataset de red y las capas ráster. Al utilizar una capa en lugar de la ruta al dataset, hay una ventaja de rendimiento, debido a que cuando se inicia el servicio, crea la capa desde el dataset, almacena en la memoria caché las propiedades básicas del dataset y mantiene el dataset abierto. Cuando el servicio se ejecuta, las propiedades del dataset están disponibles inmediatamente y el dataset está abierto y disponible para actuar en el mismo, obteniendo así un rendimiento superior.

Por ejemplo, todos los servicios de Cuenca visual del SampleServer de Esri y laExtensión ArcGIS Network Analyst, ejemplos que crean polígonos de tiempo de recorrido, utilizan las capas. Según el tamaño del dataset, esto puede salvar al alza de 1 a 2 segundos por ejecución del servicio.

Utilice datos locales de ArcGIS 10.1 for Server

Los datos de proyecto requeridos por los servicios de geoprocesamiento deben ser locales en ArcGIS 10.1 for 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 la escritura de datos través de LAN lleva el doble de tiempo que el disco local.

Escribir datos intermedios en la memoria

Puede escribir datos intermedios (temporales) en la memoria. Escribir datos en la memoria es más rápido que escribirlos en el disco.

NotaNota:

También puede escribir los datos de salida en la memoria siempre y cuando no esté utilizando un servicio de mapas de resultado.

Una novedad de la versión 10.1 es la capacidad para escribir los rásteres en la memoria.

Más información sobre escribir datos en la memoria

Preprocesar los datos utilizados por las tareas

La mayoría de los servicios de geoprocesamiento están pensados para centrarse en las aplicaciones que proporcionan respuestas a consultas espaciales específicas presentadas por clientes Web. Debido a que las tareas tienden a ser operaciones específicas o datos conocidos, casi siempre hay una oportunidad para preprocesar los datos para optimizar la operación. Por ejemplo, agregar un índice espacial o de atributo es un proceso previo simple para optimizar las operaciones de selección espaciales o de atributo. Otros ejemplos:

Agregar índices de atributo

Si la tarea es seleccionar los datos mediante las consultas de atributos, cree un índice de atributos para cada atributo que se utiliza en las consultas. Puede utilizar la herramienta Agregar índice del atributo. Sólo debe crear el índice una vez y lo hace fuera del modelo o la secuencia de comandos.

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. Si está utilizando las clases de entidades de geodatabases, los índices espaciales se crean y se mantienen automáticamente por usted. En algunos casos, recalcular un índice espacial puede mejorar el rendimiento, como se describe Configurar índices espaciales.

Utilizar sincrónico en lugar de asíncrono

Puede especificar que el servicio de geoprocesamiento se ejecute en sincrónico o asíncrono. En el modo asíncrono, el servidor sufre un poco de sobrecarga sufridas, lo que significa que las tareas asíncronas rara vez se ejecutan en un segundo. Ejecutar la misma tarea en el modo sincrónico es una décima de segundo aproximadamente más rápido que ejecutarla en el modo asincrónico.

Evite las transformaciones de coordenadas innecesarias

Si su tarea está utilizando datasets geográficos que están en distintos sistemas de coordenadas, las herramientas de geoprocesamiento utilizadas por su tarea puede que necesiten transformar coordenadas a un único sistema de coordenadas común durante la ejecución. Según el tamaño de sus datasets, transformar coordenadas de un sistema de coordenadas a otro puede retrasar su tarea. Debe ser consciente del sistema de coordenadas de los datasets y de si las herramientas utilizadas por su tarea necesitan realizar transformaciones de coordenadas. Es posible que desee transformar todos los datasets que utiliza su tarea a un sistema de coordenadas. Consulte los siguientes temas para obtener más información sobre los sistemas de coordenadas y cómo afectan a las herramientas de geoprocesamiento.

Reducir el tamaño de los datos

Cualquier software que procesa datos funciona más rápido cuando el dataset es pequeño. Existen algunas maneras con las que puede reducir el tamaño de los datos geográficos:

Diferencias entre 10.0 y 10.1

Si se crearon los servicios de geoprocesamiento en la versión 10.0, hubo técnicas específicas de rendimiento que usó para crear servicios, señaladas a continuación. Ya no es necesario utilizar estas técnicas en 10.1.

HerenciaHerencia:

Antes de la versión 10.1, si la configuración de ArcGIS 10.1 for Server estaba compuesta por varios equipos (ahora denominados clústeres), o usted utilizaba rutas UNC para sus directorio arcgisjobs, se recomendaba que estableciera un directorio de trabajos local. Este directorio de trabajos local ha mejorado significativamente el tiempo de ejecución, ya que el procesamiento de cada tarea se realiza en el servidor local y el resultado final es transferido al cliente. En la versión 10.1, configurar los directorios de trabajos locales es una tarea del administrador del servidor SIG. Pero como autor de una tarea, ya no deberá especificar que su tarea utiliza el directorio de trabajos local, ya que se utiliza automáticamente si el servidor participa en un clúster de más de un equipo o si se hace referencia a los directorios mediante una ruta UNC.

HerenciaHerencia:

Antes de la versión 10.1, el servicio de geoprocesamiento funcionaba contra los rásteres y se recomendaba tenerlos en el formato GRID. El formato GRID era generalmente más rápido, ya que algunas herramientas se han optimizado para trabajar contra GRIDS. En la versión 10.1, todas las herramientas de ráster pueden leer y escribir el formato de origen sin pérdida de rendimiento.

Temas relacionados

9/11/2013