docker部署的studio清除连接,关闭页面后连接还在

  • nebula 版本:2.0.1
  • 部署方式(分布式 / 单机 / Docker / DBaaS):分布式,meta*3+graph*4
    studio是docker部署的,2.2.1 目前只有一个节点
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘HDD
    • CPU、内存信息:10C、256G

需求:查询当前各主机的graph的连接数,好做负载均衡
准备尝试通过以下命令查询
netstat -an | grep ESTABLISHED | grep :9669 | wc -l
但是,
docker部署的studio,正常登陆操作结束之后,在页面上清除连接退出后,主机上netstat命令查看时,连接还在,

图上这个docker的studio和连接的graph服务在同一台主机上,
Q1:这种情况是什么原因呢,这种情况怎么处理才能查到准确的graph连接数?
Q2:从docker连接到nebula时用的49236和49268应该不是固定的端口吧?

线上版本非常不推荐 HDD Disk 哈。

Q1: 这种情况是什么原因呢,这种情况怎么处理才能查到准确的graph连接数?

wey: 这个 server 只部署了 studio 对吧?可以确认所有的 studio session 都断开了么?
@hetao 帮忙确认一下,http-gateway disconnect 之后还会有保留的连接么?我理解不会的

hetao 帮确认了,这里是调用的 go client, disconnect 只是release session,connection 没有释放的。

关于连接数,~~我提了 issue 增加 metric,欢迎您来增加你的需求信息 Metric on GraphD connection/session count · Issue #1239 · vesoft-inc/nebula-graph · GitHub ~~
@HarrisChu 提醒,您可以等我们下一个小版本发布,增加的session 管理功能,show session 的command里有连接的信息, 在没有 metric的情况下,希望可以一定程度上满足你的需求。

Q2: 从docker连接到nebula时用的49236和49268应该不是固定的端口吧?

wey: 是的,这里 http-gateway 是 graphclient,client 的 port 是随机的。

界面上的清除链接会调用客户端的 session.release(), 此时会释放 session 所持有的连接, 还给链接池, 这些链接还可以被复用, 不会销毁, 直到这些连接过期或者链接池关闭时才会被销毁.

2 个赞

多谢! @Aiee

1 个赞

该主题在最后一个回复创建后7天后自动关闭。不再允许新的回复。