connections

学习connections服务。

connections服务可以查看所有的连接。一个典型的页面如下:

server_socket_count: 5

CreatedTimeRemoteSideSSLProtocolfdBytesIn/sIn/sBytesOut/sOut/sBytesIn/mIn/mBytesOut/mOut/mSocketId
2015/09/21-21:32:09.630840172.22.38.217:51379Nohttp19130012691688445311586053257
2015/09/21-21:32:09.630857172.22.38.217:51380Nohttp201308157661688845312997853258
2015/09/21-21:32:09.630880172.22.38.217:51381Nohttp211292114471676725214341452259
2015/09/21-21:32:01.324587127.0.0.1:55385Nobaidu_std1514802088020880201192522601192512
2015/09/21-21:32:01.325969127.0.0.1:55387Nobaidu_std1740164015544023887923849266023841024

channel_socket_count: 1

CreatedTimeRemoteSideSSLProtocolfdBytesIn/sIn/sBytesOut/sOut/sBytesIn/mIn/mBytesOut/mOut/mSocketId
2015/09/21-21:32:01.325870127.0.0.1:8765Nobaidu_std1615544040164092660238423887923840

channel_short_socket_count: 0

上述信息分为三段:

  • 第一段是server接受(accept)的连接。
  • 第二段是server与下游的单连接(使用brpc::Channel建立),fd为-1的是虚拟连接,对应第三段中所有相同RemoteSide的连接。
  • 第三段是server与下游的短连接或连接池(pooled connections),这些连接从属于第二段中的相同RemoteSide的虚拟连接。

表格标题的含义:

  • RemoteSide : 远端的ip和端口。
  • SSL:是否使用SSL加密,若为Yes的话,一般是HTTPS连接。
  • Protocol : 使用的协议,可能为baidu_std hulu_pbrpc sofa_pbrpc memcache http public_pbrpc nova_pbrpc nshead_server等。
  • fd : file descriptor(文件描述符),可能为-1。
  • BytesIn/s : 上一秒读入的字节数
  • In/s : 上一秒读入的消息数(消息是对request和response的统称)
  • BytesOut/s : 上一秒写出的字节数
  • Out/s : 上一秒写出的消息数
  • BytesIn/m: 上一分钟读入的字节数
  • In/m: 上一分钟读入的消息数
  • BytesOut/m: 上一分钟写出的字节数
  • Out/m: 上一分钟写出的消息数
  • SocketId :内部id,用于debug,用户不用关心。

典型截图分别如下所示:

单连接:img

连接池:img

短连接:img


修改于 2022年8月23日: update dir (#91) (142f16bf2)