web-dev-qa-db-fra.com

Utiliser Memcache efficacement avec Drupal 7 Multisite

Je fixe un taux de réussite de 55% sur notre instance memcache (v1.4.4) et je me demande ce qui peut être fait pour améliorer le taux de réussite. Nous sommes dans une configuration multisite (plus de 30 sites), avec deux serveurs Web à charge équilibrée; il existe une instance de memcached sur chaque serveur Web.

Dans le settings.php, J'ai:

$conf['memcache_servers'] = array(
         '11.22.33.44:11211' => 'default',
         '11.22.33.45:11211' => 'default',
      );
$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

J'envisage d'utiliser des bacs pour améliorer le taux de réussite, mais j'ai rencontré des suggestions selon lesquelles le dernier module memcache le fait déjà, mais je ne suis pas sûr car les instructions avec le module contiennent des instructions sur la configuration des bacs.

Si les bacs sont en route, comment déterminez-vous ce que (table?) A besoin d'avoir son propre bac? Ce sont les tables de cache que j'ai dans mes sites:

cache
cache_admin_menu (empty)
cache_block (empty)
cache_bootstrap
cache_field
cache_filter (empty)
cache_form (empty)
cache_image (empty)
cache_media_xml (empty)
cache_menu
cache_page (empty)
cache_path (empty)
cache_token (empty)
cache_update (empty)
cache_views
cache_views_data (empty)
ctools_css_cache (empty)
ctools_object_cache (empty)

En plus des bacs, que puis-je faire d'autre pour améliorer l'utilisation des memcaches?

Merci beaucoup!

12
KM.

Après de nombreuses recherches, voici ce qui a contribué à notre taux de réussite et à l'utilisation de Memcached:

  • Memcached mis à niveau vers 1.4.10 (la dernière version avec des améliorations de performances)
  • Format binaire et compression activés
  • Utiliser la valeur par défaut pour les bacs

Notre conf memcached dans settings.php ressemble maintenant à ceci:

$conf['memcache_bins'] = array('cache' => 'default');
$conf['memcache_options'] = array(
  Memcached::OPT_COMPRESSION => TRUE,
  Memcached::OPT_BINARY_PROTOCOL => TRUE,
  );
$conf['memcache_persistent'] = TRUE;
$conf['memcache_key_prefix'] = $_SERVER['SERVER_NAME'];

plus gros gains

Le gain le plus important pour nous a été d'activer la compression, même si les documentations indiquent qu'elle augmente les cycles du processeur. Nous avons 4 CPU alloués à notre VM, et nous n'avons pas remarqué de différence. Le temps pour les appels memcached est passé de ~ 1250 ms à ~ 150 ms (obtenu auprès de NewRelic) pour créer un élément de contenu (article personnalisé dans notre cas).

Taux de réussite

Notre taux de réussite est maintenant de ~ 70% - bien mieux que 55% plus tôt, mais pas calme les 90% + que certains ont rapportés ... la quête continue (-:

J'espère que cela aide quelqu'un d'autre. Si vous rencontrez d'autres améliorations ou avez des corrections/suggestions, veuillez poster des commentaires ou des réponses.

Mise à jour - Version du module memcahe

Nous sommes passés de la version 1.0-beta4 à 1.0 et notre taux de réussite est désormais de 87%. J'ai dû redémarrer memcached car le taux de réussite n'allait pas au-delà de 70%. Nous avons 64 Mo alloués à memcached pour le moment, donc ce n'était pas un gros problème pour nous.

13
KM.