Sugerencias de rendimiento para las aplicaciones Web
El rendimiento de una aplicación Web implica la velocidad en la que la aplicación responde a los usuarios y la cantidad de usuarios que puede acomodar una aplicación. Cuando piensa en mejorar el rendimiento de sus aplicaciones Web de ArcGIS Server, lo primero que se le puede ocurrir es agregar o actualizar el hardware. Sin embargo, puede haber otras cosas para ajustar en la aplicación, el mapa o la configuración del servidor que mejorarán el rendimiento de sus aplicaciones Web.
Diseñar su mapa para rendimiento
Diseñar mapas para la Web es muy distinto a diseñar mapas de papel, o incluso mapas con los que comúnmente trabaja en aplicaciones de escritorio como ArcMap. Si tiene un documento de mapa que comúnmente utiliza en ArcMap, es posible que desee guardar una copia en lugar de publicar el mapa directamente en ArcGIS Server. Al utilizar la copia, puede hacer algunas optimizaciones específicamente para la visualización Web.
¿Cuál es la diferencia sobre los mapas que verá en la Web? Para obtener el mejor rendimiento de su mapa en la Web, se recomienda que utilice la barra de herramientas Publicación de servicio de mapas en ArcMap para examinar su documento de mapa. Resuelva todos los errores y la mayor cantidad de advertencias posible, a continuación, publique el mapa utilizando la barra de herramientas. Esto basa su servicio en un archivo de definición del servicio de mapas (.msd o MSD), que es la forma de publicar su servicio para el dibujo más rápido disponible.
Independientemente de si su servicio de mapas está basado en MSD, debe considerar almacenarlo en memoria caché para el rendimiento. Almacenar en memoria caché significa que crea y almacena un conjunto de imágenes de mapa representadas previamente que la aplicación puede utilizar rápidamente en lugar de esperar a que el mapa se dibuje cada vez. Si almacena el mapa en memoria caché, deberá diseñar el mapa para que se vea bien en todas las escalas en las que se almacenará en memoria caché. Para obtener ideas de cómo hacer esto, consulte Planificar una memoria caché de mapa.
Almacenar en memoria caché sus servicios de mapas
Los servicios de mapas almacenados en memoria caché distribuyen teselas de mapa predibujadas en lugar de dibujar imágenes de mapa al vuelo. Los servicios almacenados en memoria caché no sólo mejoran la velocidad de visualización de su mapa sino que además aumentan considerablemente el número de usuarios que puede acomodar su servidor. Para una aplicación Web que enfrenta al público, siempre debe almacenar en memoria caché el servicio de mapa base e intentar almacenar en memoria caché todos los servicios de superposición operacionales que son factibles en la caché.
Evaluar el formato de imagen con el que se crea su memoria caché de mapa
El formato de imagen que elige afecta el rendimiento, la apariencia y el tamaño en disco de su memoria caché. PNG 8 funciona perfecto para varios servicios de superposición basados en MXD, mientras que PNG 32 es una mejor opción para los servicios de superposición basados en MSD. Para los mapas base, JPEG a menudo es la mejor opción, especialmente si el mapa tiene mucha variación de color. Para obtener más información sobre cada formato de imagen, consulte Propiedades de memoria caché de mapa disponibles.
Evitar almacenar en memoria caché servicios de mapas en PNG 24
Internet Explorer 6 tiene limitaciones en su capacidad para mostrar la transparencia en imágenes PNG 24. El Web ADF incluye el código que trabaja alrededor de esta limitación, pero se incurre en una penalización de rendimiento cuando se encuentra este escenario. Evite este escenario al hacer lo siguiente:
- Almacenar en memoria caché sus servicios de mapas en formato PNG 8, PNG 32 o JPEG si se debe utilizar Internet Explorer 6.
- Utilizar un navegador que no sea Internet Explorer 6 para ver servicios de mapas superpuestos almacenados en memoria caché en formato PNG 24.
Utilizar conexiones a ArcGIS Server en Internet cuando sea posible
Conéctese a su servidor utilizando conexiones a ArcGIS Server en Internet para utilizar en forma más eficiente las solicitudes de contexto del servidor. Las conexiones a ArcGIS Server local se deben utilizar sólo cuando la aplicación requiere cambiar el estado del servicio, que incluye editar los datos con el Web ADF.
Asegurarse de que el control Mapa de vista general utilice el modo estático
Si su mapa de vista general parece estar disminuyendo el rendimiento al cambiar constantemente su escala y extensión, abra su aplicación Web en Visual Studio y asegúrese de que la propiedad StaticMode del control OverviewMap esté establecida en Verdadero. Esto prohíbe que la imagen OverviewMap cambie cuando cambia la extensión de mapa.
Configurar el control de la Tabla de contenido para optimizar el rendimiento
El control de la Tabla de contenido tiene varias opciones que le permiten reducir la cantidad de información solicitada del servidor.
- TOCType: La configuración predeterminada de SwatchList generará una tabla de contenido que enumera los nombres de capa y la simbología dentro de cada capa. Cambiar esta configuración a LayerList reducirá la cantidad de información solicitada del servidor al mostrar solamente los nombres de capa y no la simbología.
- RenderOnDemand: Cuando se configura la Tabla de contenido para que muestre la simbología, configurar esta propiedad como Verdadero demorará la solicitud de información de muestra hasta que se expanda una capa. Esto ayudará a mejorar el tiempo de inicio inicial de la aplicación.
- ExpandDepth: Utilice un valor de 0 ó 1 para minimizar el número de capas visibles anidadas cuando se muestra la Tabla de contenido al inicio de la aplicación inicial.
Considere configurar la propiedad Visible en algunos de sus MapResourceItems como Falso. Esto hará que la aplicación se abra más rápido, pero tenga en cuenta que el usuario de la página Web deberá activar las capas manualmente.
Quitar los controles Web que no sean necesarios
La aplicación de representación cartográfica en la red predeterminada que ve en el Administrador o si IDE incluye controles Web como TableOfContents, OverviewMap y la Barra de escala. A media que interactúa con su aplicación, estos controles solicitan nuevas imágenes e información de estado actualizada. Eliminar los controles de la aplicación que se utilizan pocas veces ayudará a mejorar el rendimiento de la aplicación y la escalabilidad del sistema.
Configurar sus servicios Web para evitar la suplantación de identidad por solicitud
Cuando prepara su entorno de implementación, debe realizar cambios para evitar usar demasiado el Servicio del subsistema de autoridad de seguridad local (lsass.exe).
Cuando alguien realiza una solicitud de uno de sus servicios Web, el servidor Web se debe autenticar con el administrador de objetos del servidor (SOM). El servidor Web logra esto al suplantar la identidad de la cuenta de Servicios Web de ArcGIS, que se agregó al grupo AGSADMIN cuando ejecutó la postinstalación. Esta suplantación de identidad no cuesta mucho bajo cargas livianas, pero bajo cargas pesadas, se puede usar demasiado el proceso lsass.exe, lo que provoca un intervalo notable en el rendimiento. Se consideran cargas pesadas 25 o más solicitudes por segundo.
Puede evitar esta suplantación de identidad por solicitud al configurar sus servicios Web para que se ejecuten en un grupo de aplicaciones que se ejecuta bajo la identidad de la cuenta de Servicios Web de ArcGIS. Esto reduce la carga en el proceso lsass.exe y en última instancia permite que sus servicios se ejecuten más rápido.
Estos artículos de la base de conocimiento de ESRI le brindan información adicional sobre el problema y describen cómo realizar los ajustes en su configuración:
Utilizar prácticas de buena codificación
Si personaliza la aplicación de representación cartográfica en la red en Microsoft Visual Studio o crea su propia aplicación de muestra, utilice las mejores prácticas de codificación en Optimizar el rendimiento en las aplicaciones del Web ADF en la Ayuda del desarrollador.
Evitar consultas innecesariamente grandes
Los servicios de mapas de ArcGIS Server limitan el número de registros que se pueden devolver a través de una consulta a 1,000 por defecto. Mantenga este valor o redúzcalo para obtener un mejor rendimiento con las consultas. Puede cambiar el número de registros de resultados permitidos al editar la propiedad MaxRecordCount en el archivo de configuración de servicios de mapas.
Tenga precaución si aumenta el valor predeterminado. Las consultas que devuelven más de 2,000 registros requieren que el software cree espacios de trabajo temporales en el directorio TEMP de su sistema para administrar los registros de resultados. Esto puede hacer que el rendimiento se degrade.
Utilizar rutas locales
Utilizar rutas locales para los datos y mapas de origen tiende a otorgar un mejor rendimiento que utilizar rutas de la Convención de nombre universal (UNC) o de red. Si utiliza rutas locales y tiene más de un equipo del contenedor de objetos del servidor (SOC) en su implementación, deberá duplicar los datos en cada equipo utilizando rutas idénticas.
Para ayudarlo a decidir si debe utilizar un servidor de ArcSDE central o geodatabases de archivos locales, consulteConsideraciones del almacenamiento de datos para ArcGIS Server.