Typo 5.0.x, la fin de vos petits problèmes de performances

Le 22 Feb 2008 à 15h18 | Catégorie : Publié sous | 6 commentaires

typoTypo, le blogware en Ruby on Rails dont je suis mainteneur depuis un an et demi souffre malgré lui d’une réputation de bloatware, qui n’a – malheureusement – pas toujours été injustifiée, au point de lui coller à la peau comme le sparadrap du Capitaine Haddock. Un des très gros efforts du passage de la 4.0 à la 5.0 a porté sur une refonte complète de la back end afin d’en éliminer les lourdeurs.
Il semble que nous ayons réussi notre pari, comme l’explique cet article de Kevin Williams, utilisateur de Typo et heureux de l’être dont je vous donne la traduction ci-dessous :

Je fais tourner ce blog sous Typo avec Ruby 1.8.6p111 et Rails 2.0.2 avec le cache désactivé (il y a un bug dans le système de cache de la 5.0.2 corrigé dans la 5.0.3, laquelle sortira dès que j’aurai terminé de mettre le module de langue française à jour NDT). Il tourne avec Thin sur des socket UNIX. J’utilise Nginx en frontend qui répartit la charge sur 2 processus Thin. En parsant les logs Rails afind e déterminer la charge SQL, je trouve une moyenne de 881 requêtes par seconde.

Imaginez si j’avais activé le cache :-D. Je prévois maintenant d’activer le module memcached de Nginx afin d’accélérer les choses.

Kevin admet avoir dans un premier temps voulu porter Typo sous Merb, avant de changer d’avis vues les performances de la 5.0, et ce, malgré les pannes de cache. Encore une victoire de canard© !

Commenter »

  1. Olivier D. about 1 hour later:

    Bonjour Frédéric,

    Bonne nouvelle, et je vais m’empresser de mettre en place la version 5.x de Typo, enfin dès que j’ai le temps…c’est vrai que “c’était” assez laborieux. En attendant, j’ai remplacé Mongrel par un LightTPD + fastcgi pour économiser quelques ressources, c’est un peu mieux (un peu ;-)). Je ne connais pas Thin, cela me parait pas mal non plus à la vue des benchs, en plus avec un Nginx, LE serveur Web qui monte qui monte, vais tenter ça également, merci du lien. @+ pour un feedback sur cette nouvelle mouture.

  2. macournoyer about 5 hours later:

    Hey Frédéric, Les benchmarks de Kevin etaient telement impressionnant que je croyais qu’il y avait une erreur au debut. Je suis extremement surpris des resultats. Bravo! Je suis bien content que mon serveur Thin puisse aider Typo a etre encore plus rapide.

  3. Christophe Lauer [MS] about 9 hours later:

    Salut Fred,

    Dis moi : Je ne connais rien à Typo et à ses releases successives. Néanmoins, j’ai entendu parler chez un client dernièrement d’un projet de site Corporate que les équipes voudraient réaliser en Typo 3.

    Vu ce que tu sembles dire au sujet de Typo 4 et de Typo 5, je me dis que ce n’est sans doute pas une bonne idée actuellement de démarrer quelque chose de sérieux basé sur Typo 3.

    Tu pourrais éclairer ma lanterne ?

    Gravias, Hombre! Christophe, aka Herr KLaueR ;)

  4. Frédéric de Villamil about 17 hours later:

    @Olivier : mongrel est effectivement assez consommateur de ressources. J’utilise ici du Apache + modfcgid car j’ai pas mal de besoins en modrewrite, et que lighty / nginx ne supportent pas les rewrite rules.

    @Marc André : oui, pareil. Cela dit, même si elles s’avéraient fausses, pour un Typo utilisé sans cache, il est étonnamment rapide, et je ne m’en serais jamais moi-même douté.

    @Clauer : on a un problème de nommage qui nous colle aux basques depuis le début. Typo s’appelle ainsi parce que le mec qui l’a commencé l’a fait lors d’une heure à tuer parce qu’il avait fait une typo dans son agenda pour marquer l’heure d’un rendez-vous.

    Typo3 (c’est son nom, pas un numéro de version) est un CMS en PHP principalement supporté par Dassault Systèmes. C’est un des CMS open source les plus utilisés au monde, avec une énorme communauté de développeurs et un nombre impressionnant d’extensions.

    Typo (quelle que soit la version sauf la 3 qui n’existe pas) est un blogware développé en Ruby on Rails, uniquement soutenu par ma cafetière et celle d’un anglais qui a abandonné Perl après en avoir développé toute une partie de l’interpréteur.

    Le premier est donc tout à fait conseillé pour un truc corporate, le second n’a clairement pas le niveau, et ce n’est pas son but.

  5. Olivier D. 3 days later:

    C’était prémonitoire, un article tout frais sur InfoQ parle de Thin, http://www.infoq.com/news/2008/02/thin-fast-ruby-webserver, avec de nouveaux benchs (vs. Apache) sur le site de l’auteur pour les connexions persistantes (Keep-Alive).

    @+

  6. Christophe Lauer [MS] 5 days later:

    Oki doki, merci pour les précisions, j’en prends bonne note. Effectivement, vu de l’extérieur sans tes lumières c’est quelque peu “confusing” ;)

Laisser un commentaire

Merci de vous exprimer dans un français correct. Les commentaires déplacés, injurieux et le spam seront supprimés.

Les trackbacks sont fermés pour cause de spam.