12
NOV

Forum PHP 2010 - Résumé des conférences du 1er jour

Publié le 12/11/10 à 10h08 par DJo

Voici notre résumé de la première journée du Forum PHP, un jour bien chargé avec plusieurs conférences très intéressantes (Rasmus Lerdorf, Cyril Pierre de Geyer, Weka ...). 

15 ans avec PHP

Cette nouvelle édition du forum PHP organisée par l'afup célébrait à la fois les 10 ans de l'association et les 15 ans de la création de PHP.

Pour la première fois, depuis sa création les organisateurs ont été obligés de clôturer les inscriptions une semaine avant la date prévue. Nous étions ainsi près de 500 participants contre 300 pour l'édition précédente.

 

PHP, son écosytème : passé, présent et futur

La première conférence ne pouvait pas mieux commencer. En effet, qui d'autre que son créateur pouvait nous raconter l'histoire de PHP: Rasmus Lerdorf .

L'histoire de PHP

 

Après quelques petits problèmes techniques de Mac / vidéoprojecteurs, Il commença sa présentation par raconter son origine. De son Groenland natal, il déménage vers le Danemark puis change de continent pour aller s'installer au Canada.

En 1993, il part s'installer à Mountain View et c'est là que commence l'histoire de PHP. Personal Home Page Tools sort en version 1 en 1994/1995. D'abord écrit en PERL, il sera complètement réécrit en C à partir de la version 2 en 1995.

Depuis la version de PHP 3, ce n'est plus uniquement son code, plusieurs contributeurs participent à cette nouvelle version.

Si PHP 6 est mort-né, c'est avant tout un problème de cohésion au sein de la Core Team quand à la résolution des problèmes d'unicode.

 

Lire notre interview de Rasmus Lerdorf

 

Canal+: Retours sur expérience sur leur industrialisation de PHP

Canal+: Retours sur expérience sur leur industrialisation de PHP

Avant de commencer notre session d'interviews, nous avons assité brièvement aux retours d'expériences de Canal + sur l'Industrialisation PHP animé par la DSI de la chaîne et un de leurs intégrateurs.

La célèbre chaîne cryptée a fait le choix de virtualiser son environnement de production.

Alors qu'en général les entreprises recherchent plutôt à rationnaliser et mutualiser leurs développements, ils ont plutôt optés pour l'effet inverse : diversifier leurs plateformes (Symfony, Zend, eZPublish,…) pour ne pas être dépendants d'une seule techno.

Pour l'automatisation des déploiements, découverte de Capistrano.

 

Migration d'une base de code subversion vers git

Après la pause déjeuner et l'interview de Rasmus Lerdorf, direction la conférence de Geoffrey Bachelet, toujours fidèle à lui-même, habillé en bermuda (@ubermuda).

Migration Subversion vers git

Contrairement à subversion qui nécessite d'avoir toujours une connexion au serveur de dépot pour effectuer ses versionnings, GIT est un système de versionning décentralisé : chaque utilisateur dispose d'une copie en local permettant d'effectuer des commit en mode offline.

La migration s'effectue à l'aide de l'utilitaire git-svn. Suivant la taille de son répertoire svn intial, la durée d'import peut-être très long. S'ils se situent sur la même machine, il vaut mieux importer un dépôt local à l'aide du path interne ( file:///path/to/svn ).

Un projet Git peut-être herbergé par un tiers ou en interne.

Initialement annoncé comme devant être une "Présentation de GIT", certaines personnes semblaient un peu perdues, ne connaissant pas vraiment GIT alors que d'autres semblaient avoir trouver les réponses à leurs questions.

En ce qui nous concerne, la conférence a confirmé notre volonté d'effectuer des tests poussés de cette nouvelle forme de versionning décentralisée avant de basculer ou non définitivement de subversion à git.

 

Les slides de la conférence

 

Comment améliorer les performances de votre application LAMP

Comment améliorer les performances de votre application LAMP

Cette année, une thématique dédiée à l'optimisation des peformances des sites web avait été mise en place.

Cette conférence était présentée par Cyril Pierre de Geyer (co-auteur du livre PHP 5 avancé) et Guillaume Plessis ( créateur du projet Dotdeb pour Debian).

Pour optimiser son application web, il faut :

1) Savoir ce qui se passe. Pour celà, il faut loguer les évènements et debug :

  • Apache : les accès (seulement en environnement de devs) et les erreurs
  • PHP : les erreurs et utilisé Xdebug pour du profiling
  • MySQL : les requêtes lentes & sans index et le journal des requêtes.

Il faut aussi monitorer son application pour s'assurer de la disponibilité et stabilités :

  • Au niveau bas niveau (réseau, hardware, OS ) : Nagios, Zabbix (ou Cacti, Munin)
  • Au niveau applicatif PHP : Pinba

2) Analyser pour gagner en performance : xdebug, KcacheGrind, WebGrind,…

3) Simuler en rejouant les tests dans le même contexte : Jmeter, Funkload, Siege, ab.

4) Améliorer. Après chaque amélioration, il faut refaire un tir de charge pour vérifier le changement.

Au niveau PHP :

  • Optimiser les opcodes à l'aide d'un accélérateur PHP (APC, Xcache, Zend Optimizer…).

->  Un APC avec 256 voir 512Mo dédié selon la machine.

Au niveau APACHE :

  • Régler les KeepAlive, ServerLimit, MaxClients et MaxRequestsPerChild.
  • Compresser les données avec mod_gzip / mod_deflate
  • Désinstaller les modules non-utilisés
  • Pour le contenu statique, utiliser des serveurs web plus otpimisés pour cet usage comme nginx, lighttpd

Au niveau MySQL :

  • Bon système : Linux avec un noyau 2.6 et en 64 bits
  • Optimisation des requetes

 

Les slides de la conférence

 

Jeux sociaux & Cloud computing : une histoire de scalabilité

Pour terminer cette première journée de conférence, nous avons assisté au retour d'experience de Laurent Letourmy, CTO de Weka Entertainment : le leader français du social gaming avec cafe.com et ses applications facebook comme Is Cool.

Weka - Retour d'expériences Facebook

L'entreprise a commencé l'aventure Facebook en octobre 2008, par un jeu que certain d'entre vous connaissez peut être: Is Cool.

Le concept était très simple et à la base voué à tester les fonctionnalités virales de Facebook.

Le résultat était là, en 7 mois, l'application est passée de 0 à 850 000 utilisateurs uniques.

Ils nous ont donc expliqué comment ils ont du faire pour répondre techniquement à des pics de trafic spécifiques à leur application Facebook:

  • Des pics de charges autour de 18h jusqu'à 21h, jusqu'à 48 000 utilisateurs simultannés.
  • Un grand nombre de requêtes HTTP à la seconde: 7,5M de PV / jour et environ 160 PV / seconde.


Leur solution: Un ensemble d'outils et règles appliqués:

GIT: Indispensable chez eux, grâce à GIT, ils mettent tous les jours en production
Ils ont la possibilité de choisir quels tickets mettre en production à chaque fois.
Et si un problème apparait en production, il suffit de faire un rollback pour retrouver les modifications de la veille.


QoS: Etablissement d'une "charte" de Qualité de service
Après avoir cherché les bonnes métriques et valeurs associés, ils ont établi la charte suivante:
Le temps de génération des pages doit être de 2secondes maximum.
Ils ont ainsi monitoré chacune de leur page puis l'ensemble de leur trafic pour améliorer leur QoS.
Indispensable d'après Laurent Letourmy.
Seul problèmes, les aléas de Facebook qu'ils ne peuvent pas contrôler (Mise à jour des serveur Facebook, latences de l'API...)


Pinba: Pour mesurer et monitorer le QoS, ils utilisent Pinba.
Permet de comprendre l'impact des ressources externes: Facebook, MySQL, Memcached ...


Redis: Il s'agit d'une BDD NoSQL de type stockage Key-Value
Permet de gérer une meilleure scalabilité des BDD
Il a été choisi pour sa puissance fonctionnelle et ses performances (> 100 000 opérations/seconde)


DevOP: DevOP est une méthodologie de travail entre développeurs, lead et admin système situé dans le même espace de travail.

 

L'architecture utilisée par Weka est une architecture Full Cloud. Il nous recommande d'ailleur de toujours penser à coder en mode "scale" pour pouvoir switcher sur du cloud le jour ou l'application sera populaire.

Slide de la conférence

 

Pour aller plus loin

Le programme des conférences étant assez denses cette année, et ayant l'opportunité d'effectuer des interviews pendant le forum, nous n'avons pas pu assistés à toutes les conférences. Néanmoins, vous pouvez retrouver ci-dessous une sélection de slides des présentations disponibles :

 

Baraguiné par le 12/11/10 à 11h11
Joli résumé. Je n'ai pas pu être là cette année, je vais feuilleter tous les slides tout seul dans mon coin du coup :)
Baraguiné par zetoun17 le 13/11/10 à 16h17
zetoun17 sur La Ferme du Web
que signifie 'coder en mode "scale"' ?
Baraguiné par Ouark le 13/11/10 à 18h54
Ouark sur La Ferme du Web
@zetoun17 : En fait, ce n'est pas une technique de codage.
Le scale/code : c'est augmenter le nombre de serveurs temporairement le temps de réoptimiser son code et ainsi stabiliser le temps de réponses de ses pages web pendant ce laps de temps.

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web