WordPress en mode turbo avec memcache et pecl

le 27 avril 2009 à 11:07 par mrboo

J’avais déjà fait un billet sur une autre méthode mais elle était beaucoup moins efficace et plantait parfois.

Ce blog est hébergé sur un mini serveur dédié ovh (rps1)
Le gros défaut de ces miniserveurs: leur disque SAN (en réseau donc), la vitesse de ce type de disque est sans commune mesure avec un disque dur conventionnel.
Résultat, le blog est lent y compris en activant les systèmes de cache (ceux-ci se font sur le disque dur…)
L’astuce consiste donc à placer le cache du blog en mémoire vive (RAM), pour cela on va installer memcached.

La distribution Linux est une Debian Etch.

1- Installer memcached:
(logué en root)
apt-get install memcached

2- Installer le module pecl:memcache
pecl install memcache
prérequis:
apt-get install php5-dev

3- Ajouter l’extension memcached à PHP:
Dans le fichier php.ini ajouter la ligne
extension=memcache.so

4- Redémarrer apache
/etc/init.d/apache2 restart

5- Copier le fichier object-cache.php dans le répertoire /wp-content de votre blog.
Le fichier est disponible sur le blog de son concepteur.

et hop! vous devriez avoir un blog qui tourne à la vitesse de la lumière ;)

formula-one
cc

11 commentaires pour “WordPress en mode turbo avec memcache et pecl”

Aller au dernier commentaire | retourner à la racine du blog
  1. 1Gonzague dit :

    je ne vois pas la différence avec … l’ancien système ? :D

    enfin moi ce que tu décris ici n’a pas permis à mon dédié de gérer plusieurs caches à la fois :s

  2. 2mrboo dit :

    Gonzague> promis c’est différent ;)
    Le précédent n’utilisait pas la connexion à memcached via pecl qui est beaucoup plus performante.
    Sinon pour la gestion des caches multiples:
    Tu veux dire plusieurs dépots memcached sur le même server ? (pour avoir plusieurs wp sur le même server sans qu’il se marchent sur les pieds) ?
    Si c’est au contraire d’avoir plusieurs serveurs memcached pour un même blog ça doit pouvoir se faire facilement via le script dont je parle: Ligne 17
    $memcached_servers[] = array( ‘host’ => ’127.0.0.1′, ‘port’ => 11211, ‘persistant’ => true );

  3. 3Gonzague dit :

    je l’avais bien essayée cette méthode :P

    et il ne faut pas plusieurs memcached par blog il faut un memcached pour plusieurs blogs uhu

    Pour ce qui est du reste je sais pas comment j’avais compilé mon memcached hihi

  4. 4mrboo dit :

    Gonzague> tu dois pouvoir faire tourner plusieurs memcached en leur réservant chacun un port différent, ensuite il suffit de faire pointer chaque blog vers un port différent.

  5. 5Gonzague dit :

    Nan ce que je te dis moi c’est que je veux faire tourner *un* memcached servant plusieurs blogs ( écrit dans le com 3 :P )

  6. 6Samy dit :

    ça marche sur du mutualisé OVH ?

    Ok, je sors…

  7. 7Maxime dit :

    Gonzagues > memcached se base sur une clé pour enregistrer et récupérer le cache.
    Dans le plugin indiqué, il prend en compte la constante ABSPATH (dossier du blog sur le serveur) pour générer la clé, donc tu peux librement faire tourner plusieurs blogs (qui auront des dossiers différents) avec un seul serveur memcached.

  8. 8mouarf dit :

    faites péter le champagne et les biatch

  9. 9ophise dit :

    keskidi mais keskidi donc ??? :)

  10. 10Geo174 dit :

    Tu parles de memcache comme alternative à un serveur avec baie SAN mais tu te trompes et je connais mon sujet puisque suis hébergeur…

    La mémoire vive est bein plus rapide que n’importe quel disque donc tu as raison sur les perfs de memcache ; en revanche, si ton mini serveur est lent, ce n’est pas à cause du SAN mais des disques SATA 7200 RPM de la baie (comme sur les dédiés d’ailleurs) mais tu ne paies pas le même prix que si tu disposais d’une baie SAS 15000 RPM en Fibre-Channel !

    Si tu veux des perfs, oublie le mini serveur OVH… et procure toi un vrai serveur virtuel avec pool CPU burstable… là tu aura de la puissance.

  11. 11mrboo dit :

    Geo174> mon mini-serveur ovh n’a pas pour autre ambition que de faire joujou je te rassures ;)
    En tous cas, merci pour le feedback sur les SAN.
    Le seul truc que je constate c’est que l’utilisation du SAN (toujours dans le cas de mon mini OVH) est beaucoup plus lente qu’un simple disque SATA 7200 tr.
    En + d’être équipé de disques « lents » il est probable que nous soyons extrêmement nombreux sur le SAN.

Vu sur Twitter

Voici quelques tweets qu'il me semble intéressant de relayer ici.

@w_a_s_t_e Comment vérifier que les contenus des serveurs d'une réplication MySQL sont bien synchronisés http://bit.ly/aEF10q
@Charles_Liebert My good deeds... HUGE: Facebook Lets Publishers Contact “Likers” http://bit.ly/d7OO3O
@nitot RT @shappy85, @TechCrunch: Firefox Just Perfected Tabbed Browsing. It’s Like Apple’s Expose + Spaces http://tcrn.ch/cBdFoZ
@yesibuzz RT @denismigot: Bjr,je suis à la recherche d'un poste de chef de projet web/print http://tiny.cc/9rk5c #emploi #job @cvdujour @mrboo
@denismigot Bjr,je suis à la recherche d'un poste de chef de projet web/print http://tiny.cc/9rk5c #emploi #job @cvdujour @mrboo
@Pome_Granate @cvdujour Voici mon cv... pour un poste d'assistante marketing en alternance dès sept 2010 http://www.doyoubuzz.com/esther-meranville
@Korben RT @FHDR: w0of! Didier Porte sa premiere chronique chez @SI : " Hess Val les pantins de l'Elysée" http://bit.ly/an0zM1 manif ce soir à 18h
@xuoan Analyse de la home de Basecamp et du parcours d'inscription : http://xu.tl/2Q Peu de hasard chez 37signals...
@LaFermeDuWeb Une classe PHP pour utiliser l'API Google Translate facilement: http://fdw.lu/aCb
@LaFermeDuWeb Un slider à l'effet 3D avec Mootools: http://fdw.lu/aCB
@BlouLapinou @mrboo C'est pas tout à fait le même, mais ça devrait aller: http://bit.ly/cOSz10
@jcfrog oh punaise, @loic parle français! ça m'a surpris :) http://goo.gl/mFeU keynote marques et réseaux sociaux
@Charles_Liebert My good deeds... Landing Pages That Convert | Chance Barnett http://bit.ly/a68k4s
@xuoan Chez Smashing, 10 outils pour déposer et gérer des noms de domaine : http://xu.tl/1l
@creaplume @cvdujour : chargée de communication et / ou infographiste polyvalente web et print - RA - mon cv : http://www.creaplume.net/mr2010.pdf
@EddyPierre http://www.doyoubuzz.com/eddy-pierre-larra : voici mon CV, je recherche un poste dans la traduction, pouvez-vous RT svp ?? merci beaucoup
@w_a_s_t_e Pour les germanophones (slides en anglais pour les autres), une leçon d'optimisation et de scaling MySQL http://tinyurl.com/28wccr7 #li
@w_a_s_t_e Vous pensez savoir ce qu'est le Load Average? Rien n'est moins sûr. http://tinyurl.com/mjtnx (article en plusieurs parties)
@w_a_s_t_e BigPipe, un procédé PHP+Javascript utilisé par Facebook pour découper & servir ses pages Web de façon performante http://tinyurl.com/2dk55xb
@adelivet #frenchmobile grapple "une application pour tous". Création d'appli mobile native pour tous les mobiles du marché. Résoud le pb des devices