pic
Dans un précédent post, nous avions vu les grands concepts d’Hadoop (cf. http://www.opensides.fr/2011/03/10/hadoop-en-moins-de-5-minutes).  Aujourd'hui nous allons consacrer 5 nouvelles minutes avec Hadoop pour passer à la pratique. Les objectifs: Monter un environnement opérationnel en moins de 2 minutes Tour d'horizon de Cloudera en 1 minute Tester quelques commandes HDFS en 1 minute Tester un Map Reduce en 1 minute Monter un environnement opérationnel en 2 minutes 30 secondes pour parler de Cloudera Apache distribue une version packagée de l'écosystème complet Had...
pic
Dans ce tutorial, nous allons découvrir Hadoop au travers de son système de fichiers distribués et son mécanisme de Map/Reduce. Objectifs Comprendre les grands concepts de Hadoop Comprendre le HDFS et le mécanisme de Map/Reduce 2 minutes 30 pour comprendre les grands concepts Hadoop est un projet Open Source écrit en java, distribué par la fondation Apache. Ce framework est adapté dans le stockage et le traitement par lots de très grandes quantités de données (à partir du pétaoctet). Il a été mis en avant par des grands noms du web comme Yahoo! ou Facebook. Son sys...
pic
Dans cet article nous allons faire la connaissance rapide des serveurs web asynchrones. Le but de ce post est de vous faire découvrir cette nouvelle génération de serveur en montrant comment installer et configurer de façon basique celui qui me semble le plus aboutit et le plus performant. Nous verrons plus tard tirer profit de ce type d'architecture pour servir de hautes volumétries. Quelques rappels Un serveur http a pour vocation de servir du contenu en fonction des requêtes clientes. Ce contenu est distribué via le protocole http et peut être statique (images, css, javascript, â€...
pic
Tout le monde connaît Memcached ? Non ? Memcached est un cache Open Source distribué et non répliqué. Cela veut dire que que nous pouvons utiliser plusieurs instances de Memcached mais que chaque instance est autonome. Si l'une d'elle tombe, ses données seront donc perdues (pas de réplication entre instance). Pour aller plus loin, je vous conseille le wiki de Memcached: http://memcached.org/ Nous allons voir maintenant comment l'installer sur un unix: Installation de libEvent (une dépendance de Memcached) Vérifier que libEvent ne soit pas déja installé en tapant la ...
pic
Dans cet article nous allons voir comment apporter très facilement une solution de haute disponibilité à une application avec HAProxy. Quelques définitions Haute disponibilité (cf. wikipedia) La haute disponibilité est un terme souvent utilisé en informatique, à propos d'architecture de système ou d'un service pour désigner le fait que cette architecture ou ce service a un taux de disponibilité convenable. La disponibilité est aujourd'hui un enjeu important des infrastructures informatiques. On estime aujourd'hui que la non-disponibilité d'un service informatique peut avoi...
fév

20

Dans cet article nous allons faire la connaissance rapide des serveurs web asynchrones. Le but de ce post est de vous faire découvrir cette nouvelle génération de serveur en montrant comment installer et configurer de façon basique celui qui me semble le plus aboutit et le plus performant. Nous verrons plus tard tirer profit de ce type d’architecture pour servir de hautes volumétries.

Quelques rappels

Un serveur http a pour vocation de servir du contenu en fonction des requêtes clientes. Ce contenu est distribué via le protocole http et peut être statique (images, css, javascript, …) ou dynamique (php, java, .net, …).

Le plus connu de ces serveurs, est Apache. C’est un serveur web dit synchrone, il va affecter un processus fils à chaque requête. Il est stable, efficace, facile à installer et son initiale va bien entre le L et le M de la stack LAMP.

Limitations des serveurs web traditionnels

Le mécanisme d’attribution de processus à chaque requête se révèle très consommateur de RAM et confie le multiplexage temporel des tâches au système d’exploitation ce qui n’est pas toujours optimisé pour traiter le changement d’état des requêtes.

Une nouvelle génération de serveurs

Pour ces raisons une nouvelle génération de serveurs a vu le jour depuis quelques années, les serveurs web asynchrones. On peut en citer quelques uns Mina, Lighthttp,  Nginx. Ce dernier est selon moi le plus performant et le plus aboutit.  Son mécanisme consiste à diviser chaque requêtes en micros tâches qui seront multiplexées en même temps que traitées afin d’optimiser les ressources et les temps de latence cpu. Ce choix d’architecture offre des performances très élevées avec un consommation des ressources optimisée. Nginx fait ses preuves auprès de différentes

Il a été utilisé depuis plusieurs années sur des sites russes à fort trafic tel que Rambler, avant d’être plus largement répandu aujourd’hui : WordPress.com, hulu, Gravatar, Kongregate, userscripts.org et même … YouPorn ; )

Voici un petit bench comparatif des temps de réponses Apache v/s Nginx tiré du site http://www.joeandmotorboat.com/2008/02/28/apache-vs-nginx-web-server-performance-deathmatch/:

Quelques benchs par ici :

http://www.first-world.info/apache-vs-lighttpd-vs-nginx.html

http://www.joeandmotorboat.com/2008/02/28/apache-vs-nginx-web-server-performance-deathmatch/

Installation de Nginx sous Ubuntu

Nginx est maintenant disponible sur les dépôts, un petit apt-get fera donc l’affaire…

sudo apt-get install nginx

Configuration de Nginx

Fichier de configuration: /etc/nginx/sites-available/default

Une simple modification va consister à modifier le port d’écoute de 80 vers 81.

ajeanson@www:/etc/nginx$ sudo vi sites-available/default

# You may add here your
# You may add here your
# server {
#       …
# }
# statements for each of your virtual hosts

server {
listen   81;
server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;

location / {
root   /var/www/nginx-default;
index  index.html index.htm;
}

location /doc {
root   /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}

location /images {
root   /usr/share;
autoindex on;
}

Démarrage de Nginx

sudo /etc/init.d/nginx start

Le résultat est visible ici:

http://www.opensides.fr:81/

Conclusion

Nous avons vu que l’installation de Nginx était très simple. Nous verrons dans de prochains articles comment utiliser au mieux les différents modules de Nginx pour doper les performances de votre site web.

Leave a Reply