12

昨天,我发现了这个很酷的脚本“ memcache-top ”,它可以很好地打印出 memcached 的实时统计信息。看起来像,

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.)

当您应该注意某事时,它甚至会使某些文本变红!

问:概括地说,您使用了哪些有用的工具/技术来检查 memcached 是否设置良好?

4

2 回答 2

19

访问 Memcached 服务器实例的良好接口是phpMemCacheAdmin

我更喜欢使用telnet.

要使用 Telnet 连接到 Memcached,请从命令行使用以下telnet localhost 11211命令。

如果您想随时终止 Telnet 会话,只需键入quit并按回车键。

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

内存在内部以块的形式分配并不断重复使用。由于内存被分成不同大小的板块,如果你的项目不能完全适合服务器选择放入的板块,你就会浪费内存。

因此,Memcached 会根据您的数据大小自动将您的数据分配到不同的内存“平板”(将这些视为分区),这反过来又使内存分配更加优化。

要列出您连接到的实例中的平板,请使用该stats slab命令。

一个更有用的命令是stats items,它将为您提供一个平板列表,其中包括每个平板中存储的项目的计数。

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

如果要获取该项目的实际值,可以使用get [key]命令。

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

于 2013-04-23T00:33:18.020 回答
3

对于生产系统,您应该使用Monit之类的东西真正设置 Memcache 的主动监控(包括停机警报、自动重启等)。这是一个示例配置:使用 Monit 监控 Memcache

于 2013-07-09T14:35:50.883 回答