2010/12/01

No future ftw <3

Je voulais jouer un peu avec quelques convivialités bsdiennes commde kqueue(2) mais je n'avais pas trop d'idées sur quoi développer qui pourrait partir de ça. C'est là que le sieur bsdsx me parle de son envie de forker mini_httpd pour y apporter quelques améliorations. L'idée m'a paru géniale.

On a sorti nos vim, git, gcc et mohawk est né.

En effet même si nginx est juste génial il ne supporte pas les CGI nativement. De plus avoir un serveur http très très léger peut vraiment être intéressant pour les jails ou l'embarqué.

Voila donc le mini cahier de charges:

Même si ce n'est pas encore parfait ça marche et ça marche bien :). On n'atteint pas les performances ni la montée en charge d'un lighttpd ou d'un nginx, mais celles-ci restent correcte pour une empreinte mémoire vraiment réduite

le ps:

bapt  45335  0,0  0,0  8020  1556  ??  Is   14:20     0:00,00 ./mohawk -c mohawk2.conf

dans top:

45335 bapt          1  44    0  8020K  1556K kqread  0   0:00  0.00% mohawk

Le tout est donc très fortement lié au monde des BSDs et peut être même plus particulièrement FreeBSD (pas testé sur les autres :)).

Le code compile aussi bien avec gcc que clang, et est testé sur arm, ia64, amd64 et i386.

Pour une fois j'ai même pris du temps à faire de la doc vous trouverez donc un mohawk(8) complet

Tout ce passe ici

Bientôt un ports FreeBSD :)

Petite cerise sur le gâteau dans le source mohawk un petit htpasswd.sh (et la doc associée htpasswd(1)) qui est un implémentation de htpasswd en shell utilisant openssl et ed pour générer les fichiers d'authentification (avec le même niveau de fonctionnalité que celui d'apache même si dans notre cas seul crypt() est supporté)

Jok wrote on 2010/12/01 :

Joli défi :-)
Tu testes la montée en charge avec quoi?


bapt wrote on 2010/12/01 :

je test la montée en charge en lançant siege en même temps depuis plusieurs machines ( http://www.joedog.org/index/siege-home )


Name :
URL (optional) :
Write here: "ETOOMUCHSPAM"
Comments :