SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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
Analisis de configuraciones de servidores proxy   uniquindio

Más contenido relacionado

La actualidad más candente

Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesDomingo Suarez Torres
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidadDavid Herrero
 
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Francisco Javier Acero (Over 4K Connections)
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18enyert
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayPlain Concepts
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7pacvslideshare
 
ITPros-DC 70-291 Sesion 5 DHCP
ITPros-DC 70-291 Sesion 5 DHCPITPros-DC 70-291 Sesion 5 DHCP
ITPros-DC 70-291 Sesion 5 DHCPRafael Gomez
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2pacvslideshare
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebula Project
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1pacvslideshare
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IOSpanishPASSVC
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureJoseph Lopez
 

La actualidad más candente (20)

Servidor web nginx
Servidor web nginxServidor web nginx
Servidor web nginx
 
Pruebas del servicio web
Pruebas del servicio webPruebas del servicio web
Pruebas del servicio web
 
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
Clúster de alta Disponibilidad
Clúster de alta DisponibilidadClúster de alta Disponibilidad
Clúster de alta Disponibilidad
 
Modelos de alta disponibilidad
Modelos de alta disponibilidadModelos de alta disponibilidad
Modelos de alta disponibilidad
 
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
Presentación de Cluster de W2008 R2 (Cluster de Conmutación por Error) por Fr...
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Servidores web: cloud
Servidores web: cloudServidores web: cloud
Servidores web: cloud
 
Docker 10 02_18
Docker 10 02_18Docker 10 02_18
Docker 10 02_18
 
Aspectos nodejs
Aspectos nodejsAspectos nodejs
Aspectos nodejs
 
Kubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev DayKubernetes 101 - Plain Concepts Dev Day
Kubernetes 101 - Plain Concepts Dev Day
 
Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7Servidores web de altas prestaciones. Tema 7
Servidores web de altas prestaciones. Tema 7
 
ITPros-DC 70-291 Sesion 5 DHCP
ITPros-DC 70-291 Sesion 5 DHCPITPros-DC 70-291 Sesion 5 DHCP
ITPros-DC 70-291 Sesion 5 DHCP
 
Apache
Apache Apache
Apache
 
Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2Servidores web de altas prestaciones. Tema 2
Servidores web de altas prestaciones. Tema 2
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
 
Servidor web
Servidor webServidor web
Servidor web
 
Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1Servidores web de altas prestaciones. Tema 1
Servidores web de altas prestaciones. Tema 1
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
Diseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL AzureDiseño de aplicaciones de bases de datos SQL Azure
Diseño de aplicaciones de bases de datos SQL Azure
 

Similar a Analisis de configuraciones de servidores proxy uniquindio

Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticassuserbd237f
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores webArturo_09
 
Instalacion de servidor proxy
Instalacion de servidor proxyInstalacion de servidor proxy
Instalacion de servidor proxyyarevale
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebErick David Juarez
 

Similar a Analisis de configuraciones de servidores proxy uniquindio (20)

Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Despliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informáticaDespliegue de Imágenes en aulas de informática
Despliegue de Imágenes en aulas de informática
 
Proxy & Cortafuegos
Proxy & CortafuegosProxy & Cortafuegos
Proxy & Cortafuegos
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
La Caché
La CachéLa Caché
La Caché
 
Mapa Conceptual Servidores web
Mapa Conceptual Servidores webMapa Conceptual Servidores web
Mapa Conceptual Servidores web
 
Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
Kubernetes para developers
Kubernetes para developersKubernetes para developers
Kubernetes para developers
 
Manual
ManualManual
Manual
 
Instalacion de servidor proxy
Instalacion de servidor proxyInstalacion de servidor proxy
Instalacion de servidor proxy
 
Servidor web
Servidor webServidor web
Servidor web
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Tipos servidores
Tipos  servidoresTipos  servidores
Tipos servidores
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Herramientas y Tecnologías para la Web
Herramientas y Tecnologías para la WebHerramientas y Tecnologías para la Web
Herramientas y Tecnologías para la Web
 

Más de Santiago Bernal (20)

Osint con trape - barcamp pereira
Osint con trape - barcamp pereiraOsint con trape - barcamp pereira
Osint con trape - barcamp pereira
 
Seguridad web, ataque y defensa
Seguridad web, ataque y defensaSeguridad web, ataque y defensa
Seguridad web, ataque y defensa
 
Hacking a 1 clic de distancia
Hacking a 1 clic de distanciaHacking a 1 clic de distancia
Hacking a 1 clic de distancia
 
Demos de seguridad informática y hacking
Demos de seguridad informática y hackingDemos de seguridad informática y hacking
Demos de seguridad informática y hacking
 
Teletrabajo ucaldas sept 2017
Teletrabajo ucaldas sept 2017Teletrabajo ucaldas sept 2017
Teletrabajo ucaldas sept 2017
 
realidad aumentada cpco7
realidad aumentada cpco7realidad aumentada cpco7
realidad aumentada cpco7
 
I.e.t.f
I.e.t.fI.e.t.f
I.e.t.f
 
Expo crc
Expo crcExpo crc
Expo crc
 
Regulatel
RegulatelRegulatel
Regulatel
 
Taller crc
Taller crcTaller crc
Taller crc
 
Taller uit
Taller uitTaller uit
Taller uit
 
Talle rcitel
 Talle rcitel Talle rcitel
Talle rcitel
 
Preguntasluisa
 Preguntasluisa Preguntasluisa
Preguntasluisa
 
Expo citel
Expo citelExpo citel
Expo citel
 
Expo citel
Expo citelExpo citel
Expo citel
 
Nctuns santiago
Nctuns santiagoNctuns santiago
Nctuns santiago
 
Delito informatico intimidad datos
Delito informatico intimidad datosDelito informatico intimidad datos
Delito informatico intimidad datos
 
Presentacion del sistema juridico colombia
Presentacion del sistema juridico colombiaPresentacion del sistema juridico colombia
Presentacion del sistema juridico colombia
 
Parcial 1 legislación
Parcial 1 legislaciónParcial 1 legislación
Parcial 1 legislación
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 

Último (12)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Analisis de configuraciones de servidores proxy uniquindio

  • 1.
  • 2. Análisis de configuraciones de servidores proxy caché Carlos Eduardo Gómez Montoya Luis Eduardo Sepúlveda Rodríguez UNIVERSIDAD DEL QUINDÍO
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. Contexto • Ejemplos: caché de memoria, caché de disco, caché local, caché Web. • El caché Web generalmente es implementado por los servidores proxy. 6/12
  • 9. Contexto • El caché es un intermediario entre el cliente y el servidor Web. 7/12
  • 10. 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
  • 11. 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
  • 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
  • 13. 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
  • 14. 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
  • 15. El proyecto de investigación Análisis de configuraciones de servidores proxy caché
  • 16. 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.
  • 17. 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.
  • 18. Objetivos específicos  Diseñar ambientes virtuales que soporten los diferentes casos de estudio.  Seleccionar o implementar un generador de solicitudes Web.
  • 19. 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.
  • 20. Arquitectura de la solución
  • 21. Pruebas  Es un proceso dispendioso y monótono.  Puede hacerse en forma manual o automática.  Se diseñó y desarrolló un robot.
  • 22. 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.
  • 23. 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.
  • 24. 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.
  • 25. Principales ventajas  Particionamiento  Independencia de hardware  Aislamiento  Encapsulamiento
  • 26. Algunas herramientas  De escritorio  VMware WorkStation  VirtualBox  Empresarial  VMware Server  VMware ESX  VMware ESXi  XEN
  • 27. 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.
  • 28. Virtualización en el proyecto • Se creó un ambiente virtual controlado donde se aislaron diferentes variables que podrían afectar los resultados.
  • 29. Ambiente virtual • ESXi – Servidor Web – Servidor Proxy Caché – Cliente
  • 30. 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
  • 31. Ambiente virtual  Cliente  GNU/Linux Debian Lenny (Versión 5.0)  Cliente NFS  iniciarDescargas.sh
  • 32. 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.
  • 33. 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.
  • 34. 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.
  • 35. 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.
  • 36. 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.
  • 37. 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.
  • 38. 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.
  • 39. 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.
  • 40. 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.
  • 41. 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.
  • 42. 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.
  • 43. Conclusiones • El robot desarrollado puede ser extendido a otros servicios en sistemas tipo Unix cuya configuración depende de un archivo de texto.
  • 45. Análisis de configuraciones de servidores proxy caché Carlos Eduardo Gómez Montoya Luis Eduardo Sepúlveda Rodríguez UNIVERSIDAD DEL QUINDÍO