fév 19

Bonjour à toutes & à tous (sisi je crois encore avoir des lectrices)

Le silence de ces derniers jours était lié en bonne partie lié à cette nouvelle : Le Wiki est lancé.

Ca y est, après plusieurs heures d’efforts, les deux premiers articles du Wiki sont écrits.

J’espère que cela incitera nombre d’entre vous à venir enrichir ce contenu naissant.  Je reposterai également ce qui était intéressant sur le blog, remis en forme pour du Wiki.

Les premiers articles portent sur :

Dimensionnement de l’infrastructure de base de données

Facteur influents sur le dimensionnement de l’infrastructure

Maintenant c’est à nous tous de l’animer ce Wiki !

écrit par Philippe Humeau \\ tags:

fév 11

Bonjour à tous,

Ce post va traiter de l’optimisation de l’Opcode APC.
Pour plus d’informations sur APC, ci dessous, un lien de présentation :

http://fr3.php.net/apc

Dans ce document, nous allons aborder quelques points de réglage. Pour ma part, j’estime qu’il procure un gain au niveau du temps d’accès de la page d’accueil de l’ordre de 0,15s (0,40s vs 0,25s), le tuning a amélioré le temps de réponse de 0.05s. En charge, je pense que les réglage on permis d’augmenter la charge sur le serveur avec un facteur 3.

Je n’ai pas de statistiques exactes sur ce point car j’ai modifié 4 tables dans la base Mysql pour optimiser les performances et diminuer les points de blocage.

Les modifications combinées ont permis de diminuer la charge CPU par 10. (avant les modifications, un test de charge de 200 utilisateurs a fait monter la charge CPU à 100. Le même test de charge avec les réglages que je vais présenter et le changement de 4 tables du type MyISAM au type innodb n’a fait monter la charge CPU qu’à 10).

Tout d’abord, je tiens à préciser que je n’ai rien inventé, j’ai effectué quelques recherche et j’ai ensuite testé.

La référence de mon étude se base sur cet article : http://julien-pauli.developpez.com/tutoriels/php/apc/

La première chose que j’ai faite est la mise à disposition de la page apc.php fournie dans le package pecl d’installation. Cette page php permet d’effectuer un diagnostic de l’état d’APC, notamment de savoir comment il est utilisé.

Par défaut, la taille du cache est de 30Mo, ce qui semble suffisant pour la majorité des applications. De mon coté, j’ai estimé qu’il n’était pas suffisant car j’ai la mémoire utilisée à 95%, voir un peu plus et une très forte fragmentation. La fragmentation est un signe qui m’a indiqué que des fichiers sont régulièrement sortis du cache pour en mettre d’autres. L’autre paramètre qui m’a indiqué que des fichiers n’étaient pas cachés est la statistique « hit and misses », cette statistique etati à 50% de hit. Le simple fait d’augmenter la taille du cache a résolu la fragmentation et mes statistiques de hit & misses sont maintenant proche de 100% de hit (900000 hits vs 300 misses).

J’ai continué mes recherches en parcourant l’article ci dessus et j’ai testé quelques réglages conseillés :
apc.num_files_hint
apc.user_entries_hint
Ci dessous, les réglages spécifiques que j’ai apportés :
apc.shm_size = 128
apc.stat = Off
apc.include_once_override = 1
apc.num_files_hint = 0
apc.user_entries_hint = 0
apc.max_file_size = 2M

Toutes ces fonctions sont détaillés dans la documentation php :
http://fr3.php.net/manual/fr/apc.configuration.php

écrit par Gilles \\ tags: , , ,

fév 09

Bonjour à toutes & à tous,

Wikigento monte en puissance petit à petit.

La Team éditoriale est presque complète (bientôt les noms) et aujourd’hui l’annuaire des sites Magentisés est ouvert et fonctionnel. Le but est de recenser les sites qui tournent sous Magento. Que ce soit le votre ou pas ou même un que vous avez découvert, le but de cet annuaire est de voir la variété dans les créations, d’inspirer les autres.

Au passage, comme Wikigento gagne rapidement en visibilité et en SR/TR/PR auprès de Google, ca fera un peu de référencement naturel à votre site ! Cet annuaire n’est fait QUE pour les sites en Magento, les autres seront refusés par les modérateurs. Ne vous inquiêtez pas s’il n’apparait pas tout de suite, il y a un processus de vérification avant publication.

Enfin, le cadeau du jour pour vous aider à trouver les Magentisés, un petit Google Dork sur Magento, il suffit de googler :

intitle: »Error Submission Form »

Un Google Dork est une signature typique d’une technologie Web parmis tout ce qui est indexé par Google. Cela permet de trouver tous les sites utilisant un bout de code ou une technologie grâce à une recherche Google astucieuse. Attention, un site qui n’a pas cette signature n’est pas forcément un site qui n’est pas sous Magento, on peut customiser presque tous les aspects, y compris les erreurs, mais il est extrêmement fréquent que cet aspect ne soit pas modifié par les développeurs.

Je vais essayer d’importer le fichier que j’avais commencé, cela permettra de rapidement l’étoffer, mais dans l’essentiel, on compte sur vous.

Ps : Dans la semaine, ouverture du Wiki !!!

écrit par Philippe Humeau \\ tags: , ,

fév 05

Durant nos différents échanges à Bargento, j’ai réévoqué la piste d’un « compilateur de site ».

C’est un projet qui peut prendre de multiples formes, du préloading d’un site pour rendre le cache du reverse proxy efficace immédiatemment ou encore appeler tous les liens avec une spider et sortir un site « Semi statique » à partir du site Dynamique originel.

Plusieurs personnes ont trouvé l’idée intéressantes, certains ont même déjà de l’expérience dans le domaine, un contributeur Drupal, l’admin du vendée Glob (de AFG je crois ?) un monsieur de chez Smile. Je n’ai pas retenu tous les noms ou toutes les bonnes volontées mais je suis prêt à créer un groupe de travail sur ce point avec les volontaires.

L’idée est la suivante :
Les langages interprétés comme PHP ne sont pas très optimisés pour les processeurs et leurs systèmes de cache.
Ce point peut se compenser en imaginant un site Web très dynamique (Zend/Magento par exemple) comme un « code source » de l’époque C++. Le but c’est que la version dynamique reste bien LA référence mais que pour des raisons de performances, ont « pré calcul », on compile, une partie des pages du site. Du coup, le serveur Web fournit des pages HTML et non plus du PHP qui génère du HTML. Le rapport de puissance peut aller de 1 à 10 sans problème, comprenez qu’un même serveur Web frontal pourrait servir 10000 connexions simultanées au lieu de 1000.

Outre le gain de performances et l’économie de puissance, on constate également que le surfer reçoit une information quasi immédiatemment puisque le serveur n’a plus à générer du HTML puis à l’acheminer mais juste à l’acheminer.

Les limites :
En premier lieu, ceci ne permet d’optimiser que les performances des serveurs Web. En effet, ce qui est allégé, c’est le temps de rendu des pages et uniquement ce point. Rechercher un produit dans une base de données pas optimisée n’ira pas plus vite qu’avant. En poussant le vice, on pourrait précalculer les réponses aux 3 recherches les plus fréquentes dans le moteur selon une espèce de règle des 80/20.

Ensuite, il ne faut pas oublier que le site doit être généré à une fréquence suffisamment élevée pour que les changements importants soient visibles rapidement. Il faut également le « compiler » sur un autre serveur que celui de production car sinon on va entacher ses performances lors de la génération des pages semi-statiques. En fait il faudrait même pouvoir recompiler le site à la demande, sur tout ou partie (les prix uniquement, les articles et les prix, juste une page, comme avec un Makefile en fait)

Les obstacles :
La complexité du projet réside dans le fait que de nombreux élements nécessitent l’affichage d’informations dynamiques. Le caddie d’une personne, ses « choix pour plus tard », les comparateurs de prix ou de produits etc… De même, interroger la base de données en faisant une recherche sur un site répondra forcément un contenu différent selon la recherche (sinon on risque de décevoir un peu le visiteur).

On ne peut pas non plus trop déporter le processus dynamique sur le poste client, cela peut dans certains cas engendrer des risques de sécurité. La business logic de traitement des commandes et ce genre de choses ne peut pas résider « customer side » dans la machine virtuelle javascript du browser sinon elle est aisée à corrompre.

Mais c’est un peu comme dans la pub pour une certaine carte de crédit :
« Il a ce que vous ne pouvez pas rendre statique, pour tout le reste, précompiler votre site ! »

Alors ? Faisable ou pas ? Utile ou juste une idée en l’air ? J’en appel aux volontaires pour qu’on voit si un petit groupe de travail souhaite se pencher efficacement dessus.

écrit par Philippe Humeau \\ tags: , , ,

fév 05

Hier je parlais avec Marc Sallieres d’Altic durant l’Openday qu’il organisait à la Cantine avec Roy, Yoav et des magentisés. En dehors du fait que l’event était très sympa, on discutait sur le modèle Opensource.

Voila,  soyons clair, nous avons besoin que Varien gagne de l’argent.
Si Magento perce, même si nous avons des activités communautaires gratuites, on a aussi des business et ca nous sera profitable à tous.

A l’inverse si Varien ne gagne pas bien sa vie, le produit sera de moins bonne qualité et l’expertise que nous aurons tous développés (codeurs, chefs de projet, hébergeurs, consultants etc…) sera inutile car la boite et donc le produit se perdra.

La refonte du modèle économique, du système de partenariat et la naissance d’une version « payante » montre bien, conjointement avec les appels de Sel, que la communauté ne rends pas assez à Varien.

Alors rappelons le, et je partage l’avis de Marc à 150%, notre expérience de l’opensource nous l’a prouvée, voila les fondamentaux :

1°) Donnez à la communauté, la communauté vous le rendra.
Aidez Varien, poussez Magento, adhérez au programme partner, faite des dons ou contribuez avec des traductions/howto/manuel, de l’organisation ou de la structuration, bref aidez, ca vous fera autant de bien qu’à « la maison mère ».

2°) Le modèle Win/Win est fondamental. Lorsque j’avais monté des offres OpenVPN avec James Yonan, on avait trouver un good deal, on lui versait un pourcentage du CA réalisé. Il a touché de l’argent, ca l’a aidé, on a eu des versions custom, bref tout le monde y a gagné.

3°) Participons en collaborant. Il y a de la place pour tout le monde, les dents qui raclent le plancher, les sources fermés ou les plugins payants hors du programme, ce n’est pas réellement la bonne voie. Mieux vaut 1% de coca cola que 100% d’une petite boite. Mieux vaut que le marché Magento se développe , décuple et qu’on en ait tous un petit bout plutot que rien ne démarre et que personne n’y gagne.

Voila, un message simple, opensource ne veut pas dire gratuit, tout le monde doit vivre de son travail, c’est vrai pour Varien comme pour les autres. Ce qui ne peuvent pas soutenir financièrement peuvent le faire en contribuant, en traduisant, en diffusant !

Marc est partenaire et il anime une communauté. Mon geste personnel c’est ce blog, ce wiki, c’est d’offrir nos réflexions d’architecture ou notre feedback, ma société est également en cour d’adhésion au système de partenariat.

Roy l’a dit au Bargento et l’a redit à l’Openday, il a besoin de nous !

écrit par Philippe Humeau \\ tags: , ,

fév 02

Ce fut une journée pleine de dialogue et de partage et c’était bien le but.

Je suis très content de la tournure que ça a pris. Les témoignages, les besoins, demandes, idées, échanges ont fusés.

Avec Fragento on a pu positionner plus clairement Wiki&Fra-Gento, collaboration assurée, ont participera les uns chez les autres. Sel est assuré que nous serons très positifs et complémentaires. Fragento traite beaucoup de l’aspect fonctionnel et développement, en mode Forum, Wikigento blog et construit un Wiki sur les performances, le système & réseau, l’hébergement, l’optimisation etc…

Des « artistes » de la communauté vont cross poster sur certains sujet à cheval.

Coté présentations, j’ai pu récupérer celles -ci :
Sébastien « Sel » Lepers – La Communauté Francophone Magento
Pierre Laromiguiere – BaobazMagento – SEO – referencement
Philippe Humeau – NBS SystemOptimisation et hébergement Magento
François Ziserman – Aroakarchitecture-repartie
Charly Clairmont – AlticConnecteur Ogone
Caroline Korn – Gilles Nollet – Habib Abi Khalil – Teleshopping & Sqli - Teleshopping & Magento

Il ne manque que celle de Daniel sur Discountéo. J’essayerai de me la procurer prochainement.

Merci à toutes & à tous d’être venus nombreux malgré une météo peu favorable, merci aussi à tout ceux qui ont aidé durant l’évènement.

Le soir, fatigués, mais contents !

fin de la soirée

Pierre de Baobaz, un personnage indéniablement. Aussi pro que décontracté, cet homme a un téléphone « transportable » qui fait tout ;)

pierre fait son show

[wp_surveys]

Quelques stats :
1465 visiteurs sur Amiando avant le barcamp
~120 personnes au plus fort,  ~140 personnes qui sont passées durant toute la journée.

photos sur flickr

Le compte rendu de Fragento par Anthony : c’est ici

écrit par Philippe Humeau \\ tags: , , ,

fév 02

Bonjour à tous,

Ceci est ma première contribution sur ce blog, je suis Frédéric André, de FAAK Production.

Pour l’instant tout se passe très bien, il y a du beau monde, Roy Rubin est présent, l’équipe de TF1 shopping, l’equipe de Zadig et Voltaire, et pleins d’autres. Les interventions jusque là ont été très interessantes.

On attend avec impatience l’intervention de NBS System sur l’optimisation et l’hébergement Magento.

imgp0885

écrit par AB \\ tags: ,