Memcached有个stats命令,通过它可以查看Memcached服务的许多状态信息。使用方法如下:
先在命令行直接输入telnet 主机名端口号,连接到memcached服务器,然后再连接成功后,输入stats 命令,即可显示当前memcached服务的状态信息。
比如在我本机测试如下:
stats
STAT pid 1552
STAT uptime 3792
STAT time 1262517674
STAT version 1.2.6
STAT pointer_size 32
STAT curr_items 1
STAT total_items 2
STAT bytes 593
STAT curr_connections 2
STAT total_connections 28
STAT connection_structures 9
STAT cmd_get 3
STAT cmd_set 2
STAT get_hits 2
STAT get_misses 1
STAT evictions 0
STAT bytes_read 1284
STAT bytes_written 5362
STAT limit_maxbytes 67108864
STAT threads 1
END
这里显示了很多状态信息,下边详细解释每个状态项:
1. pid: memcached服务进程的进程ID
2. uptime: memcached服务从启动到当前所经过的时间,单位是秒。
3. time: memcached服务器所在主机当前系统的时间,单位是秒。
4. version: memcached组件的版本。这里是我当前使用的1.2.6。
5. pointer_size:服务器所在主机操作系统的指针大小,一般为32或64.
6. curr_items:表示当前缓存中存放的所有缓存对象的数量。不包括目前已经从缓存中删除的对象。
7. total_items:表示从memcached服务启动到当前时间,系统存储过的所有对象的数量,包括目前已经从缓存中删除的对象。
8. bytes:表示系统存储缓存对象所使用的存储空间,单位为字节。
9. curr_connections:表示当前系统打开的连接数。
10. total_connections:表示从memcached服务启动到当前时间,系统打开过的连接的总数。
11. connection_structures:表示从memcached服务启动到当前时间,被服务器分配的连接结构的数量,这个解释是协议文档给的,具体什么意思,我目前还没搞明白。
12. cmd_get:累积获取数据的数量,这里是3,因为我测试过3次,第一次因为没有序列化对象,所以获取数据失败,是null,后边有2次是我用不同对象测试了2次。
13. cmd_set:累积保存数据的树立数量,这里是2.虽然我存储了3次,但是第一次因为没有序列化,所以没有保存到缓存,也就没有记录。
14. get_hits:表示获取数据成功的次数。
15. get_misses:表示获取数据失败的次数。
16. evictions:为了给新的数据项目释放空间,从缓存移除的缓存对象的数目。比如超过缓存大小时根据LRU算法移除的对象,以及过期的对象。
17. bytes_read:memcached服务器从网络读取的总的字节数。
18. bytes_written:memcached服务器发送到网络的总的字节数。
19. limit_maxbytes:memcached服务缓存允许使用的最大字节数。这里为67108864字节,也就是是64M.与我们启动memcached服务设置的大小一致。
20. threads:被请求的工作线程的总数量。这个解释是协议文档给的,具体什么意思,我目前还没搞明白。
总结:stats命令总体来说很有用,通过这个命令我们很清楚当前memcached服务的各方面的信息。除此之外,我还没有其他方法可以知道这些状态信息。可能还有其他途径,可能我对memcached组件还不太熟悉吧。
分享到:
相关推荐
本文将详细解析如何通过`stats`命令来分析Memcached的运行情况。 首先,`stats`命令是Memcached提供的一种诊断工具,它允许管理员查看服务器的各种统计信息。要使用`stats`命令,你需要通过telnet连接到Memcached...
Memcached提供了丰富的命令集,用于管理和监控缓存状态,例如`get`、`set`、`delete`、`stats`等。 #### 3. 深入Memcached内部:Slab、Page、Item Memcached的核心存储机制是基于slab的。Slab是一种预分配内存的...
深入Memcached内部 ##### Slab与Page机制 Memcached采用slab分配器来管理内存,每个slab class包含一组相同大小的pages。当请求一个对象时,Memcached会查找合适的slab class来存放该对象。如果找不到,则创建一...
Memcached 的其他命令包括 stats、flush_all 和 version 等,分别用于查看 Memcached 的状态、清空 Memcached 中的数据和获取 Memcached 的版本信息。 10. Memcached 内部工作机制 Memcached 的内部工作机制主要...
- **查看memcached的内部状态**:可以使用`stats`命令查看memcached的当前状态信息,包括内存使用情况等。 - **查看slabs的使用状况**:使用`stats slabs`命令可以获得每个slab的详细使用情况。 #### memcached的...
通过 stats 命令,我们可以获取 Memcached 服务器的状态信息,包括但不限于服务器运行状态、缓存使用情况等。由于 stats 系列命令返回的字段较多且较为复杂,本文将对这些字段进行详细的解析。 #### Stats 命令详解...
#### 三、深入理解Memcached内部机制 **1. slab分配机制:** Memcached采用了一种称为slab的内存管理策略。slab被划分为多个slab class,每个class对应一个固定的内存块大小(chunk size)。当需要存储不同大小的...
**2.5 查看 MemCached 的内部状态** 可以使用 `stats` 命令来查看 MemCached 的运行状态和统计信息。 **2.6 查看 slabs 的使用状况** 使用 `stats slabs` 命令可以查看各个 slab class 的详细信息,如已使用的 ...
**2.5 查看memcached的内部状态** 使用`stats`命令可以查看memcached的各种统计信息,包括内存使用情况、命中率等。 **2.6 查看slabs的使用状况** `stats slabs`命令显示每个slab类别的当前状态,帮助管理员了解...
通过对Memcached源码的深入分析,我们不仅理解了其核心功能是如何实现的,还掌握了如何更高效地使用它来提升Web应用的性能。了解这些内部细节对于优化应用程序的缓存策略以及故障排查具有重要意义。
- 可以使用`stats`命令查看Memcached的状态,包括统计信息、内存使用情况等。 - 一些第三方工具,如`memcached-top`,可以帮助可视化和监控Memcached的性能。 7. **故障排查** - 当遇到问题时,检查日志文件是很...
《Memcached源码剖析笔记》是一份深入解析Memcached内部工作原理和技术细节的文档,旨在帮助读者理解这个高性能分布式内存对象缓存系统的设计与实现。Memcached被广泛应用于动态Web应用程序,通过缓存数据和对象,...
Memcached 是一个高性能的分布式内存对象...通过精心设计的数据结构,Memcached 可以在高并发环境下提供低延迟的服务,并有效利用内存资源。理解这些内部结构对于优化 Memcached 实例的性能和解决潜在问题至关重要。
- `stats`:查看服务器状态信息。 - **平台支持**: - **FreeBSD** 和 **Linux** 支持最佳。 - **Windows** 版本存在。 - **Solaris** 1.2.5 版本起支持。 - **macOS** 支持良好。 #### 六、应用程序集成 - ...
Memcached是一种高性能、分布式内存对象缓存系统,其设计初衷是为了加速动态Web应用程序,通过减轻数据库负载来提高网站性能。Memcached在多个大型互联网公司如Facebook、Yahoo、Amazon、LiveJournal和Mixi等中得到...