Articles précédents : Articles
- [61] GNUnet 0.7.0 est publié
- [42] Google Summer of Code : posez vos stylos !
- [0] Premières rencontres « Logiciels Libres et Développement » (Lyon)
- [21] Sun ouvre le code de son implémentation de JSF (Java Server Faces)
- [15] Médaille d'or pour la France aux Olympiades Internationales d'Informatique
- [193] Google Talk : messagerie instantanée et voix sur IP basée sur Jabber
- [38] Wormux a besoin de vous et de vos compétences
- [57] Linux en tant que marque, ça se défend
- [25] Sun propose à son tour une technologie de DRM... Open Source ! (sous CDDL)
- [157] Le moteur du jeu Quake 3 en GPL
Liens connexes
- Lighttpd (2266 hits)
- FastCGI (638 hits)
- La liste de diffusion (340 hits)
- Blog sur lighttpd (717 hits)
- Configuration de lighttpd (885 hits)
- Le wiki de lighttpd (672 hits)
Dépêche modérée par
Dépêche éditée par
Articles : Lighttpd : un concurrent pour Apache
Posté par stephane martin (). Modéré le 04 septembre 2005.Comme son nom l'indique, lighttpd vise la légèreté. Le but de projet est de fournir un serveur aussi rapide qu'Apache, mais avec une empreinte mémoire beaucoup plus faible.
Si le coeur du serveur est assez complexe, on peut l'étendre assez facilement avec un système de plugins. Ce qui explique que comparé à d'autres serveurs de même taille, lighttpd se révèle assez riche en fonctionnalités, sans toutefois être aussi "touffu" que son grand frère. Les hôtes virtuels, l'authentification, HTTPS, CGI, la compression à la volée des fichiers servis, les redirections et réécritures d'URL, et dans une certaine mesure les Server Side Includes sont supportés.
Du côté de la programmation Web, lighttpd fait clairement le choix de FastCGI, en cohérence avec son objectif de légèreté : au contraire des mod_php, mod_perl... d'Apache, l'interpréteur n'est pas inclus dans le serveur lui-même, mais en lancé une bonne fois pour toutes "à côté" du serveur. Ce qui donne des performances comparables à Apache en prefork/mod_php pour l'exécution de scripts PHP. Pour Python, on dispose en outre d'un module de connexion à une application web plus spécifique à ce langage : SCGI. Mais c'est encore avec le framework Ruby On Rails que lighttpd est le plus utilisé (pour mémoire il s'agit d'un framework MVC pour le langage Ruby).
Signalons enfin la configuration du serveur, à la fois classique (des directives dans un fichier de configuration), plus flexible et plus simple que celle d'Apache : il est possible de découper le fichier de configuration selon des conditions relatives à l'adresse IP du client, l'URL demandée, le User Agent du client... Ces conditions peuvent s'emboîter (à partir de lighttpd 1.4).
Dans la vraie vie (?) lighttpd semble être utilisé par des professionnels en tant que proxy, frontal pour application Web et surtout comme serveur d'images de publicité, en raison de ses performances impressionnantes avec les fichiers statiques. La liste de diffusion est ouverte à tous et franchement réactive.
Lighttpd (2266 hits)
FastCGI (638 hits)
La liste de diffusion (340 hits)
Blog sur lighttpd (717 hits)
Configuration de lighttpd (885 hits)
Le wiki de lighttpd (672 hits)
> Lire la dépêche (32 commentaires, moyenne: 3,4).
Licence
Pour ceux qui cherchent la license de ce serveur, elle serait sous BSD (revisée) (http://freshmeat.net/projects/lighttpd/).(...) Mais j'ai un doute (par rapport au prmier courriel de l'auteur) car il aurait été lancé sous CC 2.0 (http://www.lighttpd.net/the-story/)(...)
« Si quis scienter in tantum a vino abstineret ut naturam multum gravaret a culpa immunis non esset. »Saint Thomas d'Aquin, Somme théologique, II-II, 150, 1 ad 1.
-
[^]Re: Licence
Posté par Romain Be. () le 04/09/2005 à 22:58. (lien). Évalué à 6.Trouvé dans le package debian sur le site:
0:55 toots@duppy /tmp% cat ./usr/share/doc/lighttpd/copyright
This package was debianized by Vincent Wagelaar <vincent@ricardis.tudelft.nl> on
Wed, 24 Mar 2004 08:20:58 +0100.
It was downloaded from http://www.incremental.de/products/lighttpd/download/(...)
Upstream Author: Jan Kneschke <jan@kneschke.de>
Copyright:
Copyright (c) 2004, Jan Kneschke, incremental
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
- Neither the name of the 'incremental' nor the names of its contributors may
be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
Je ne pense pas que cela soit compatible BSD, mais chuis pas spécialiste si quelqu'un a un avis intéressant je suis preneur..
Romain-
[^]Re: Licence
Posté par Manuel Menal (page perso, ) le 04/09/2005 à 23:38. (lien). Évalué à 8.Sachant que « la licence A est compatible avec la licence B » signifie que l'on peut combiner une ½uvre sous licence A avec une ½uvre sous licence B, oui, cette licence est compatible avec la licence BSD (2 ou 3 clauses). Pour la simple et bonne raison que c'est la licence BSD révisée ;-)
(Par révisée, on entend privée de la 3ème clause de la licence BSD originale, dite clause de publicité, qui précisait que tout le matériel promotionnel mentionnant l'inclusion d'un produit ou d'une de ses fonctionnalités devait comporter une phrase précise. Cette clause, peu respectée, était très peu commode en pratique, et elle causait l'incompatibilité avec la licence GPL.)-
[^]Re: Licence
Posté par stephane martin () le 05/09/2005 à 09:06. (lien). Évalué à 5.Confirmé par l'auteur principal de lighttpd:
> PS: some readers are wondering what kind of license lighttpd is
> published with. It's a kind of revised BSD, isn't it ?
Yes, I'll put it on the front-page now. ;) This question come in too
often now.
Jan--
Every time you write invalid markup, God kills a kitten
-
-
Oui !
Pour l'avoir testé, je peux affirmer que c'est un excellent serveur http, une vraie alternative à apache. Il est vraiment super léger sans perdre en fonctionnalités.
Je le recommande plus ou moins à tous, puisqu'il conviendra à 80% des gens.
A noter qu'il fait également preuve d'excelentes performances en tant que frontal sur un cluster ;)
-
[^]Re: Oui !
Posté par Pierre Jarillon (page perso, ) le 04/09/2005 à 23:47. (lien). Évalué à 10.Les logiciels sont comme les sytèmes thermodynamiques, ils ont une entropie croissante. Rares sont les logiciels qui ne grossissent pas avec le temps. Lighthttp est léger comme son nom l'indique mais est ce qu'il le restera ?
-
[^]Re: Oui !
Posté par kesako () le 05/09/2005 à 07:08. (lien). Évalué à 2.Et d'ailleurs , on le dit efficace avec des fichiers statiques. Mais comparativement avec un "httpd dans le noyau" comme Tux , qu'en est-il ?
-
[^]Re: Oui !
Posté par Guillaume Smet (page perso, ) le 05/09/2005 à 08:46. (lien). Évalué à 7.Mmmmh, déjà un serveur http dans le noyau, ce n'est pas forcément la meilleure idée du siècle.
Et accessoirement, il me semble que tux n'est plus maintenu depuis un bail et d'après les benchs que j'avais fait, il n'offrait pas non plus un gain énorme par rapport à thttpd comparé aux problèmes qu'il pose.
-
[^]Re: Oui !
Posté par Nicolas Boulay () le 05/09/2005 à 11:34. (lien). Évalué à 4.Le but principale de tux était d'éviter au maximum les recopies de buffer entre le cache disque et le cache réseau. A prioris, dans le 2.6, il est possible de la faire sans avoir un module noyau dédié.
-
[^]Re: Oui !
Posté par Guillaume MANGEOT () le 05/09/2005 à 11:52. (lien). Évalué à 1.ca m'interresse, comment tu penses qu'on fait pour dire ca au noyau ? autrement que part un module ?
-
[^]Re: Oui !
Posté par Nicolas Boulay () le 05/09/2005 à 12:31. (lien). Évalué à 2.j'avais lu ça à la sortie du 2.6, cela commence à être vieux. Je ne sais plus si c'est une utilisation bizarre de mmap ou une socket spécial.
-
[^]Re: Oui !
Posté par Sebastien Tanguy (page perso, ) le 05/09/2005 à 13:08. (lien). Évalué à 1.sendfile(2) ne réponds pas au besoin ?
-
[^]Re: Oui !
Posté par Krunch (Jabber id, page perso, ) le 05/09/2005 à 13:28. (lien). Évalué à 3.Apparement c'est faisable aussi dans le 2.4.
http://www.chromium.com/x15tech.html(...)
http://www.kegel.com/c10k.html#x15(...)
Chromium's X15. This uses the 2.4 kernel's SIGIO feature together with sendfile() and TCP_CORK, and reportedly achieves higher speed than even TUX.
http://www.kegel.com/c10k.html#sendfile(...)A zero-copy implementation of sendfile() is on its way for the 2.4 kernel.
C'était en 2001, apparement c'est intégré dans les 2.4 mais peu (pas ?) documenté.
http://lwn.net/2001/0125/kernel.php3(...)--
Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.
-
-
-
-
Voui ...
C'est vrai, en frontal c'est un excellent outil.
Pour ce qui est d'accélérer les pages dynamiques, l'investissement qui paye est plutôt coté code (vous savez, le PHP de goret avec le SQL qui tache).
Mais je sais bien que tout le monde ici fait un code super propre ;)
M
et les autres...
Ce journal tombe à pique pour moi, je cherche justement un serveur Web leger, genre très petite config, ou carrement pour l'embarqué... (genre MIPS 200Mhz ^_^)
Qu'en est-il de thy, webfs, thttpd, dhttpd, roxen, boa, caudium ?
Quelqu'un connait un d'entre eux ? y a t'il des bench autour de cela ? (j'ai trouve un bench solo de boa je crois mais c'est tout, encore faudrait-il le faire sur une meme config)
Alors si je vois que personne ne la deja fait, je le ferais moi même, Mais quels SONT LES benchS que vous me proposez ? ( ApacheBench,.... ?)
Je recherche aussi la sécurite par la meme occasion.
-
[^]Re: et les autres...
Posté par Guillaume MANGEOT () le 05/09/2005 à 08:06. (lien). Évalué à 2.oups yen a aussi sur le site de lightthpd... avec thttpd, apache et lighttpd...
-
[^]Re: et les autres...
Posté par stephane martin () le 05/09/2005 à 08:17. (lien). Évalué à 1.Mets le lien...
--
Every time you write invalid markup, God kills a kitten-
[^]Re: et les autres...
Posté par Guillaume MANGEOT () le 05/09/2005 à 09:28. (lien). Évalué à 4.le lien: http://www.lighttpd.net/benchmark/(...)
le bench solo de boa http://www.boa.org/recent-benchmarks.html(...)
et je rajoute encore la liste des serveur web...:
fnord, mathopd, bozohttpd (Tux deja cite plus haut)-
[^]Re: et les autres...
Posté par Aurélien Girard () le 05/09/2005 à 09:39. (lien). Évalué à 2.Est-ce qu'il existe des bancs d'essai plus "pertinents" ?
Tous les tests applicatifs se contentent d'un Hello World. Je ne crois pas que ça soit très représentatif de la charge réelle d'une véritable application web.
Et quid des astuces pour accélérer le tout comme la ruse de l'erreur 404 de Templeet ?-
[^]Re: et les autres...
Posté par Guillaume Smet (page perso, ) le 05/09/2005 à 11:31. (lien). Évalué à 1.En général, ces petits serveurs http sont surtout utilisés pour servir du statique (pages html, images, css, fichiers js...) donc un test de type hello world est assez proche de la réalité.
lighttppd a l'air de vouloir apporter des fonctionnalités applicatives beaucoup plus avancées par contre.-
[^]Re: et les autres...
Posté par phenix (page perso, ) le 06/09/2005 à 17:06. (lien). Évalué à 2.Sur mon serveur perso j'ai thttpd + php. Sur un pentium undercloké a 90Mhz, ca marche trés bien
Dans pour ça, fait lors de la compilation de php
./configure --enable-thttpd=/repertoire/des/sources/de/thttpd
Par contre ce n'est à utiliser que sur les sites avec petit traffic php. Car l'interpretation des ces pages se font en serie et non pas en paralèlle pour tout les utilisateurs en même temps.
-
-
-
[^]Re: et les autres...
Posté par Guillaume MANGEOT () le 05/09/2005 à 09:43. (lien). Évalué à 1.encore d'autre benchs:
http://www.acme.com/software/thttpd/benchmarks.html(...)
http://litespeedtech.com/benchmark.html(...)
un bench marrant entre TUX/linux et IIS/wiNT: http://www.kegel.com/nt-linux-benchmarks.html(...)-
[^]Re: et les autres...
Posté par Guillaume MANGEOT () le 05/09/2005 à 10:06. (lien). Évalué à 1.Quelqu'un a t-il regardé les test ?? Ca me parait étrange parfois. notamment ceux qui compare Win et RHat.
en tout cas LiteSpeed est drolement performant si ces bench sont vrai...
Il faudrai refaire un bench, qui ressemble a http://litespeedtech.com/benchmark.html(...) et comparer les ecarts.
il proposent une version standard telechargeable qui est censée etre superieur a lighttpd dans tous les domaines...
et TUX 3.2 est impressionnant en static...-
[^]Re: et les autres...
Posté par william_os (page perso, ) le 05/09/2005 à 19:12. (lien). Évalué à 1.Un autre bench. qui montre les possibilities de lighttpd avec Python.
http://quixote.ca/qx/LighttpdScgi(...)
A+
-
-
-
-
-
-
[^]Re: et les autres...
Posté par Guillaume Smet (page perso, ) le 05/09/2005 à 08:42. (lien). Évalué à 5.Nous, on utilise thttpd pour servir les images statiques sur un site à trafic plutôt élevé. Ca va vite et ca correspond bien à notre besoin.
A l'époque, j'avais évalué tux, thttpd et l'utilisation des squid dont on se sert pour les reverse et j'avais feuilleté les benchs qui étaient fait sur pas mal de sites. thttpd sortait du lot en terme de perfs / squid et n'allait pas beaucoup moins vite qu'un tux (et tux pose pas mal de souci et n'a plus l'air vraiment maintenu).
Le gros avantage de lighttpd sur thttpd est la gestion du keep-alive.
Pour les benchs, apache bench pour tester des perfs brutes, ce n'est pas mal mais ca reste assez basique forcément.
-
[^]Re: et les autres...
Posté par Matthieu C () le 05/09/2005 à 14:31. (lien). Évalué à 3.club internet utilise thttpd pour ses pages persos: http://perso.club-internet.fr/(...)
-
[^]Re: et les autres...
Posté par phenix (page perso, ) le 06/09/2005 à 17:00. (lien). Évalué à 1.Attention, si tu utilise un CPU embarqué comme le MIPS, tu pourais avoir des problème a cause du "multi threading" ( on quelque chose approchant )
Boa qui n'utilise qu'un seul thread me parrait la bonne solution
Yaws
Un très bon serveur Web, rapide et scalable est Yaws http://yaws.hyber.org(...)
--
Mickael Rémond
http://www.3pblog.net/(...)
Sécurité ?
Vosu avez tous l'air de vous gargariser de la vitesse de la bête, mais qu'en est-il de al sécurité ?
Quelqu'un a jeté un oeil dans le code ?
PS.: je le ferais, c'est juste pour avoir l'avis de spécialistes ;)
-
[+] [^]Re: Sécurité ?
Posté par bktb () le 05/09/2005 à 16:07. (lien). Évalué à -5.je n'ai pas lu le code mais il semblerais que c'est de la boucle a evenement. Je ne vois pas comment un tel truc peu etre sure, ce genre de code est tres rapidement ingerable.
-
[^]Re: Sécurité ?
Posté par Laurent Pointal (page perso, ) le 05/09/2005 à 19:44. (lien). Évalué à 2.Ah bon.
Tu peux préciser ?
-
[^]Re: Sécurité ?
Posté par didbaba (page perso, ) le 06/09/2005 à 13:39. (lien). Évalué à 5.Quelle jolie affirmation sans preuve, faudrait aussi regarder le code de twisted pour voir si l'asynchrone est aussi ingérable que ça.
Franchement c'est trop gros...
-



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.