Monkey HTTP Daemon :: A fast and scalable web server for Linux Eduardo Silva

Slides:



Advertisements
Presentaciones similares
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
Advertisements

PRESENTA: Mizrain Cano Chico Profesor: Lic. Albino Petlacalco Ruiz
Servidores Web Capítulo 2.
APACHE.
Tecnologías de soporte para e-learning UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA UNIVERSITARIA DE INFORMÁTICA Departamento de Organización y Estructura.
Introducción Apache WEB Server
PHP: GENERALIDADES DE LA TECNOLOGÍA
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
Tecnologías para el desarrollo de aplicaciones Web
Protocolos de la Capa de Aplicación
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
PROTOCOLO HTTP ALGUNAS DEF.-
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
      Protocolo de transferencia de Hipertexto, empleado para acceder a documentos de hipermedia  El protocolo nació en el CERN, como base.
 Un servidor proporciona información a los ordenadores que se conecten a él.  Cuando lo usuarios se conectan a un servidor pueden acceder a programas,
Servidores web. Integrantes: Dany Alexander Orozco. Maycol Gómez Herrera. Luisa Fernanda Moncada.
Cristian Fonnegra Marin
Almacenamiento virtual de sitios web: «Hosts» virtuales. Jesús Torres Cejudo.
APACHE LICENSE Ronald Chacón Carlos López Leonardo Páez Adriana Rodríguez Universidad De La Salle Bogotá, Agosto 18 de 2011.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
Michael Nelson Rodríguez # Tedu 220. Introducción Existe una extensa lista de nombres y frases que se utilizan como metodo para entender los diferentes.
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
Almacenamiento virtual de sitios web: «Hosts» virtuales
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
SEGURIDAD EN SERVIDORES WEB (APACHE).
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
 ACCESO REMOTO.  PRESENTADO A:  ING FABIO LASSO  PRESENTADO POR:  CRISTIAN FELIPE CASTRILLON  PARQUE INFORMATICO CARLOS ALBAN.
Jornadas Técnicas RedIRIS 2005 Conexión PAPI con autenticadores externos Sergio Pérez Alegre
Introducción Principios de Programación Web Aplicaciones Web con JSP y Servlets de Java.
1. Introducción a Internet y a la Web ¿Qué es Internet? ● Red pública de redes interconectadas que usan el “Protocolo Internet” (IP) ●
APACHE LICENSE Ronald Chacón Carlos López Leonardo Páez Adriana Rodríguez Universidad De La Salle Bogotá, Agosto 18 de 2011.
FUNDAMENTOS WEB DOCENTE : ING. CRISTIAN VALLE RONCEROS.
AppServ Implantación de Aplicaciones Web. Conceptos previos LAMP = Linux (SO) + Apache (Servidor Web) + MySQL (BBDD) + PHP (Web dinámicas). WAMP = Windows.
Administración de Servidor Web. Contenidos WebServer. Apache. Configuración Básica de Apache. VirtualHosts. Nuestra Configuración. BenchMarking.
David Chacón Muñoz. Servidor de Streaming Es la retrasmisión multimedia (audio y video) a través de la red. Actualmente hay dos grandes plataformas de.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
MERCADEO ELECTRONICO ALOJAMIENTO WEB.
UF0854: Instalación y configuración de los nodos de una red local.
Capítulo 2: Tecnologías para la creación de sitios web
PHP Hypertext Preprocessor
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
MERCADEO ELECTRONICO ALOJAMIENTO WEB.
Bronco contra todos (apache)
Paul Leger SOCKETs Paul Leger
Capa Aplicación: File Transfer Protocol
SERVIDORES WEB Integrantes: Hernández Zapata Alexis Gilberto
2.3 Maquetación de Páginas web
Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González
MANTIS BUG TRACKER.
Capa Aplicación: File Transfer Protocol
APLICACIONES DE INTERNET COMO FUENTES DE INFORMACIÓN (WEBS Y FTP).
Capa Aplicación: P2P ELO322: Redes de Computadores Agustín J. González
Capa Aplicación: File Transfer Protocol
Aplicaciones informáticas Sexto año
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
LENGUAJE DE SCRIPTING EN SERVIDORES WEB INTEGRANTES :JOSTIN FRANCO DARYENIS ARAUZ PABLO CANDANEDO.
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Java Enterprise edition
Creación de contenidos Web-HTML
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Protocolo SMB y Samba  Explicar protocolos SMB e implementación Samba  Implementar una conexión por Samba entre sistemas operativos Unix / GNU – Linux.
Lenguajes del lado del cliente
Arquitectura Aplicaciones Web
Programación al lado del servidor
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
Capa Aplicación: File Transfer Protocol
Capa Aplicación: File Transfer Protocol
Intr. a la creación y gestión de páginas web
Transcripción de la presentación:

Monkey HTTP Daemon :: A fast and scalable web server for Linux Eduardo Silva

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● HTTP: HyperText Transfer Protocol ● Monkey HTTP Daemon: A small, fast and scalable web server

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● ¿ Que es ? ● HTTP Server ● Transferencia de recursos: páginas, imágenes, flash, etc ● Hay muchos! Apache, Lighttpd, IIS.. ¿ por que otro ?. ● Ya no son 1000 usuarios, son millones !!!

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Administración y uso eficiente de los recursos ● Compatible con standards ● Java Script engine ● Multi plataforma

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Redirección en la solicitud de directorios ● Listando contenido de directorios

Monkey HTTP Daemon :: A fast and scalable web server for Linux GET /imgs HTTP/1.1 Host: :2001 Keep-Alive: 300 Connection: keep-alive HTTP/ Moved Permanently Server: Monkey/-git Server (Host: , Port: 2001) Location: GET /imgs/ HTTP/1.1 Host: :2001 Keep-Alive: 300 Connection: keep-alive HTTP/ OK Server: Monkey/-git Server (Host: , Port: 2001) Date: Thu, 23 Oct :17:34 GMT

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Funcionalidad “adquirida” ● Consumo innecesario de recursos ● A todos les gusta y les sirve ● Propuesta: El cliente HTTP ordena el contenido y lo pinta.

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Archivos no son suficientes ● Es necesario generar páginas dinámicas ● PHP, Python, Ruby.... ● Databases

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Virtual hosts ● CGI: Common Gateway Interface ● Performance !!!

Monkey HTTP Daemon :: A fast and scalable web server for Linux

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Protocolo standard ● Permite integración de aplicaciones externas

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Implementaciones poco eficientes ● Consumo de recursos en exceso ● fork() + fork() + fork() = ???

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Fast CGI ● Simple CGI ● Youtube scalability ● Logs

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● High Performance ● Pre-forking() ● Carga distribuida

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Similar a FastCGI : carga distribuida, pre-forking(), high perf. ● Simple de implementar ● Especificacion en 100 lineas de texto

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● 03/2006: 30 millones de videos/día ● 07/2006: 100 millones de videos/día ● Apache -> Lighttpd ● Single Process -> Multi Process

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Single Process ● Multi Threads Thread #1 Read Write Read Write Read Write Thread #2 WriteRead

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Un servidor debe registrar el acceso a los recursos: Logs

Monkey HTTP Daemon :: A fast and scalable web server for Linux request/second = 1000 I/O/second ????????????

Monkey HTTP Daemon :: A fast and scalable web server for Linux SOLO PARA LINUX...

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Es mi favorito ● SW Multiplataforma = Costo en tiempo + desarrolladores ● Libre, estable...blah blah blah

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● epoll() ● splice() ● tee() ● timerfd() ● sendfile() ● Inotify

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Fork per client ● Pre-forking ● Threading ● Pre-threading ● Polling ● Hybrid Threading-Polling

Monkey HTTP Daemon :: A fast and scalable web server for Linux 2001 ● 1 proceso por client (1 fork() per client) ● CGI básico

Monkey HTTP Daemon :: A fast and scalable web server for Linux 2002 ● 1 thread por cliente ● Hosts virtuales ● CGI en hosts virtuales

Monkey HTTP Daemon :: A fast and scalable web server for Linux 2003 ● MySQL logs

Monkey HTTP Daemon :: A fast and scalable web server for Linux 2008 ● Hybrid Network Handler: threads + polling ● Dir html : Soporte para temas dinámicos ● Worker logger ● Async sendfile()

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Interface para la distribución de eventos ● Listo para escuchar ? ● Listo para escribir ? ● Permite utilizar un modelo “Asíncrono” (async model)

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Binary size: 52KB !!! ● Ventajas de un Hybrid model: Threading + Polling ● Worker – process ● dir_html: soporte para temas ● Sólo para Linux !!! ● Simple de configurar

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Thread que espera por datos en una tubería ( pipe() ) ● No vacia la tubería hasta que esta llega a su 75% de capacidad o han pasado 3 segundos

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Cada Thread posee un poll de conexiones entrantes ● Un balancer central recibe las conexiones y solicitudes ● El balancer asigna la petición de un cliente al poll de un thread seleccionado. ● En cada thread, cada conexion de cliente se trabaja de forma asíncrona.

Monkey HTTP Daemon :: A fast and scalable web server for Linux

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Diseño modular ● SSL ● IPv6 ● FastCGI, SCGI ● Servidor de procesos para contenido dinámico propio

Monkey HTTP Daemon :: A fast and scalable web server for Linux ● Escribiendo código ● Creando documentación ● Traduciendo ● Creando Art Work ● Reportando bugs

Monkey HTTP Daemon :: A fast and scalable web server for Linux

Monkey HTTP Daemon :: A fast and scalable web server for Linux