通过cmemcache或Django访问memcached统计信息时返回警告
我的Django应用程序通过cmemcache使用memcached。在我尝试监控它的使用情况时,出现了一个问题:
我试着通过Django和cmemcache访问memcached提供的统计信息:
Django:
from django.core.cache import cache
cache._cache.get_stats()
[WARN@1257320533.841286] mcm_server_stats():3027: unknown stat variable: pointer_size
cmemcache:
import cmemcache
client=cmemcache.Client(['127.0.0.1:62656',])
client.get_stats()
[WARN@1257321135.126632] mcm_server_stats():3027: unknown stat variable: pointer_size
我得到的只是一个警告,什么有用的信息都没有。不过,memcached本身可以正常提供统计信息:
telnet 127.0.0.1 62656
stats
...
cmemcache的网页上提到“libmemcache-1.4.0.rc2与memcached 1.2.1不兼容,这导致get_stats返回没有统计信息”。我的应用运行在Debian上,memcached的版本是1.2.2。我不知道是否还有不兼容的问题。
有没有人遇到过这个问题并找到了解决办法?
1 个回答
1
首先,你不应该使用那些版本的memcached。它们有很多已知的错误,而且已经很多年没有更新了。
其次,我们经常会给memcached添加新的统计信息,所以如果这些库在遇到新统计信息时出现问题,你应该去找它们的作者反映情况。
另外,我觉得cmemcache这个库已经不再维护了。它是基于一个已经被淘汰的memcached C库,这个库有几个已知的错误。使用这个库的用户被建议迁移到libmemcached。