Mettre en place un serveur de cache distribué: memcached

Comment accélérer des requêtes SQL, récupérer des images (comme des vignettes) ultra rapidement ou encore gérer des millions de cookies de manière distribué…

Première solution : Ajouter des serveurs … :-(


Servers or memcached

Autre solution : mettre en place un stockage rapide et partagé qui regroupe l’ensemble de ces données.

Nouveau problème, comment gérer la mise à jour des données pendant la lecture, gérer les lock, le multi threading pour répondre aux requêtes… Bref cela devient un réel projet et donc un développement à part entière.

Pour éviter ce type développement et mettre en place une architecture solide et fiable il existe une solution toute prête…memcached. Ce logiciel crée un serveur contenant un ‘gros tableau’. Pour chaque clef, une valeur. Et c’est tout !

Vous l’aurez compris la clef peut être une requête, une url, un userId, ou n’importe quel MD5/hash représentant un élément à mettre en cache.

Il existe des API pour le PHP, le Ruby, le Java, le Python, et bien d’autres, tous les détails ici : http://danga.com/memcached/

Pour l’installation je vous conseille cette page : http://blog.ajohnstone.com/archives/installing-memcached/

Bon tests et j’espère bonne utilisation.

Vos commentaires sur son utilisation sont les bienvenus.

Sur le même thème :

6 Responses to “Mettre en place un serveur de cache distribué: memcached”

  1. [...] Enfin, il reste Amazon, mais sur des grosses volumétrie en bande passante (pas en terme d’espace disque) les solutions maison sont également plus économiques. C’est étonnant vu les prix, mais en regardant de très près une architecture bien optimisée et plus rentable (Ex memcached). [...]

  2. [...] de cache. Ils permettent de donner un peu d’air à un système extrêmement sollicité. Ce type de cache sur BDD permet de démultiplier (x10) l’exécution des requêtes [...]

  3. [...] 10 000 serveurs près de 20% sont des serveurs MySQL, ils sont épaulés par un petit millier de serveurs memcached. Au niveau hardware il s’agit de serveurs Rackable, encore peu connu en France mais utilisé [...]

  4. [...] déjà présenté memcached (un excellent outil pour mettre en RAM n’importe quel couple clef <-> valeur). [...]

  5. [...] l’outil idéal pour ‘cacher’ une base c’est MemCache. En effet, Memcached est parfait pour aider une base de données sur laquelle les requêtes sont complexes ou dans le cas qu’une base non/mal [...]

  6. [...] 4 : La complexité commence : Ajouter du memcached (ou autre), les réplications entre les bases de données deviennent trop gourmandes en ressources [...]

Leave a Reply