
# 查看DCS实例会话的客户端信息
当DCS实例出现性能问题或异常操作时，DCS的会话管理功能，可以帮助快速定位和解决问题。该功能支持实时查看目标实例会话的客户端连接信息，执行的命令和连接时长等信息，并支持根据业务需求终止异常会话。
#### 约束与限制
- 会话管理仅显示外部客户端连接信息，不显示通过Web-Cli连接的信息。
- 会话管理目前仅在"北京一"、"北京四"、"上海一"、"上海二"、"广州"、"贵阳一"区域支持。
- Redis 4.0及以上版本的实例，支持会话管理功能。Redis 3.0版本实例可以通过执行Client List命令，查询客户端IP信息。
- 如果实例未开启源IP透传，查询的"addr"并非客户端真实IP，会显示"198.19.xxx.xxx"内部私网占用IP。
- 如果要查询真实的客户端IP，请参考[开启客户端IP透传](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0220512.html)。在开启客户端IP透传之后，新建的客户端连接对应的"addr"才会显示为客户端真实IP。
 
#### 查看DCS实例的客户端连接信息
1. 登录[分布式缓存服务管理控制台](https://console.huaweicloud.com/dcs)。
2. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001549115173.png)，选择实例所在的区域。
3. 单击左侧菜单栏的"缓存管理"。
4. 在缓存管理页面，单击需要查看的缓存实例的名称，进入该实例的概览页面。
5. 单击"会话管理"。
6. 在会话管理页面，可以显示当前连接该实例的客户端会话信息。 
   - Proxy集群和读写分离实例查询的是连接单Proxy节点的会话信息，单机、主备和Cluster集群实例查询的是连接单数据节点的会话信息。
   
   - 在页面中，可以选择需要查询的数据节点或Proxy节点、输入并查询指定的会话地址、更新查询信息、及设置会话的显示项。
   
   - 如果实例未开启源IP透传，查询的"addr"并非客户端真实IP，会显示"198.19.xxx.xxx"内部私网占用IP。
   
   - 如果要查询真实的客户端IP，请参考[开启客户端IP透传](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0220512.html)。在开启客户端IP透传之后，新建的客户端连接对应的"addr"才会显示为客户端真实IP。
   
   
   图1会话管理   
   ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001750219812.png "点击放大")
   表1会话字段说明 
   | 字段        | 描述                                                                                         |
   |:---|:---|
   | ID        | 会话的唯一ID标识。                                                                                 |
   | addr      | 会话地址。如果Redis开启了IP透传，该地址为客户端IP地址；如果Redis未开启IP透传，该地址为内部私网占用IP。                               |
   | name      | 客户端名称，可通过代码中的setClientName(...) 配置，如果未配置则该字段为空。                                            |
   | cmd       | 最近一次执行的命令。                                                                                 |
   | age       | 连接的时长，单位：秒。                                                                                |
   | idle      | 连接空闲的时间，单位：秒。                                                                              |
   | db        | 最近一次执行命令的DB标识，例如DB0，则该字段显示0。                                                               |
   | flags     | 连接标志位，M表示来自主节点的连接，S表示来自从节点的连接，其余标志请参考：<https://redis.io/docs/latest/commands/client-list/> |
   | fd        | 连接FD。                                                                                      |
   | sub       | 当前连接普通订阅的Channel数量。                                                                        |
   | psub      | 当前连接模式订阅的Channel数量。                                                                        |
   | multi     | 通过事务/LUA方式执行的命令数量，如果未执行过该字段显示-1。                                                           |
   | qbuf      | 输入缓冲区的空间大小（字节数）。                                                                           |
   | qbuf-free | 输入缓冲区的剩余空间大小（字节数）。                                                                         |
   | obl       | 输出缓冲区的长度。                                                                                  |
   | oll       | 输出缓冲区的列表长度。                                                                                |
   | omem      | 输出缓冲区的空间大小（字节数）。                                                                           |
   | events    | 连接FD上产生的可读、可写事件。读事件：r，写事件：w。                                                               |
      
   
   
7. 选择需要kill的会话，单击"kill选中会话"可断开选择的客户端连接，也可以选择"kill全部会话"。 
   如果所kill的客户端具备重连机制，断开后会自动重连。
   
   
8. 如果需要导出客户端连接数据，单击"导出"，可以选择导出全部或部分已选中的连接数据。
 
#### 相关文档
DCS支持通过API执行会话管理操作，相关接口请参见[会话管理](https://support.huaweicloud.com/api-dcs/topic_300000015.html)。
