memcached系统有一个内置的统计系统,通过用于存储单个项目的 slab 分配收集有关存储到缓存中的数据、缓存命中率以及有关内存使用和分布信息的详细信息 。统计信息在提供核心统计信息的基本级别和 memcached服务器特定区域的更具体统计信息中提供。
此信息可用于确保您获得正确级别的缓存和内存使用,并确保您的 slab 分配和配置属性设置在最佳级别。
统计接口可通过标准 memcached协议使用,因此可以通过使用telnet连接到 memcached来访问报告。提供的 memcached-tool支持获取第 16.2.4.2 节“ memcached Slabs 统计”和 第 16.2.4.1 节“ memcached一般统计”信息。有关详细信息,请参阅 第 16.2.4.6 节,“使用memcached-tool ”。
或者,大多数语言 API 接口都提供了从服务器获取统计信息的功能。
例如,要使用 telnet获取基本统计信息:
$> telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.
stats
STAT pid 23599
STAT uptime 675
STAT time 1211439587
STAT version 1.2.5
STAT pointer_size 32
STAT rusage_user 1.404992
STAT rusage_system 4.694685
STAT curr_items 32
STAT total_items 56361
STAT bytes 2642
STAT curr_connections 53
STAT total_connections 438
STAT connection_structures 55
STAT cmd_get 113482
STAT cmd_set 80519
STAT get_hits 78926
STAT get_misses 34556
STAT evictions 0
STAT bytes_read 6379783
STAT bytes_written 4860179
STAT limit_maxbytes 67108864
STAT threads 1
END
当使用 Perl 和Cache::Memcached
模块时,该stats()
函数返回有关连接对象中当前配置的所有服务器的信息,以及所有
memcached服务器作为一个整体的总统计信息。
例如,以下 Perl 脚本获取统计信息并转储返回的哈希引用:
use Cache::Memcached;
use Data::Dumper;
my $memc = new Cache::Memcached;
$memc->set_servers(\@ARGV);
print Dumper($memc->stats());
当在与上面的Telnet示例中使用 的相同的memcached上执行时,我们通过主机和总统计信息获得主机的哈希引用:
$VAR1 = {
'hosts' => {
'localhost:11211' => {
'misc' => {
'bytes' => '2421',
'curr_connections' => '3',
'connection_structures' => '56',
'pointer_size' => '32',
'time' => '1211440166',
'total_items' => '410956',
'cmd_set' => '588167',
'bytes_written' => '35715151',
'evictions' => '0',
'curr_items' => '31',
'pid' => '23599',
'limit_maxbytes' => '67108864',
'uptime' => '1254',
'rusage_user' => '9.857805',
'cmd_get' => '838451',
'rusage_system' => '34.096988',
'version' => '1.2.5',
'get_hits' => '581511',
'bytes_read' => '46665716',
'threads' => '1',
'total_connections' => '3104',
'get_misses' => '256940'
},
'sizes' => {
'128' => '16',
'64' => '15'
}
}
},
'self' => {},
'total' => {
'cmd_get' => 838451,
'bytes' => 2421,
'get_hits' => 581511,
'connection_structures' => 56,
'bytes_read' => 46665716,
'total_items' => 410956,
'total_connections' => 3104,
'cmd_set' => 588167,
'bytes_written' => 35715151,
'curr_items' => 31,
'get_misses' => 256940
}
};
统计信息被分成许多不同的部分,然后可以通过将类型添加到
stats
命令来请求。以下部分将更详细地介绍每个统计输出。
一般统计信息,请参阅 第 16.2.4.1 节,“ memcached一般统计信息”。
Slab 统计信息 (
slabs
),请参阅 第 16.2.4.2 节,“ memcached Slabs 统计信息”。项目统计信息 (
items
),请参阅 第 16.2.4.3 节,“ memcached项目统计信息”。大小统计 (
sizes
),请参阅 第 16.2.4.4 节,“ memcached大小统计”。详细状态 (
detail
),请参阅 第 16.2.4.5 节,“memcached
详细统计信息”。