analisis de configuraciones de servidores proxy uniquindio

of 46 /46

Author: exactlimon

Post on 29-Nov-2014

3.456 views

Category:

Technology


1 download

Embed Size (px)

DESCRIPTION

 

TRANSCRIPT

  • 1. Anlisis de configuraciones de servidores proxy cach Carlos Eduardo Gmez Montoya Luis Eduardo Seplveda Rodrguez UNIVERSIDAD DEL QUINDO
  • 2. Contexto La actividad principal de los usuarios de Internet es navegar por la Web. El tiempo que tardan en ser descargados los objetos Web es determinante para la satisfaccin de los usuarios. 1/12
  • 3. Contexto El desempeo del protocolo HTTP es un problema complejo. La capacidad de transmisin de un canal impacta positiva o negativamente la latencia experimentada por el usuario. 2/12
  • 4. Contexto Existen muchas variables, algunas de ellas fuera de control de los usuarios y de los proveedores de contenido. Cualquier equipo entre el cliente donde est el usuario y el servidor Web, aumenta el tiempo total de descarga de cada objeto Web. 3/12
  • 5. Contexto Una solucin ampliamente utilizada en diferentes sistemas es el cach. El cach permite disminuir el tiempo de localizacin de diferentes tipos de recursos. 4/12
  • 6. Contexto El cach ubica cierta informacin en un lugar al que se puede acceder ms rpido que su ubicacin habitual. El cach permiete aprovechar el principio de localidad temporal y el principio de localidad espacial. 5/12
  • 7. Contexto Ejemplos: cach de memoria, cach de disco, cach local, cach Web. El cach Web generalmente es implementado por los servidores proxy. 6/12
  • 8. Contexto El cach es un intermediario entre el cliente y el servidor Web. 7/12
  • 9. Contexto El servidor proxy cach es una herramienta de software que se instala usualmente en la red local de una organizacin. Su funcin es mantener copias locales de los objetos Web. 8/12
  • 10. Contexto Un servidor proxy ayuda a disminuir el trfico hacia los servidores de origen en Internet. La configuracin de un servidor proxy cach requiere establecer los valores a ciertos parmetros. 9/12
  • 11. Contexto La seleccin de los parmetros y los valores a asignar, generalmente est basada en la experiencia y en heursticas. La efectividad del cach es juzgada por su hit rate o su byte hit rate. 10/12
  • 12. Contexto El rendimiento de un servidor proxy cach depende de: Ubicacin en la red corporativa Solicitudes realizadas por los usuarios Intereses de los usuarios Componentes hardware Configuracin 11/12
  • 13. Contexto Es necesario utilizar el servicio un tiempo determinado para obtener estadsticas de un servidor proxy. Con base en esas estadsticas se pueden tomar decisiones para la reconfiguracin del servidor proxy. 12/12
  • 14. El proyecto de investigacin Anlisis de configuraciones de servidores proxy cach
  • 15. Objetivo general Determinar los valores de los parmetros bsicos de configuracin de servidores proxy cach con los que se obtenga el menor tiempo promedio de descarga de los objetos solicitados.
  • 16. Objetivos especficos Disear las arquitecturas de servidores proxy para los diferentes casos de estudio. Establecer los parmetros a utilizar en cada uno de los casos de estudio.
  • 17. Objetivos especficos Disear ambientes virtuales que soporten los diferentes casos de estudio. Seleccionar o implementar un generador de solicitudes Web.
  • 18. Objetivos especficos Seleccionar o implementar un analizador de archivos log para obtener las mtricas establecidas. Analizar los resultados para determinar los valores de los parmetros que mejor se ajustan a cada caso de estudio.
  • 19. Arquitectura de la solucin
  • 20. Pruebas Es un proceso dispendioso y montono. Puede hacerse en forma manual o automtica. Se dise y desarroll un robot.
  • 21. Robot Automatiza la ejecucin de descargas en el cliente. Automatiza el cambio de configuracin en el servidor. Trabaja slo y produce los resultados.
  • 22. Virtualizacin Virtualizacin es la capacidad de crear una abstraccin lgica a partir de los recursos computacionales fsicos. No es un concepto nuevo, tiene casi 50 aos de haber sido inventado por IBM.
  • 23. Virtualizacin En los aos 90 se produjo un auge de esta tecnologa al aprovechar los procesadores basados en x86. Una mquina virtual es un contenedor de software aislado el cual puede ejecutar su propios sistemas operativo y aplicaciones como si fuera un computador real.
  • 24. Principales ventajas Particionamiento Independencia de hardware Aislamiento Encapsulamiento
  • 25. Algunas herramientas De escritorio VMware WorkStation VirtualBox Empresarial VMware Server VMware ESX VMware ESXi XEN
  • 26. Virtualizacin en el proyecto Se utiliz VMware ESXi. ESXi utiliza un hipervisor o monitor de mquina virtual, el cual acta directamente sobre el hardware para permitir la creacin de mquinas virtuales sin necesidad de un sistema operativo host.
  • 27. Virtualizacin en el proyecto Se cre un ambiente virtual controlado donde se aislaron diferentes variables que podran afectar los resultados.
  • 28. Ambiente virtual ESXi Servidor Web Servidor Proxy Cach Cliente
  • 29. Ambiente virtual Servidor Web GNU/Linux Debian Lenny (Versin 5.0) Apache 2 Servidor Proxy Cach GNU/Linux Debian Lenny (Versin 5.0) Squid Versin 2.7 (Recompilada) Servidor NFS cargarConfiguracion.sh
  • 30. Ambiente virtual Cliente GNU/Linux Debian Lenny (Versin 5.0) Cliente NFS iniciarDescargas.sh
  • 31. NFS Network File System Es un servicio que permite acceder a archivos localizados en hosts remotos como si estuvieran almacenados en el host local en forma transparente para los usuarios.
  • 32. NFS en el proyecto El servidor proxy expone una zona compartida con el cliente para mantener informacin que ambas partes necesitan. Esta informacin permanece sincronizada casi de inmediato.
  • 33. NFS en el proyecto En esa zona compartida se maneja informacin sobre las descargas del cliente y sobre la configuracin actual en el servidor. Cuando el servidor est listo crea un archivo en la zona compartida.
  • 34. NFS en el proyecto La existencia de este archivo funciona como un semforo que le da paso a la descarga de una nueva prueba en el cliente. Cada vez que el cliente inicia una prueba, crea un archivo en la zona compartida.
  • 35. NFS en el proyecto Este archivo tambin acta como semforo, donde la presencia de este archivo no permite que el servidor se reconfigure para tomar el siguiente archivo de configuracin que hace parte de la prueba.
  • 36. Aplicacin en el servidor cargarConfiguracion.sh Es el script principal en el lado servidor. Est desarrollado en shell script, un lenguaje de programacin que interpreta los comandos del sistema.
  • 37. Aplicacin en el servidor El objetivo es reconfigurar el servidor proxy con el siguiente archivo de configuracin dentro de los archivos de configuracin disponibles para la prueba.
  • 38. Aplicacin en el servidor Este script intenta reconfigurar el servidor cada minuto, y dependiendo de la presencia o ausencia de un archivo que acta como semforo, el proceso reconfiguracin inicia o debe esperar al siguiente minuto.
  • 39. Aplicacin en el cliente iniciarDescargas.sh Es el script principal en el lado cliente. Est desarrollado en shell script e incluye un componente desarrollado en lenguaje C.
  • 40. Aplicacin en el cliente El objetivo es lanzar las solicitudes de los objetos Web especificados para la prueba. Este script intenta realizar la descarga cada minuto, y dependiendo de la presencia o ausencia de un archivo que acta como semforo, el proceso de descarga inicia o debe esperar al siguiente minuto.
  • 41. Conclusiones Existen parmetros de configuracin que no son muy difundidos pero pueden afectar significativamente el desempeo del servidor proxy cach. Una configuracin adecuada de Squid por lo regular necesita compilar el programa de acuerdo con la necesidad especfica.
  • 42. Conclusiones El robot desarrollado puede ser extendido a otros servicios en sistemas tipo Unix cuya configuracin depende de un archivo de texto.
  • 43. Preguntas
  • 44. Anlisis de configuraciones de servidores proxy cach Carlos Eduardo Gmez Montoya Luis Eduardo Seplveda Rodrguez UNIVERSIDAD DEL QUINDO