analisis de configuraciones de servidores proxy uniquindio

46

Upload: exactlimon

Post on 29-Nov-2014

3.463 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Analisis de configuraciones de servidores proxy   uniquindio
Page 2: Analisis de configuraciones de servidores proxy   uniquindio

Análisis de configuraciones

de servidores proxy caché

Carlos Eduardo Gómez Montoya

Luis Eduardo Sepúlveda Rodríguez

UNIVERSIDAD DEL QUINDÍO

Page 3: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 4: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 5: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 6: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 7: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 8: Analisis de configuraciones de servidores proxy   uniquindio

Contexto

• Ejemplos: caché de memoria, caché de

disco, caché local, caché Web.

• El caché Web generalmente es

implementado por los servidores proxy.

6/12

Page 9: Analisis de configuraciones de servidores proxy   uniquindio

Contexto

• El caché es un intermediario entre el

cliente y el servidor Web.

7/12

Page 10: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 11: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 12: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 13: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 14: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 15: Analisis de configuraciones de servidores proxy   uniquindio

El proyecto de investigación

Análisis de configuraciones de

servidores proxy caché

Page 16: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 17: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 18: Analisis de configuraciones de servidores proxy   uniquindio

Objetivos específicos

Diseñar ambientes virtuales que soporten

los diferentes casos de estudio.

Seleccionar o implementar un generador

de solicitudes Web.

Page 19: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 20: Analisis de configuraciones de servidores proxy   uniquindio

Arquitectura de la solución

Page 21: Analisis de configuraciones de servidores proxy   uniquindio

Pruebas

Es un proceso dispendioso y monótono.

Puede hacerse en forma manual o

automática.

Se diseñó y desarrolló un robot.

Page 22: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 23: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 24: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 25: Analisis de configuraciones de servidores proxy   uniquindio

Principales ventajas

Particionamiento

Independencia de hardware

Aislamiento

Encapsulamiento

Page 26: Analisis de configuraciones de servidores proxy   uniquindio

Algunas herramientas

De escritorio

VMware WorkStation

VirtualBox

Empresarial

VMware Server

VMware ESX

VMware ESXi

XEN

Page 27: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 28: Analisis de configuraciones de servidores proxy   uniquindio

Virtualización en el proyecto

• Se creó un ambiente virtual controlado

donde se aislaron diferentes variables que

podrían afectar los resultados.

Page 29: Analisis de configuraciones de servidores proxy   uniquindio

Ambiente virtual

• ESXi

– Servidor Web

– Servidor Proxy Caché

– Cliente

Page 30: Analisis de configuraciones de servidores proxy   uniquindio

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

Page 31: Analisis de configuraciones de servidores proxy   uniquindio

Ambiente virtual

Cliente

GNU/Linux Debian Lenny (Versión 5.0)

Cliente NFS

iniciarDescargas.sh

Page 32: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 33: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 34: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 35: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 36: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 37: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 38: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 39: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 40: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 41: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 42: Analisis de configuraciones de servidores proxy   uniquindio

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.

Page 43: Analisis de configuraciones de servidores proxy   uniquindio

Conclusiones

• El robot desarrollado puede ser extendido

a otros servicios en sistemas tipo Unix

cuya configuración depende de un archivo

de texto.

Page 44: Analisis de configuraciones de servidores proxy   uniquindio

Preguntas

Page 45: Analisis de configuraciones de servidores proxy   uniquindio

Análisis de configuraciones

de servidores proxy caché

Carlos Eduardo Gómez Montoya

Luis Eduardo Sepúlveda Rodríguez

UNIVERSIDAD DEL QUINDÍO

Page 46: Analisis de configuraciones de servidores proxy   uniquindio