有哪些有用的提示/工具可用于监控/调整memcached健康状况?

时间:2013-04-19 17:19:02

标签: memcached

昨天,我发现这个很酷的脚本'memcache-top'很好地打印出memcached live的统计数据。看起来像,

memcache-top v0.6       (default port: 11211, color: on, refresh: 3 seconds)

INSTANCE                USAGE   HIT %   CONN    TIME    EVICT/s READ/s  WRITE/s
127.0.0.1:11211         88.8%   94.8%   20      0.8ms   9.0     311.3K  162.8K

AVERAGE:                88.8%   94.8%   20      0.8ms   9.0     311.3K  162.8K

TOTAL:          1.8GB/  2.0GB           20      0.8ms   9.0     311.3K  162.8K
(ctrl-c to quit.)

当你应该注意某些东西时,它甚至会使某些文字变成红色!

Q值。从广义上讲,你用来检查memcached设置得很好的一些有用的工具/技术是什么?

2 个答案:

答案 0 :(得分:19)

访问Memcached服务器实例的良好界面是phpMemCacheAdmin

我更喜欢使用telnet从命令行进行访问。

要使用Telnet建立与Memcached的连接,请从命令行使用以下telnet localhost 11211命令。

如果您希望终止Telnet会话,只需输入quit并点击返回。

通过连接后运行stats命令,可以全面了解Memcached服务器的重要统计信息。

内存在内部分配,并不断重复使用。由于内存被分解成不同大小的平板,如果您的项目不完全适合服务器选择放入的平板,则会浪费内存。

因此,Memcached会根据数据的大小自动将数据分配到内存的不同“平板”(将其视为分区),从而使内存分配更加优化。

要列出所连接实例中的slab,请使用stats slab命令。

更有用的命令是stats items,它将为您提供一个板块列表,其中包括每个板块中商品的计数。

现在您已了解如何列出slab,您可以使用stats cachedump [slab ID] [number of items, 0 for all items]命令在每个slab内浏览以列出其中包含的项目。

如果您想获得该项目的实际价值,可以使用get [key]命令。

要从缓存中删除项目,您可以使用delete [key]命令。

答案 1 :(得分:3)

对于生产系统,您应该使用Monit之类的东西设置Memcache的主动监控(带停机警报,自动重启等)。以下是配置示例:Monitoring Memcache with Monit