Depuis peu, je dispose d’un hébergement d’une part chez Gandi.net. J’ai craqué dernièrement pour un serveur dédié virtualisé ; j’en ai marre de mon hébergement mutualisé (besoin de plus de flexibilité et d’espace disque). Une part d’hébergement chez Gandi correspond à 256Mo de RAM. C’est très correct pour héberger des petits sites à faible trafic (ce qui est mon cas 😀 ) mais cela peut vite devenir faible : avoir son propre serveur ouvre des possibilités et donc une consommation potientielle plus grande des ressources.
Initialement installé avec Apache + PHP5 + MySQL, la consommation du serveur est montée en flèche : quasiment 200 Mo pour un seul site hébergé…Je n’ai cependant pas qu’un serveur web mais aussi un serveur Teeworlds pour jouer de temps à autre (~ 15 Mo en RAM). Je suis donc en train de reconsidérer l’installation du serveur web.
Après quelques recherches, trois alternatives à Apache sont possibles (Apache c’est bien mais c’est « mémoirophage ») :
- Lighttpd (Lighty), utilisé par YouTube, un seul process pour 10000 connexions simultannées, une consommation mémoire moindre, mais apparamment quelques problèmes de fuites mémoire.
- LiteSpeed, plus commercial, une version standard gratuite est disponible.
- Nginx (prononcez EngineX), un petit serveur ultra léger, optimisé et sécurisé qui a le vent en poupe.
L’ennui dans tout ça, c’est que je ne sais pas quel serveur choisir…Lequel prendre pour avoir le meilleur compromis performances / fonctionnalités sachant que je souhaite disposer d’un serveur pour pouvoir exécuter des scripts PHP et Ruby On Rails ?
Je fais donc appel à vous, chers lecteurs de ce blog, pour me retourner vos expériences et ainsi me guider dans mon choix ! (pour l’instant ma préférence va à Nginx…)
Personnellement je suis un « affiliados » d’Apache aillant un serveur totalement dédié je ne me pose pas la question de meilleurs performances ou pas. Le gros avantage d’Apache, c’est ça configuration simple, un nombre impressionnant de modules etc… En gros Apache, c’est le serveur HTTP qui fait tout, mais qui n’est pas le plus performant (C’est comme tout, plus tu n’en mets plus c’est lourd). je le choisi surtout parce que je sais que quand je veux faire quelque chose, je trouverais toujours le module qui va bien 😉
Pour Lighttpd, un process pour 10 000 connexions ne me semble pas un argument valable pour des petits sites, si tu as une machine sur Plusieurs Coeurs… S’il faut attendre 10 000 connexions pour exploiter les coeurs de ta machine et le multithread… C’est pas top, si ça se configure, tant mieux 🙂 Je ne l’ai pas utilisé (Enfin si au boulo, mais juste un serveur qui n’hébergeait que des images, il était inutile de sortir l’artillerie lourde Apache pour ça :)), mais il s’est fait une bonne réputation surtout au niveau de sa légèreté (D’où le nom choisi par les devs). Par contre si tu veux faire des choses avancées avec ton serveur WEB, tu aura plus de mal à trouver les modules adéquats par rapport à Apache AMHA.
Pour Nginx je connais pas… Globalement si ton utilisation ne va pas au delà de ce que tu dis, je dirais Lighttpd, je pense que les fuites ne sont vraiment perceptible qu’à fort trafic, et avec un reboot hebdomadaire, pas de soucis je pense 🙂
Salut,
Un peu après ton billet je t’apporte quand même mon avis :
NGinx est un très bon serveur web 🙂 ! D’ailleurs je voyais le précédent commentaire qui disait qu’il n’y avait d’un processus. Et bien c’est paramétrable. On peux mettre le nombre de processus que l’on veux. Par exemple si tu as un quad core il faut mettre 4 et il y auras 4 processus NGinx qui vont se partager la charge. Je trouve que NGinx est très simple à configurer, à coupler avec Ruby of Rails, Django. Grâce à sa fonction proxy. En effet, il ne supporte pas CGI ou FastCGI. Un autre gros manque pour moi c’est le non support des fichiers .htaccess (pour l’url rewriting c’est directement dans les fichiers de configuration) qui peux rebuter plus d’un utilisateur de blog wordpress ou autre script. En gros, Apache pour ceux qui ont les moyens (gros serveur, beaucoup de ram) ou qui veulent absolument quelque chose d’absent d’NGinx. NGinx est aussi beaucoup plus recommandé pour des fichiers statiques et des serveurs de téléchargement. Un serveur de téléchargement sous Apache c’est pas recommandé, un processus par téléchargement …
J’espère t’avoir aidé 🙂 Et au passage, l’offre VPS de Gandi.net est super !