analisis de configuraciones de servidores proxy uniquindio

Post on 29-Nov-2014

3.466 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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