Optimización de un servidor de mapas en Internet



Documentos relacionados
Optimización de un servidor de mapas en Internet

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Capítulo 5. Cliente-Servidor.

Vigilar grandes extensiones nunca fue tan fácil. Soluciones profesionales de análisis de vídeo

Soluciones profesionales de videoanálisis

FUENTES SECUNDARIAS INTERNAS

Instalar y configurar W3 Total Cache

Seminario Electrónico de Soluciones Tecnológicas sobre VPNs de Extranets

Guía de uso del Cloud Datacenter de acens

Solución para la industria Textil.

Seminario Electrónico de Soluciones Tecnológicas sobre Content Networking

Solución para retail Textil. 1

Las 10 preguntas más habituales sobre los Sistemas de Captación de Datos en planta


IMPLANTACIONES DE ERP. CÓMO CONSEGUIR EL ÉXITO? MasEmpresa

Infraestructura Tecnológica. Sesión 2: Mejoras adicionales al servidor de archivos

UNIVERSIDAD DE SALAMANCA

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Tecnología IP para videovigilancia... Los últimos avances han hecho posible conectar cámaras directamente a una red de ordenadores basada en el

CONSIDERACIONES TÉCNICAS SOBRE LOS SERVICIOS GESTIONADOS DE COPIA DE SEGURIDAD DE STORAGE NETWORKING

Internet Information Server

TPV VIRTUAL O PASARELA DE PAGOS DE CAJASTUR

Juan Carlos Pérez González. UD 9. Resolución de incidencias y asistencia técnica

Seminario Electrónico de Soluciones Tecnológicas sobre Acceso Remoto. 1 de 12

WINDOWS : TERMINAL SERVER

INTRODUCCIÓN: Una Visión Global del Proceso de Creación de Empresas

El Outsourcing como Opción Estratégica

GedicoPDA: software de preventa

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

El universo en la palma de tu mano. El software de gestión para organizaciones políticas e instituciones

NexTReT. Internet Status Monitor (ISM) Whitepaper

Saas and Cloud.

El ABC del ERP. (Christopher Koch)

Seminario Electrónico de Soluciones Tecnológicas sobre Ethernet de Largo Alcance

SERVICIO DE CONTROL PRESENCIAL Y DE CUMPLIMIENTO DE HORAS

CAPÍTULO II. Gráficos Dinámicos.

Navidian Oferta de Servicios GL7

Infraestructura Tecnológica. Sesión 1: Infraestructura de servidores

GUÍA METODOLÓGICA PARA LA FORMACIÓN CON E-LEARNING DIRIGIDA A COLECTIVOS SIN ALTA CUALIFICACIÓN CAPÍTULO 4. Dirección Técnica:

Resumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva

Conclusiones. Particionado Consciente de los Datos

MANUAL COPIAS DE SEGURIDAD

ADMINISTRACION DE CENTROS DE COMPUTO

Introducción a las redes de computadores

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

Servicio de administración de pautas publicitarias en Internet

Solución para el sector distribución.

retos LA ACTUALIDAD LA SOLUCIÓN

Novedades en Q-flow 3.02

GESTIÓN DE CAPACIDAD DE SERVICIOS TI: UNA SOLUCIÓN DESDE ITIL

TITULO Editorial Autores ISBN AÑO

Bechtle Solutions Servicios Profesionales

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Dossier de empresa. > La empresa > Nuestros servicios > Trabajos realizados > Información de contacto. Más información disponible en:

PCGeek. Descripción del problema

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

CAPÍTULO 1 Instrumentación Virtual

CURSO: APACHE SPARK CAPÍTULO 2: INTRODUCCIÓN A APACHE SPARK.

Servicios remotos de Xerox Un paso en la dirección correcta

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Internet aula abierta

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

En este capítulo se describe la forma de cómo se implementó el sistema de video

Manual Usuario Tacotel Lector

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Plan de ahorro en costes mediante telefonía IP

Ventajas del software del SIGOB para las instituciones

App para realizar consultas al Sistema de Información Estadística de Castilla y León

15 CORREO WEB CORREO WEB

RFID APLICADO A LA GESTIÓN DOCUMENTAL

Presentación de Servicios.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Cuándo y qué virtualizar? Cuándo y qué virtualizar? 1

Consultoría de Posicionamiento. Haz rentable tu sitio web

CONCEPTOS DE LA FUERZA

Presentación de Pyramid Data Warehouse

CONCLUSIONES. De la información total que acabamos de facilitar al lector podemos realizar el siguiente resumen:

1º CFGS ASIR IMPLANTACIÓN DE SISTEMAS OPERATIVOS

Seminario de Informática

Técnicas de Programación

ERP Una inversión que rendirá frutos. FASCÍCULO

Bibliotecas Escolares.

ING. YIM APESTEGUI FLORENTINO

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Sin embargo, con el tiempo ocurren errores en el disco duro, los datos se desorganizan y las referencias se vuelven obsoletas.

Solución de telefonía para empresas TL Presentación de producto. Telefonía IP

PRESENTACIÓN TÉCNICA Y REQUISITOS DOCUMENTO EXTERNO

Fundación Universitaria San. Direccionamiento IP

Día :00h Lugar: Obra Social Ibercaja, Sala De actos, Rambla Ferran 38, 3º, Lleida

GESTIÓN DEL MEDIO AMBIENTE URBANO. (LIMPIEZA VIARIA, MANTENIMIENTO DE ZONAS VERDES, RESIDUOS URBANOS Y ABASTECIMIENTO DE AGUA)

Manual del Usuario ADSL

punto, es que los criterios de evaluación de las medidas antes citadas se ajustan a las medidas señaladas para la toma del indicador VTD.

PLAN DE MEJORAS. Herramienta de trabajo. Agencia Nacional de Evaluación de la Calidad y Acreditación

Soluciones y Servicios en Comunicaciones y Tecnologías de la Información. Portfolio de servicios

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Transcripción:

Optimización de un servidor de mapas en Internet Alejandro Guinea de Salas 1, Sergio Jorrín Abellán 1 1 Geograma SL Castillo Lantaron, 8 Vitoria-Gasteiz Tel: 902 99 55 84,Fax: +34945230340, geograma@geograma.com Resumen Este artículo pretende describir las técnicas que se podrían aplicar en el caso de que necesitemos optimizar un servidor geográfico en internet. Un servidor, y especialmente un servidor de mapas, es un sistema complejo que requiere un equipo experimentado multidisciplinar para una correcta implementación. El paso de desarrollo a producción en este tipo de sistemas suele provocar la aparición de una serie de problemas referidos al rendimiento. Estos problemas, algunos previsibles y otros no tanto, pueden llegar a ser tan importantes que hacen plantearse la reprogramación de algunos módulos o la modificación de las funcionalidades previstas inicialmente. El documento menciona una serie de puntos, que aunque algunas veces resultan obvios, no por ello se suelen tener en cuenta todas las ocasiones. Además, cada implantación es diferente, y un mismo punto puede tener efectos distintos en cada una de ellas. Cada uno de los aspectos tratados constituye un punto de partida sobre el cual se abren infinitas posibilidades dependiendo de cada caso. Este documento es un compendio de las diversas experiencias que los consultores, desarrolladores y analistas de Geograma (www.geograma.com) han tenido en la implementación de este tipo de sistemas. Aunque depende de la limpieza y metodología con la Ud. haya desarrollado el sistema, es muy probable que en este artículo no encuentre soluciones radicales. Hay matices que pueden afectar más o menos al rendimiento, pero lo cierto es que no hay puntos que tengan una importancia capital. Más bien es una suma de factores, que hace que un solo factor no tenga incidencia, pero que la suma de varios de ellos sí adquiera cierta relevancia.

Palabras clave: Servidor de mapas, optimización, internet mapping. 1. Para optimizar hay que medir Medir, medir y medir. No nos podremos plantear ningún proceso de optimización, sea en el ámbito que sea, si no tenemos definidos unos indicadores que nos definan claramente qué es lo que queremos mejorar. También, aunque mucho más difícil, hay que definir unos objetivos en base a dichos indicadores. El tener una meta concreta nos puede ayudar más de lo que creemos. La ausencia de objetivos de optimización puede provocar que el coste se dispare. Tiene mucho más éxito un proceso de optimización del tipo hay que conseguir que una transacción tarde 3 segundos como máximo, que del tipo hay que optimizar las transacciones al máximo posible. Durante el proceso de desarrollo, es necesario aplicar unas metodologías que nos permitan medir tiempos, parciales y totales. No nos podemos fiar únicamente de nuestra propia percepción. Como ya comentábamos al principio, las optimizaciones son apenas perceptibles cuando se realizan de una en una. Por ello debemos disponer de mecanismos que nos recojan tiempos de proceso y de respuesta que nos puedan indicar si es más rápido un método u otro, o funciona mejor un hardware determinado u otro, a la hora de desarrollar. Las diferencias pueden ser inapreciables, normalmente inferiores a décimas de segundo, pero en un proceso recursivo una décima se puede convertir fácilmente e uno o varios segundos. No pase al siguiente punto si no tiene resuelto cómo medir y hasta dónde quiere optimizar. Se ahorrará tiempo y dinero. 2. Seguridad La seguridad consume recursos. Muchos recursos. Debe aplicar la seguridad necesaria a su aplicación, pero hay que valorar qué técnica es la más apropiada. Por ejemplo, el acceso a un servidor web se puede restringir por IP, pero esto tiene un coste elevado comparándolo con otras técnicas. El control de usuario y contraseña de puede aplicar de muchísimas formas diferentes. Otro ejemplo claro es el uso del protocolo seguro HTTPS. Desde luego es un protocolo seguro, pero su rendimiento es a todas luces inferior. Una aplicación lógica de este protocolo es utilizarlo por ejemplo solamente cuando se transmiten datos de especial importancia, y no en la totalidad de las transacciones.

Cuando valore la política de seguridad que utilizará su aplicación, tenga en cuenta los rendimientos de cada una de las políticas, puede haber grandes diferencias. 3. Depuración Al hilo del capítulo anterior, además de las rutinas de medición de tiempos a las que hacíamos referencias, es habitual tener habilitadas las opciones de depuración que ofrecen los diferentes entornos de programación. Una vez desarrollada la aplicación, estas opciones no tienen sentido, y por tanto pueden ser deshabilitadas sin que el usuario note diferencia. Además, las opciones de depuración pueden suponer algún problema en temas de seguridad, por lo tanto, deshabilite todas las opciones de depuración en el lado servidor. 4. Registro Es común que las aplicaciones generen un registro de los procesos que realizan. La base de datos, el servidor de internet o el servidor que genera los mapas suelen tener sus propios registros. Hay ocasiones en las que dichos registros son imprescindibles, se realiza su seguimiento, se utilizan diariamente, y se explotan sus estadísticas. Es el caso de los registros de los servidores de páginas web, en el que es necesario un seguimiento exhaustivo. Pero no todos los registros son imprescindibles. Hay registros que sólo tienen una finalidad didáctica, de tutorial, otros que no son necesarios, o incluso hay veces que la misma información se registra varias veces. En un caso concreto con un servidor de mapas, la opción de registro de generación de mapas provocaba un retraso de más del 50% en cada mapa. Deshabilite las opciones de registro o log que no sean imprescindibles. 5. Hardware 2.1 Tarjeta gráfica

La tarjeta gráfica del servidor puede ser decisiva en algunos casos particulares. Aunque aparentemente no exista relación, cuando el software servidor de mapas utiliza el API del sistema operativo para generar imágenes de mapas, éste a su vez aprovecha las capacidades de la tarjeta gráfica. Por tanto, cuanto más potente sea dicha tarjeta, más rápido se generarán los mapas. Además, incluso es posible que la configuración de pantalla influya en la resolución y profundidad de colores de las imágenes de mapa. Compruebe si la tarjeta gráfica del servidor influye en la generación de los mapas. 2.2 RAM Cuanta más RAM mejor es una máxima de los fabricantes de software. El problema es que el servidor de mapas se encuentra instalado en una máquina concreta, con una RAM determinada. Lo importante en este caso es gestionar la RAM adecuadamente. Es importante detectar cuándo la RAM física se acaba y se comienza a utilizar el disco de paginación o memoria virtual. Es importante que esto no ocurra, pues entonces es cuando el rendimiento desciende de manera espectacular. Puede utilizar el administrador de tareas de windows para obtener una visión rápida del uso de la RAM.Cuando ocurre, descartando la opción de instalar más RAM (la más sencilla), deberemos liberar memoria. Para liberar memoria, hay que valorar si todos los programas que tenemos instalados en el servidor de mapas son imprescindibles. Es posible, además, que el servidor de páginas web o el servidor de correo debamos alojarlo en otra máquina para liberar RAM. Otro de los grandes usuarios de la RAM es la memoria caché. La utilización de caché es buena, pero un uso indebido puede provocar que la memoria se sature, obteniendo resultados contraproducentes. Vigile la memoria, si ésta se acaba y se comienza a utilizar el fichero de paginación, valore la posibilidad de desinstalar aplicaciones residentes y compruebe el buen uso de la memoria caché en su código. 2.3 Procesador El procesador suele ser el primer comodín al que recurrimos. Cuando se intentan resolver problemas de rendimiento con velocidad de procesador, en lugar de resolverlo lo estaremos tapando. Evidentemente, cuanto más rápido, mejor; pero si el cuello de botella no es el procesador, el rendimiento mejorará poco y además el problema seguirá existiendo. Compruebe la utilización de procesador. El tiempo de

uso del procesador se puede reducir aumentando la velocidad u optimizando el código. Cada avance optimizando recursos será equivalente a comprar un procesador más rápido.respecto a la utilización de varios procesadores, éstos no aumentan la velocidad de proceso. Es más rápido un procesador de 2.000 Mhz que dos de 1.000 Mhz. Una configuración multiprocesador está dirigida a mejorar la respuesta ante varios usuarios, pero no a aumentar la velocidad. Vigile la utilización de los procesadores, porque se dan casos en los que la utilización del segundo procesador es nula, con lo que será un gasto inútil. Consulte la documentación de su aplicación servidora de mapas para conocer su comportamiento en entornos multiprocesador. Aumente la velocidad del procesador sólo cuando haya acabado de optimizar su aplicación en el resto de frentes, y cuando detecte que éste es un cuello de botella. 6. Programación Sería imposible recoger todos los detalles que pueden optimizar una aplicación servidora de mapas. Depende de muchísimos factores, de las herramientas y/o entornos utilizados, etc. No es objeto de este artículo ya que no es un problema específico de los servidores geográficos. Busque y utilice la documentación sobre buenas prácticas de código y mejoras de rendimiento específicas para su entorno de programación. 7. Salvapantallas Precisamente los salvapantallas se utilizan mucho en servidores, y suelen estar activos gran parte del tiempo. Utilice la opción que apaga la pantalla para ahorrar energía y uso del monitor, es la que menos recursos utiliza. Si quiere aprovechar todos los recursos de su ordenador, no utilice salvapantallas. 8. Ancho de banda El servidor geográfico debe estar conectado a Internet con un ancho de banda adecuado a la demanda de mapas que debe servir. Éste no suele ser un problema, ya que los diferentes proveedores ofrecen diferentes anchos de banda con varias posibilidades, fácilmente escalables, incluso anchos de banda ilimitados cuyo coste se cuantifica por el volumen transferido. Lo que sí es más crítico es el ancho de banda con el que se conectan los usuarios. Hasta la implantación del ADSL, la

velocidad de las conexiones era uno de los cuellos de botella del sistema. Evalúe el ancho de banda que dispondrán los potenciales usuarios, y realice pruebas reales de rendimiento. Si es necesario disminuya capacidades como el tamaño o resolución de los mapas. No se trata sólo de que el servidor sea rápido, sino que además se perciba como tal. Desde luego el caso real no es acceder a los mapas desde el propio servidor. No sólo el ancho de banda influye en la velocidad de una red. La correcta utilización y configuración de tarjetas, hubs, switches, cortafuegos, etc tiene influencia directa en el rendimiento. Lo que para procesos más corrientes puede no tener influencia, cobra especial importancia en el caso de servidores de mapas. Consulte al administrador de la red el nivel de optimización de la misma. 9. Datos Los datos son uno de los temas que más influyen en el rendimiento. Una correcta estructuración, planificación y tratamiento de los mismos es la mejor apuesta para conseguir un servidor web geográfico de calidad. 2.4 Formato de datos La mayoría de fabricantes de software publicitan sus productos en la línea de que pueden utilizar la mayoría de formatos GIS utilizados habitualmente. La utilización de los formatos no nativos del software GIS suele traducirse en un rendimiento muy pobre. Un formato determinado está optimizado normalmente para el software que lo creó. Además de las pérdidas de información en la traducción que se suelen dar, no todos los formatos son de lectura/escritura. En definitiva, sólo con los datos nativos del fabricante se obtienen los mejores resultados. Valore la posibilidad de generar los datos en el formato nativo del software GIS; o realice las pruebas y comparaciones necesarias para asegurarse de que con el formato que pretende utilizar no se perjudica el rendimiento. 2.5 Formato de salida El formato de salida puede causar que la información que se envía a través de la red sea excesiva. Un mapa en formato bmp puede tener un tamaño hasta 50 veces mayor que la misma imagen en formato gif, por ejemplo. Un formato jpg mal aplicado puede ser 3 ó 4 veces mayor que su equivalente en png. Cada caso tiene sus particularidades, pero en general el formato jpg es adecuado para presentar imágenes aéreas, ortofotos, o combinación de éstas con información vectorial, y los formatos gif y png son más adecuados para los planos con un marcado carácter lineal. La profundidad del color de las imágenes también puede afectar seriamente

al tamaño de los ficheros y por tanto al rendimiento. Hay que valorar si la profundidad de color de las imágenes que envía son es la adecuada o está sobredimensionada. Un ejemplo extremo sería enviar imágenes en color para un dispositivo móvil que sólo representa escala de grises. Además, los formatos que parece que se van consolidando son los formatos vectoriales basados en XML, que no deja de ser un formato de texto, mucho menos óptimo que el formato binario. Desde luego las técnicas de compresión/descompresión están avanzando, y es muy probable que no en mucho tiempo estos formatos puedan ser una buena opción. Elija el formato más óptimo para su caso concreto. Es posible que deba utilizar varios formatos en función de cada necesidad. Configure adecuadamente la profundidad del color en imágenes raster. Valore si el formato raster es más o menos óptimo que el formato vectorial para la funcionalidad que necesita. 2.6 Generalizar Cuando se generan mapas para Internet, la escala de visualización puede ser muy variada. Si utiliza información de escalas grandes para generar mapas de escala pequeña, estará derrochando recursos. Generalice la cartografía para que se adecue a la escala de visualización que va a utilizar. Si es necesario, genere varias colecciones de cartografía para utilizar cada una según la necesidad. Es posible en para ciertos casos sea más engorroso, pero la diferencia de rendimiento puede ser decisiva. Además, a nivel visual, el resultado puede ser mucho mejor cuando se genera una cartografía ex profeso para una escala determinada. Es lógico que no sea lo más adecuado, ni en recursos ni en simbolización, presentar unos elementos de 1/500 tal cual cuando la estamos visualizando a escalas 1/10.000 o 1/50.000. Existen multitud de ejemplos en Internet con mapas ilegibles y lentos en su inicio, que no se vuelven legibles y ágiles hasta acercarse lo suficiente. 2.7 Visualización por zoom Además de que la información que utilice y presente el servidor de mapas debe ser adecuada a su escala como se ha explicado en el punto anterior, los niveles de información que se presenten en un mapa deben ser los adecuados. Genere rangos de escalas y presente la información que verdaderamente sea útil a cada uno de los rangos. El usuario suele preferir un mapa algo más vacío, si con ello aumenta el rendimiento del servidor.

10. Y si no mejora Los procesos con análisis geográficos pueden llegar a ser muy complejos. Si no consigue reducir el tiempo de proceso es posible que ya esté en el límite. Aunque la tecnología avanza muy rápido, los ordenadores tienen un límite en su capacidad de cálculo. Si un ordenador puede realizar 1 millón de operaciones por segundo, y ud. necesita calcular 1 millón de operaciones, lo más seguro es que tarde un segundo. Es posible que su cliente, jefe o Ud. mismo se hayan planteado un límite imposible. De ahí la importancia de uno de los primeros puntos tratados en este documento, la fijación de objetivos. La percepción del rendimiento es tan importante como el propio rendimiento. Un indicador animado de que el servidor está trabajando, por ejemplo, puede hacer que 10 segundos se conviertan en 3. Sólo la frase Generando mapa consigue algo similar. Utilice la experiencia de los usuarios para optimizar su sistema, con encuestas y preguntas directas. No se olvide del fondo, el usuario accede al sistema para conseguir información o resolver un problema. Si un usuario dice Valió la pena esperar también estaremos ante un servidor geográfico optimizado. La optimización de un servidor de mapas es casi un arte, en la que el artista debe conocer sobre redes, sistemas operativos, mapas, bases de datos, programación, usuarios, diseño, hardware o marketing. Una cantidad de conocimientos imposibles de concentrar en una sola persona. El artista es un equipo multidisciplinar, bien compenetrado, formado y motivado. La experiencia más importante que Ud. puede sacar de este documento es la más sencilla: Para optimizar hay que medir, medir y medir. No se dará cuenta de la importancia de las mediciones hasta que no las comience a aplicar. Ya me dirán ;-). 11. Bilbiografía Fuentes y experiencias propias. www.geograma.com