Descargar

Web Server


Partes: 1, 2

  1. Introducción
  2. Ventajas de los sistemas distribuidos
  3. Desventajas de los sistemas distribuidos
  4. Aplicaciones de los SD
  5. Desarrollo Web Server
  6. Cliente – Servidor
  7. Middleware
  8. Objetos distribuidos
  9. Servidor
  10. Servidor Web (Web Server)
  11. Servidor HTTP Apache
  12. Conclusiones

  • Parte 1: Resumen el cual se entrega en un Power Point el dia de la exposición

  • Parte 2: Informe completo el cual se describe en las siguientes hojas

Introducción

Sistemas Distribuidos

La computación desde sus inicios ha sufrido muchos cambios, desde los grandes ordenadores que permitían realizar tareas en forma limitada y de uso un tanto exclusivo de organizaciones muy selectas, hasta los actuales ordenadores ya sean personales o portátiles que tienen las mismas e incluso mayores capacidades que los primeros y que están cada vez más introducidos en el quehacer cotidiano de una persona.

Los mayores cambios se atribuyen principalmente a dos causas, que se dieron desde las décadas de los setenta:

El desarrollo de los microprocesadores, que permitieron reducir en tamaño y costo a los ordenadores y aumentar en gran medida las capacidades de los mismos y su acceso a más personas.

El desarrollo de las redes de área local y de las comunicaciones que permitieron conectar ordenadores con posibilidad de transferencia de datos a alta velocidad.

Es en este contexto que aparece el concepto de "Sistemas Distribuidos" que se ha popularizado tanto en la actualidad y que tiene como ámbito de estudio las redes como por ejemplo: Internet, redes de teléfonos móviles, redes corporativas, redes de empresas, etc.

En consecuencia, el presente trabajo que lleva el título de "Sistemas Distribuidos", tiene como principal objetivo: "describir panorámicamente los aspectos relevantes que están involucrados en los Sistemas Distribuidos".

Ventajas de los sistemas distribuidos

Con respecto a Sistemas Centralizados:

Una de las ventajas de los sistemas distribuidos es la economía, pues es mucho más barato, añadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento.

El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido.

Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en muchas máquinas la falla de una de ellas no afecta a las demás, el sistema sobrevive como un todo.

Capacidad de crecimiento incremental. Se puede añadir procesadores al sistema incrementando su potencia en forma gradual según sus necesidades.

Con respecto a PCs Independientes:

Se pueden compartir recursos, como programas y periféricos, muy costosos. Ejemplo: Impresora Láser, dispositivos de almacenamiento masivo, etc.

Al compartir recursos, satisfacen las necesidades de muchos usuarios a la vez. Ejemplo: Sistemas de reservas de aerolíneas.

Se logra una mejor comunicación entre las personas. Ejemplo: el correo electrónico.

Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores.

Desventajas de los sistemas distribuidos

El principal problema es el software, es el diseño, implantación y uso del software distribuido, pues presenta numerosos inconvenientes. Los principales interrogantes son los siguientes:

  • 1. ¿Qué tipo de S. O., lenguaje de programación y aplicaciones son adecuados para estos sistemas?.

  • 2. ¿Cuánto deben saber los usuarios de la distribución?.

  • 3. ¿Qué tanto debe hacer el sistema y qué tanto deben hacer los usuarios?.

La respuesta a estos interrogantes no es uniforme entre los especialistas, pues existe una gran diversidad de criterios y de interpretaciones al respecto.

Otro problema tiene que ver con las redes de comunicación. Por ejemplo: -Perdida de mensajes, saturación en el tráfico, etc.

Un problema que puede surgir al compartir datos es la seguridad de los mismos.

En general se considera que las ventajas superan a las desventajas, si estas últimas se administran seriamente.

Aplicaciones de los SD

  • Sistemas Comerciales.- Inicialmente fueron construidos con hardware dedicado y entornos centralizados, son, por sus características de distribución geográfica y necesidad de acceso a sistemas distintos, ideales para implementarse en sistemas distribuidos. Requieren ciertas características de fiabilidad, seguridad y protección. Algunos ejemplos son:

  • Sistemas de reservas de líneas aéreas.

  • Aplicaciones bancarias.

  • Cajas y gestión de grandes almacenes.

  • Redes WAN.- Debido al gran crecimiento de este tipo de redes (Internet), ha tomado gran importancia el intercambio de información a través de la red. Y para esto tenemos los siguientes ejemplos:

  • Los servicios comunes que brinda Internet: Correo electrónico, servicio de noticias, transferencia de archivos, la Wrld Wide Web, etc.

  • Aplicaciones Multimedia.- Son las últimas incorporaciones a los sistemas distribuidos. Estas aplicaciones imponen ciertas necesidades de hardware para poder tener una velocidad y regularidad de transferencia de una gran cantidad de datos. Los ejemplos de estos sistemas son:

Desarrollo Web Server

Sistemas Distribuidos

1 .Definición:

"Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema clienteservidor".

2. Los problemas de este modelo son:

Cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.

El otro problema que surgió son las modernas interfaces gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.

Grupo de Servidores.- Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresión, poco inteligentes para un número de Minicomputadores que hacen el procesamiento conectados a una red de área local.

Los problemas de este modelo son:

Podría generarse una saturación de los medios de comunicación entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grandes por varios clientes a la vez, podían disminuir en gran medida la velocidad de transmisión de información.

La Computación Cliente Servidor.- Este modelo, que predomina en la actualidad, permite descentralizar el procesamiento y recursos, sobre todo, de cada uno de los servicios y de la visualización de la Interfaz Gráfica de Usuario. Esto hace que ciertos servidores estén dedicados solo a una aplicación determinada y por lo tanto ejecutarla en forma eficiente.

Cliente – Servidor

Definición:

Sistema donde el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona. Los servicios pueden ser:

  • Ejecución de un determinado programa.

  • Acceso a un determinado banco de información.

  • Acceso a un dispositivo de hardware.

Es un elemento primordial, la presencia de un medio físico de comunicación entre las máquinas, y dependerá de la naturaleza de este medio la viabilidad del sistema.

 Categorías de Servidores:

A continuación se presenta una lista de los servidores más comunes:

  • Servidores de archivos.- Proporciona archivos para clientes. Si los archivos no fueran tan grandes y los usuarios que comparten esos archivos no fueran muchos, esto sería una gran opción de almacenamiento y procesamiento de archivos. El cliente solicita los archivos y el servidor los ubica y se los envía.

  • Servidores de Base de Datos.- Son los que almacenan gran cantidad de datos estructurados, se diferencian de los de archivos pues la información que se envía está ya resumida en la base de datos. Ejemplo: El Cliente hace una consulta, el servidor recibe esa consulta (SQL) y extrae solo la información pertinente y envía esa respuesta al cliente.

  • Servidores de Software de Grupo.- El software de grupo es aquel, que permite organizar el trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo envía al resto del grupo.

  • Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un llamado de la página y el servidor recibe el mensaje y envía la página correspondiente.

  • Servidores de correo.- Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.

  • Servidor de objetos.- Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar los objetos que se encuentran en el servidor.

  • Servidores de impresión.- Gestionan las solicitudes de impresión de los clientes. El cliente envía la solicitud de impresión, el servidor recibe la solicitud y la ubica en la cola de impresión, ordena a la impresora que lleve a cabo las operaciones y luego avisa a la computadora cliente que ya acabo su respectiva impresión.

  • Servidores de aplicación.- Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los clientes.

Middleware

Definición:

Capa de software intermedio entre el cliente y el servidor. Es la capa de software que nos permiten gestionar los mecanismos de comunicaciones. Ejemplo si se hace la petición de una página web desde un browser en el cliente, el middleware determina la ubicación y envía una petición para dicha página. El servidor Web, interpreta la petición y envía la página al software intermedio, quien la dirige al navegador de la máquina cliente que la solicitó.

Existen dos tipos:

  • Software intermedio general. Servicios generales que requieren todos los clientes y servidores, por ejemplo: software para las comunicaciones usando el TCP/IP, software parte del sistema operativo que, por ejemplo, almacena los archivos distribuidos, software de autenticación, el software intermedio de mensajes de clientes a servidores y viceversa.

  • Software intermedio de servicios. Software asociado a un servicio en particular, por ejemplo: software que permite a dos BD conectarse a una red cliente/servidor (ODBC: Conectividad abierta de BD), software de objetos distribuidos, por ejemplo la tecnología CORBA permite que objetos distribuidos creados en distintos lenguajes coexistan en una misma red (intercambien mensajes), software intermedio para software de grupo, software intermedio asociado a productos de seguridad específicas (Conexiones Seguras: Sockets), etc.

Objetos distribuidos

Definición:

En los sistemas Cliente/Servidor, un objeto distribuido es aquel que esta gestionado por un servidor y sus clientes invocan sus métodos utilizando un "método de invocación remota". El cliente invoca el método mediante un mensaje al servidor que gestiona el objeto, se ejecuta el método del objeto en el servidor y el resultado se devuelve al cliente en otro mensaje.

Desarrollo WEB

Caso particular de los sistemas Cliente-Servidor con representación remota. En donde se dispone de un protocolo estándar: HTTP y un Middleware denominado WebServer. En la actualidad la aplicación de sistemas informáticos basados en Internet, es una herramienta fundamental para las organizaciones que desean tener cierta presencia competitiva.

Tecnologías de la lógica de la aplicación en el servidor web:

  • CGI: Common Gateware Interface..- Son programas que se ejecutan en el servidor, pueden servir como pasarela con una aplicación o base de datos o para generar documentos html de forma automática. Cada petición http ejecuta un proceso, el cual analiza la solicitud y genera un resultado. Son independientes del SO, y presentan la ventaja de que, dado un programa escrito en un lenguaje cualquiera, es fácil adaptarlo a un CGI. Entre los lenguajes que se usan para CGIs, el más popular es el Perl.

  • Servlets: Pequeños programas en Java que se ejecutan de forma persistente en el servidor, y que, por lo tanto, tienen una activación muy rápida, y una forma más simple de hacerlo. Estos programas procesan una petición y generan la página de respuesta.

Al ser llamado por el navegador, el motor ASP del IIS (Internet Information Server) se encarga automáticamente de ejecutarlo como se suele hacer con un programa cualquiera, pero cuya salida siempre será a través del navegador que le invoca. Es un entorno propietario de Microsoft y el lenguaje de secuencia de comandos predeterminado del IIS es el VBScript, aunque puede cambiarse.

  • ASP (Active Server Pages): Una página ASP es un fichero de sólo texto que contiene las secuencias de comandos, junto con el HTML necesario, y que se guarda con la extensión ".asp".

  • JSP (Java Server Pages), que consisten en pequeños trozos de código en Java que se insertan dentro de páginas web, de forma análoga a los ASPs. Ambas opciones, hoy en día, son muy populares en sitios de comercio electrónico. Frente a los ASPs, la ventaja que presentan es que son independientes del sistema operativo y del procesador de la máquina.

Consideraciones a tomar en el desarrollo de un sistema WEB

  • PHP es un lenguaje cuyos programas se insertan también dentro de las páginas web, al igual que los ASPs y JSPs; es mucho más simple de usar, y el acceso a bases de datos desde él es muy simple. Es tremendamente popular en sitios de comercio electrónico con poco tráfico, por su facilidad de desarrollo y rapidez de implantación.

  • Separar la lógica de la aplicación de la interfase de usuario.

  • Utilizar métodos estándar de comunicación entre la lógica de aplicación y la interfase de usuario.

  • Herramientas que permitan una fácil adaptación de las aplicaciones a los nuevos dispositivos que irán apareciendo.

  • Definir el coste en comunicaciones que debe asumir la organización.

  • Tener en cuenta los procesos de réplica, periodicidad y el ancho de banda que consuman.

  • Replantear la idoneidad de la ubicación de cada proceso.

  • Extremar las pruebas al diseñar e implementar los protocolos de comunicación.

  • Tendencias Actuales de las arquitecturas de sistemas WEB:

edu.red

Variante de los fabricantes de Base de Datos

edu.red

Variante de los fabricantes de pasarelas:

edu.red

Servidor

En informática, un servidor es una computadora que, formando parte de una red, provee servicios a otras computadoras denominadas clientes.

También se suele denominar con la palabra servidor a:

  • Una aplicación informática o programa que realiza algunas tareas en beneficio de otras aplicaciones llamadas clientes. Algunos servicios habituales son los servicios de archivos, que permiten a los usuarios almacenar y acceder a los archivos de una computadora y los servicios de aplicaciones, que realizan tareas en beneficio directo del usuario final. Este es el significado original del término. Es posible que un ordenador cumpla Simultáneamente las funciones de cliente y de servidor.

  • Una computadora en la que se ejecuta un programa que realiza alguna tarea en beneficio de otras aplicaciones llamadas clientes, tanto si se trata de un ordenador central (mainframe), un miniordenador, una computadora personal, una PDA o un sistema embebido; sin embargo, hay computadoras destinadas únicamente a proveer los servicios de estos programas: estos son los servidores por antonomasia.

edu.red

Ejemplo de un servidor del tipo rack.

  • Un servidor no es necesariamente una máquina de última generación de grandes proporciones, no es necesariamente un superordenador; un servidor puede ser desde una computadora vieja, hasta una máquina sumamente potente (ej.: servidores web, bases de datos grandes, etc. Procesadores especiales y hasta varios terabytes de memoria). Todo esto depende del uso que se le dé al servidor. Si usted lo desea, puede convertir al equipo desde el cual usted está leyendo esto en un servidor instalando un programa que trabaje por la red y a la que los usuarios de su red ingresen a través de un programa de servidor web como Apache.

Por lo cual podemos llegar a la conclusión de que un servidor también puede ser un proceso que entrega información o sirve a otro proceso. El modelo Cliente-servidor no necesariamente implica tener dos ordenadores, ya que un proceso cliente puede solicitar algo como una impresión a un proceso servidor en un mismo ordenador.

Tipos de servidores

En la siguiente lista hay algunos tipos comunes de servidores: es el que almacena varios tipos de archivos y los distribuye a otros clientes en la red.

  • Servidor de impresiones: controla una o más impresoras y acepta trabajos de impresión de otros clientes de la red, poniendo en cola los trabajos de impresión (aunque también puede cambiar la prioridad de las diferentes impresiones), y realizando la mayoría o todas las otras funciones que en un sitio de trabajo se realizaría para lograr una tarea de impresión si la impresora fuera conectada directamente con el puerto de impresora del sitio de trabajo.

  • Servidor de correo: almacena, envía, recibe, enruta y realiza otras operaciones relacionadas con email para los clientes de la red.

Fax: Almacena, envía, recibe, enruta y realiza otras funciones necesarias para la transmisión, la recepción y la distribución apropiadas de los fax.

  • Servidor de la telefonía: realiza funciones relacionadas con la telefonía, como es la de contestador automático, realizando las funciones de un sistema interactivo para la respuesta de la voz, almacenando los mensajes de voz, encaminando las llamadas y controlando también la red o el Internet, p. ej., la entrada Excesiva de la voz sobre IP (VoIP), etc.

  • Servidor proxy: realiza un cierto tipo de funciones a nombre de otros clientes en la red para aumentar el funcionamiento de ciertas operaciones (p. ej., prefetching y depositar documentos u otros datos que se soliciten muy frecuentemente), también proporciona servicios de seguridad, o sea, incluye un cortafuegos. Permite administrar el acceso a internet en una red de computadoras permitiendo o negando el acceso a diferentes sitios Web.

  • Servidor del acceso remoto (RAS): controla las líneas de módem de los monitores u otros canales de comunicación de la red para que las peticiones conecten con la red de una posición remota, responde llamadas telefónicas entrantes o reconoce la petición de la red y realiza la autentificación necesaria y otros procedimientos necesarios para registrar a un usuario en la red.

  • Servidor de uso: realiza la parte lógica de la informática o del negocio de un uso del cliente, aceptando las instrucciones para que se realicen las operaciones de un sitio de trabajo y sirviendo los resultados a su vez al sitio de trabajo, mientras que el sitio de trabajo realiza la interfaz operadora o la porción del GUI del proceso (es decir, la lógica de la presentación) que se requiere para trabajar correctamente.

  • Servidor web: almacena documentos HTML, imágenes, archivos de texto, escrituras, y demás material Web compuesto por datos (conocidos colectivamente como contenido), y distribuye este contenido a clientes que la piden en la red.

  • Servidor de base de datos: provee servicios de base de datos a otros programas u otras computadoras, como es definido por el modelo cliente-servidor. También puede hacer referencia a aquellas computadoras (servidores) dedicadas a ejecutar esos programas, prestando el servicio.

  • Servidor de reserva: tiene el software de reserva de la red instalado y tiene cantidades grandes de almacenamiento de la red en discos duros u otras formas del almacenamiento (cinta, etc.) disponibles para que se utilice con el fin de asegurarse de que la pérdida de un servidor principal no afecte a la red. Esta técnica también es denominada clustering.

  • Servidor de Seguridad: Tiene software especializado para detener intruciones maliciosas, normalmente tienen antivirus, antispyware, antiadware, además de contar con cortafuegos redundantes de diversos niveles y/o capas para evitar ataques, los servidores de seguridad varían dependiendo de su utilizacion e importancia.

Sin embargo, de acuerdo al rol que asumen dentro de una red se dividen en:

  • Servidor dedicado:: son aquellos que le dedican toda su potencia a administrar los recursos de la red, es decir, a atender las solicitudes de procesamiento de los clientes.

  • Servidor no dedicado: son aquellos que no dedican toda su potencia a los clientes, sino también pueden jugar el rol de estaciones de trabajo al procesar solicitudes de un usuario local.

Servidor Web (Web Server)

Servidor web puede hacer referencia a las de hardware (la computadora) o el software (aplicación informática) que ayuda a entregar el contenido que se puede acceder a través de la Internet . [1]

El uso más común de los servidores web es organizar los sitios web , pero hay otros usos, como almacenamiento de datos o para ejecutar las aplicaciones empresariales .

Información general

La función principal de un servidor Web para enviar páginas web sobre la petición de los clientes . Esto significa la entrega de los documentos HTML y cualquier contenido adicional que pueda ser incluido en un documento, como imágenes , hojas de estilo y scripts .

Un cliente, normalmente un navegador web o web crawler , inicia la comunicación mediante una solicitud de un recurso específico a través de HTTP y el servidor responde con el contenido de ese recurso o un mensaje de error si no puede hacerlo. El recurso es por lo general un archivo real en el servidor de la memoria secundaria , pero esto no es necesariamente el caso y depende de cómo el servidor web está implementado .

Mientras que la función principal es servir de contenido, la plena aplicación de HTTP también incluye formas de recibir el contenido de los clientes. Esta función se utiliza para la presentación de los formularios web , incluyendo la carga de archivos.

Muchos servidores web genéricas también el apoyo del lado del servidor , por ejemplo, Apache HTTP Server y PHP . Esto significa que el comportamiento del servidor web puede ser con guión en archivos separados, mientras que el software de servidor actual se mantiene sin cambios. Normalmente, esta función se utiliza para crear documentos HTML "en la marcha" en lugar de devolver los documentos fijos. Esto se conoce como dinámica y estática de contenido, respectivamente. El primero se utiliza principalmente para la recuperación y / o modificar la información de bases de datos . Este último es, sin embargo, suelen ser mucho más rápida y fácilmente en caché .

Servidores Web no siempre se utilizan para servir a la World Wide Web . También se puede encontrar incorporado en dispositivos tales como impresoras , routers , cámaras web y que sólo sirve una red local . El servidor web puede entonces ser utilizado como parte de un sistema de seguimiento y / o administrar el dispositivo en cuestión. Esto generalmente significa que ningún software adicional tiene que ser instalado en el equipo cliente, ya que sólo un navegador web es necesario (que ahora se incluye con la mayoría de los sistemas operativos ).

Historia de los servidores web

El mundo primer servidor web.

En 1989, Tim Berners-Lee propuso a su empleador el CERN (Organización Europea de Investigación Nuclear) un nuevo proyecto, que tenía el objetivo de facilitar el intercambio de información entre científicos mediante el uso de un hipertexto del sistema. Como resultado de la ejecución de este proyecto, en 1990, Berners-Lee escribió dos programas:

  • un navegador llamado WorldWideWeb ;

  • el mundo de primer servidor web, más tarde conocido como CERN httpd , que funcionó en NeXTSTEP .

Entre 1991 y 1994, la simplicidad y la eficacia de las primeras tecnologías utilizadas para navegar y el intercambio de datos a través de la World Wide Web ayudaron a puerto para muchos sistemas operativos diferentes y difundir su uso entre un montón de diferentes grupos sociales de las personas, por primera vez en las organizaciones científicas, entonces en las universidades y, finalmente, en la industria.

En 1994, Tim Berners-Lee decidió constituir el Consorcio World Wide Web (W3C) para regular el desarrollo de las muchas tecnologías involucradas (HTTP, HTML, etc) a través de un proceso de normalización.

Las características comunes

  • Virtual hosting para servir a muchos sitios Web con una dirección IP .

  • Soporte de archivos grandes para poder servir a los archivos cuyo tamaño sea superior a 2 GB en 32 bits OS .

  • De ancho de banda para limitar la velocidad de las respuestas con el fin de no saturar la red y poder servir a más clientes.

  • Del lado del servidor para generar páginas web dinámicas , manteniendo servidor web y las implementaciones de Web site separados unos de otros.

Traducción Camino

Los servidores web son capaces de trazar el componente de trazado de un Uniform Resource Locator (URL) en:

  • un archivo local de recursos del sistema (para las solicitudes de estática);

  • un programa interno o externo nombre (para las solicitudes de dinámica).

Para una solicitud estática de la ruta de la URL especificada por el cliente es relativa al directorio raíz del servidor web.

Considere la siguiente URL, ya que sería solicitado por un cliente:

http://www.example.com/path/file.html

El cliente es agente de usuario que se traduce en una conexión a www.example.com con la siguiente petición HTTP 1.1:

GET / ruta / file.html HTTP/1.1

Host: www.example.com

El servidor web en www.example.com añadirá la ruta dada en la ruta de su directorio raíz. En un servidor Apache , esta es normalmente / home / www (en Unix máquinas, normalmente / var / www). El resultado es el recurso del sistema de archivos local:

/ Home / www / ruta / file.html

El servidor web se lee el archivo, si existe, y envía una respuesta al navegador del cliente. La respuesta a describir el contenido del archivo y contiene el fichero o bien un mensaje de error diciendo que regresará el archivo no existe o no está disponible.

Los límites de carga

Un servidor web (el programa) ha definido los límites de carga, ya que puede manejar un número limitado de conexiones de cliente simultáneas (por lo general entre 2 y 80.000, por defecto de entre 500 y 1.000) por dirección IP (y el puerto TCP) y que sólo puede servir un cierto número máximo de peticiones por segundo en función de:

  • sus propios valores;

  • el tipo de petición HTTP;

  • origen de contenidos (estáticos o dinámicos);

  • el hecho de que el contenido que se está o no en caché ;

  • el hardware y el software de las limitaciones del sistema operativo donde se está trabajando;

Cuando un servidor web está cerca o por encima de sus límites, que no responde.

En modo de núcleo y modo usuario, los servidores web

Un servidor web puede ser implementado en el sistema operativo del kernel , o en el espacio de usuario (al igual que otras aplicaciones de uso habitual).

Un servidor de núcleo en web (como TUX en GNU / Linux o Microsoft IIS en Windows) por lo general será más rápido, ya que, como parte del sistema, se puede utilizar directamente todos los recursos de hardware que necesita, tales como memoria no paginada, Tiempo de CPU-rebanadas, adaptadores de red, o tampones.

Servidores Web que se ejecutan en modo de usuario tiene que pedir el sistema de la autorización para utilizar más memoria o más recursos de CPU. No sólo estas peticiones al núcleo llevará tiempo, pero no siempre están satisfechos porque el sistema de reservas de recursos para su propio uso y tiene la responsabilidad de compartir los recursos de hardware con todas las aplicaciones que se ejecutan.

Además, las aplicaciones no pueden acceder a los búferes internos del sistema, lo que hace que las copias inútiles de búfer que crear otro obstáculo para los servidores web en modo de usuario. Como consecuencia, la única manera de que un servidor web en modo de usuario para que coincida con el rendimiento en modo de núcleo es elevar la calidad de su código de normas mucho más alto, similar a la del código que se usa en servidores Web que se ejecutan en el núcleo. Este es un problema importante en Windows, donde la sobrecarga en modo de usuario es aproximadamente seis veces mayor que en Linux.

Causas de sobrecarga

En cualquier momento los servidores web pueden ser sobrecargados debido a:

  • Web mucho tráfico legítimo miles o incluso millones de clientes que se conectan al sitio web en un corto intervalo de tiempo, por ejemplo,. Slashdot efecto ;

  • Distribuidos de denegación de servicio ataques;

  • Los gusanos informáticos que a veces causa el tráfico anormal debido a millones de ordenadores infectados (no coordinados entre ellos);

  • XSS virus puede causar mucho tráfico debido a millones de navegadores de infectados y / o servidores de web;

  • Contra los robots de Internet . tráfico no filtrado / limitado en los sitios web de gran tamaño con muy pocos recursos (ancho de banda, etc);

  • Internet (red) retrasos, por lo que las solicitudes de los clientes se sirven más lentamente y el número de conexiones aumenta tanto que se alcanzan los límites de servidor;

  • Servidores Web ( computadoras ). indisponibilidad parcial Esto puede suceder debido a mantenimiento o de urgencia o de actualización, los fallos de hardware o software, back-end (por ejemplo, la base de datos ) los fallos, etc, en estos casos los servidores web restantes reciben mucho tráfico y sobrecargarse.

Los síntomas de sobrecarga

Los síntomas de la sobrecarga de un servidor web son:

  • Peticiones se sirven con (posiblemente largo) retrasos (de 1 segundo a unos pocos cientos de segundos);

  • 500, 502, 503, 504 errores HTTP se devuelve a los clientes (a veces no tienen relación de error 404 o error 408 puede ser devuelto);

  • TCP conexiones se rechazan o reset (interrumpe) antes de que el contenido se envía a los clientes;

  • En casos muy raros, sólo se envían los contenidos parciales (pero este comportamiento podría ser considerado como un error , aunque por lo general depende de los recursos del sistema no está disponible).

Sobrecarga de Anti-técnicas

Para superar en parte por encima de los límites de carga y para evitar la sobrecarga, sitios web más populares utilizan técnicas comunes como:

  • Gestión de tráfico de la red, mediante el uso de:

  • Cortafuegos para bloquear el tráfico no deseado procedente de fuentes IP mal o tener malos patrones;

  • Gestores del tráfico HTTP a la baja, reorientar o reescribir peticiones que mal HTTP patrones;

  • Gestión de ancho de banda y de tráfico , con el fin de alisar los picos de uso de la red;

  • El despliegue de Web caché técnicas;

  • Utilizando diferentes nombres de dominio para servir contenido diferente (estática y dinámica) por los servidores web por separado, es decir:

  • http://images.example.com

  • http://www.example.com

  • Utilizando diferentes nombres de dominio y / o equipos para separar archivos de gran tamaño de los archivos de las pequeñas y medianas, la idea es poder totalmente caché de archivos de pequeñas y medianas empresas y para servir de manera eficiente grandes o grandes (más de 10 a 1000 MB) mediante el uso de archivos diferentes contextos;

  • Con muchos servidores web (programas) por equipo, cada uno unido a su propia tarjeta de red y dirección IP

  • Con muchos servidores web (computadoras) que se agrupan para que actúen o se perciben como un gran servidor web (ver también Equilibrador de carga );

  • La adición de más recursos de hardware (es decir, memoria RAM , discos ) para cada equipo;

  • Parámetros de ajuste operativo de las capacidades del hardware y el uso;

  • El uso más eficiente de los programas informáticos para servidores web, etc;

  • Con otras soluciones , especialmente si se trata de contenido dinámico.

Estructura del mercado.

A continuación se muestra las estadísticas más recientes de la cuota de mercado de los servidores web en la parte superior de Internet por Netcraft encuesta en marzo 2011.

Vendedor

Producto

Los sitios web alojados

Por ciento

Apache

Apache

179720332

60,31%

Microsoft

IIS

57644692

19,34%

Igor Sysoev

nginx

22806060

7,65%

Google

GWS

15161530

5,09%

lighttpd

lighttpd

1796471

0,60%

Sun Microsystems

Sun ONE

Partes: 1, 2
Página siguiente