analisis de configuraciones de servidores proxy uniquindio
Post on 29-Nov-2014
3.466 Views
Preview:
DESCRIPTION
TRANSCRIPT
Análisis de configuraciones
de servidores proxy caché
Carlos Eduardo Gómez Montoya
Luis Eduardo Sepúlveda Rodríguez
UNIVERSIDAD DEL QUINDÍO
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
satisfacción de los usuarios.
1/12
Contexto
• El desempeño del protocolo HTTP es un
problema complejo.
• La capacidad de transmisión de un canal
impacta positiva o negativamente la
latencia experimentada por el usuario.
2/12
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
Contexto
• Una solución ampliamente utilizada en
diferentes sistemas es el caché.
• El caché permite disminuir el tiempo de
localización de diferentes tipos de
recursos.
4/12
Contexto
• El caché ubica cierta información en un
lugar al que se puede acceder más
rápido que su ubicación habitual.
• El caché permiete aprovechar el principio
de localidad temporal y el principio de
localidad espacial.
5/12
Contexto
• Ejemplos: caché de memoria, caché de
disco, caché local, caché Web.
• El caché Web generalmente es
implementado por los servidores proxy.
6/12
Contexto
• El caché es un intermediario entre el
cliente y el servidor Web.
7/12
Contexto
• El servidor proxy caché es una
herramienta de software que se instala
usualmente en la red local de una
organización.
• Su función es mantener copias locales de
los objetos Web.
8/12
Contexto
• Un servidor proxy ayuda a disminuir el
tráfico hacia los servidores de origen en
Internet.
• La configuración de un servidor proxy
caché requiere establecer los valores a
ciertos parámetros.
9/12
Contexto
• La selección de los parámetros y los
valores a asignar, generalmente está
basada en la experiencia y en heurísticas.
• La efectividad del caché es juzgada por su
hit rate o su byte hit rate.
10/12
Contexto
El rendimiento de un servidor proxy caché
depende de:
Ubicación en la red corporativa
Solicitudes realizadas por los usuarios
Intereses de los usuarios
Componentes hardware
Configuración
11/12
Contexto
Es necesario utilizar el servicio un tiempo
determinado para obtener estadísticas de
un servidor proxy.
Con base en esas estadísticas se pueden
tomar decisiones para la reconfiguración
del servidor proxy.
12/12
El proyecto de investigación
Análisis de configuraciones de
servidores proxy caché
Objetivo general
• Determinar los valores de los parámetros
básicos de configuración de servidores
proxy caché con los que se obtenga el
menor tiempo promedio de descarga de
los objetos solicitados.
Objetivos específicos
Diseñar las arquitecturas de servidores
proxy para los diferentes casos de
estudio.
Establecer los parámetros a utilizar en
cada uno de los casos de estudio.
Objetivos específicos
Diseñar ambientes virtuales que soporten
los diferentes casos de estudio.
Seleccionar o implementar un generador
de solicitudes Web.
Objetivos específicos
Seleccionar o implementar un analizador
de archivos log para obtener las métricas
establecidas.
Analizar los resultados para determinar
los valores de los parámetros que mejor
se ajustan a cada caso de estudio.
Arquitectura de la solución
Pruebas
Es un proceso dispendioso y monótono.
Puede hacerse en forma manual o
automática.
Se diseñó y desarrolló un robot.
Robot
Automatiza la ejecución de descargas en
el cliente.
Automatiza el cambio de configuración en
el servidor.
Trabaja sólo y produce los resultados.
Virtualización
• Virtualización es la capacidad de crear
una abstracción lógica a partir de los
recursos computacionales físicos.
• No es un concepto nuevo, tiene casi 50
años de haber sido inventado por IBM.
Virtualización
• En los años 90 se produjo un auge de
esta tecnología al aprovechar los
procesadores basados en x86.
• Una máquina virtual es un contenedor de
software aislado el cual puede ejecutar su
propios sistemas operativo y aplicaciones
como si fuera un computador real.
Principales ventajas
Particionamiento
Independencia de hardware
Aislamiento
Encapsulamiento
Algunas herramientas
De escritorio
VMware WorkStation
VirtualBox
Empresarial
VMware Server
VMware ESX
VMware ESXi
XEN
Virtualización en el proyecto
Se utilizó VMware ESXi.
ESXi utiliza un hipervisor o monitor de
máquina virtual, el cual actúa
directamente sobre el hardware para
permitir la creación de máquinas virtuales
sin necesidad de un sistema operativo
host.
Virtualización en el proyecto
• Se creó un ambiente virtual controlado
donde se aislaron diferentes variables que
podrían afectar los resultados.
Ambiente virtual
• ESXi
– Servidor Web
– Servidor Proxy Caché
– Cliente
Ambiente virtual
Servidor Web
GNU/Linux Debian Lenny (Versión 5.0)
Apache 2
Servidor Proxy Caché
GNU/Linux Debian Lenny (Versión 5.0)
Squid Versión 2.7 (Recompilada)
Servidor NFS
cargarConfiguracion.sh
Ambiente virtual
Cliente
GNU/Linux Debian Lenny (Versión 5.0)
Cliente NFS
iniciarDescargas.sh
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.
NFS en el proyecto
El servidor proxy expone una zona
compartida con el cliente para mantener
información que ambas partes necesitan.
Esta información permanece sincronizada
casi de inmediato.
NFS en el proyecto
En esa zona compartida se maneja
información sobre las descargas del
cliente y sobre la configuración actual en
el servidor.
Cuando el servidor está listo crea un
archivo en la zona compartida.
NFS en el proyecto
La existencia de este archivo funciona
como un semáforo 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.
NFS en el proyecto
• Este archivo también actúa como
semáforo, donde la presencia de este
archivo no permite que el servidor se
reconfigure para tomar el siguiente archivo
de configuración que hace parte de la
prueba.
Aplicación en el servidor
cargarConfiguracion.sh
Es el script principal en el lado servidor.
Está desarrollado en shell script, un
lenguaje de programación que interpreta
los comandos del sistema.
Aplicación en el servidor
El objetivo es reconfigurar el servidor
proxy con el siguiente archivo de
configuración dentro de los archivos de
configuración disponibles para la prueba.
Aplicación en el servidor
• Este script intenta reconfigurar el servidor
cada minuto, y dependiendo de la
presencia o ausencia de un archivo que
actúa como semáforo, el proceso
reconfiguración inicia o debe esperar al
siguiente minuto.
Aplicación 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.
Aplicación 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
actúa como semáforo, el proceso de
descarga inicia o debe esperar al
siguiente minuto.
Conclusiones
• Existen parámetros de configuración que
no son muy difundidos pero pueden
afectar significativamente el desempeño
del servidor proxy caché.
• Una configuración adecuada de Squid por
lo regular necesita compilar el programa
de acuerdo con la necesidad específica.
Conclusiones
• El robot desarrollado puede ser extendido
a otros servicios en sistemas tipo Unix
cuya configuración depende de un archivo
de texto.
Preguntas
Análisis de configuraciones
de servidores proxy caché
Carlos Eduardo Gómez Montoya
Luis Eduardo Sepúlveda Rodríguez
UNIVERSIDAD DEL QUINDÍO
top related