服务端连接和客户端连接

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】
obcp v4教程中介绍的客户端连接和服务端连接查看方式,如下:
一.客户端连接查看方式
通过ODP Ip +2883端口连接
1.
show processlist
2.
show proxysession
发现两种方式返回的结果不一样

二.服务端连接查看
1.
直连observer,执行show processlist
2.
a.直连observer,执行show full processlist;
b.通过ODP执行show full processlist
3.
通过视图gv$ob_processlist
发现show processlist和show full processlist区别不大
请问哪位可以详细解释下

1 个赞

@论坛小助手

客户端连接和服务端连接的查看方式确实有所不同,以下是详细的解释和对比:

客户端连接查看方式

  1. show processlist;

    • ODP (OceanBase Proxy): 通过 ODP 连接时,show processlist 命令展示的是客户端和 ODP 之间的连接,而不是 ODP 和 OBServer 节点之间的连接。
    • ODP: 这条命令主要用于查看客户端连接的状态,包括客户端 IP、用户、状态等信息。
  2. show proxysession;

    • ODP: 通过 ODP 连接时,show proxysession 命令可以查看更详细的客户端连接信息,包括会话属性、连接 ID 等。
    • 示例:
      show proxysession attribute 2 like '%id%';
      
      输出示例:
      +------------------------+--------------------+----------------+
      | attribute_name         | value              | info           |
      +------------------------+--------------------+----------------+
      | proxy_sessid           | 756006681247547396 | cs common      |
      | cs_id                  | 2                  | cs common      |
      | tid                    | 2230520            | cs common      |
      | pid                    | 2230520            | cs common      |
      | last_insert_id_version | 0                  | cs var version |
      | server_sessid          | 2147549201         | last used ss   |
      | ss_id                  | 4                  | last used ss   |
      | last_insert_id_version | 0                  | last used ss   |
      +------------------------+--------------------+----------------+
      

服务端连接查看方式

  1. 直连 OBServer

    • show processlist;
      • 直接连接 OBServer 节点,执行 show processlist 命令可以查看 OBServer 节点上的连接信息。
    • show full processlist;
      • 直接连接 OBServer 节点,执行 show full processlist 命令可以查看更详细的连接信息,包括查询语句等。
  2. 通过 ODP 连接 OBServer

    • show full processlist;
      • 通过 ODP 连接 OBServer 节点,执行 show full processlist 命令也可以查看 OBServer 节点上的连接信息,但需要注意的是,ODP 对 show processlistshow full processlist 命令做了处理,这些命令只有都发往同一台 ODP 才能正常工作。
  3. 通过视图 gv$ob_processlist

    • 通过视图 gv$ob_processlist 可以查看全局的连接信息,包括所有 OBServer 节点上的连接信息。

区别总结

  • show processlistshow proxysession 主要用于查看客户端连接的信息,前者较为简略,后者更为详细。
  • 直连 OBServershow processlistshow full processlist 主要用于查看 OBServer 节点上的连接信息,而通过 ODP 连接 OBServer 节点的 show full processlist 也有类似的效果,但需要注意负载均衡的影响。
  • 视图 gv$ob_processlist 提供了全局的连接信息,适用于多节点环境下的连接管理。

希望以上解释能帮助您更好地理解客户端连接和服务端连接的查看方式及其区别。

详情请参考:

  1. 管理 OceanBase 数据库连接
  2. 数据库连接和路由概述
  3. SHOW
  4. 连接管理

社区版测试了下,好像和官网ppt介绍的不一样

1 个赞