93 votes

Comment savoir si memcached fait quelque chose?

Je teste en utilisant memcached pour mettre en cache les vues Django. Comment savoir si memcached met en cache quelque chose à partir de la ligne de commande Linux?

52voto

Node Points 7859

Vous pouvez utiliser telnet et la commande stats, par exemple:

 # telnet localhost [memcacheport]
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 2239
STAT uptime 10228704
STAT time 1236714928
STAT version 1.2.3
STAT pointer_size 32
STAT rusage_user 2781.185813
STAT rusage_system 2187.764726
STAT curr_items 598669
STAT total_items 31363235
STAT bytes 37540884
STAT curr_connections 131
STAT total_connections 8666
STAT connection_structures 267
STAT cmd_get 27
STAT cmd_set 30694598
STAT get_hits 16
STAT get_misses 11
STAT evictions 0
STAT bytes_read 2346004016
STAT bytes_written 388732988
STAT limit_maxbytes 268435456
STAT threads 4
END
 

51voto

lettertwo Points 488

Je sais que cette question est ancienne, mais ici, c'est une autre approche utile pour les tests de memcached avec django:

@Jacob mentionné, vous pouvez commencer à memcache en très mode verbose (pas comme un démon):

memcached -vv

Pour tester votre django cache de la configuration, vous pouvez utiliser le faible niveau de l'api de cache.

  1. D'abord, lancer l'interpréteur python et charge votre projet django paramètres:

    python manage.py shell
    
  2. À partir du shell, vous pouvez utiliser le faible niveau de l'api de cache pour tester votre serveur memcache:

    from django.core.cache import cache
    cache.set('test', 'test value')
    

Si votre cache de configuration est correcte, vous devez voir un résultat dans memcache similaire à ceci:

<32 set :1:test 0 300 10
>32 STORED

10voto

MikeN Points 8490

Moyen Simple de tester pour memcache de travail était de se faufiler dans un commentée horodatage sur chaque page servi. Si le timestamp est resté le même sur plusieurs requêtes à une page, la page est mise en cache par memcache.

Dans Django réglages, j'ai aussi configurer le mécanisme de cache pour utiliser un fichier de cache sur le système de fichiers (très lent), mais après avoir atteint les pages que j'ai pu voir qu'il cache les fichiers placés dans le chemin d'accès au fichier afin que je puisse confirmer la mise en cache a été active dans Django.

J'ai utilisé ces deux étapes pour le travail de mon problème de mise en cache. Je n'avais vraiment pas de mise en cache activée correctement dans Django. La nouvelle méthode pour activer la mise en cache est à l'aide de la 'django.middleware.le cache.CacheMiddleware' middleware (pas le middleware avec deux middleware pièces à la première/dernière middleware paramètres.)

3voto

Tejaswi Sharma Points 11

Vous pouvez tester memcached ou n'importe quel serveur avec le script ci-dessous

 lsof -i :11211 | grep 'LISTEN'>/dev/null 2>/dev/null;echo $?
 

s'il renvoie 0 alors le serveur est en cours d'exécution ou si 1 ne l'est pas si vous voulez savoir que le serveur est en cours d'exécution sur un port, utilisez le script suivant

 lsof -i :11211 | grep 'LISTEN'>/dev/null 2>/dev/null;
if [ $? -eq 0]; then
    echo "Your memcache server is running"
else
    echo "No its not running"
fi
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X