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