大佬,帮忙给看看,一个后端项目,创建session会失败,配置文件默认的max_sessionper_ip_per_user,已经从300提升到1000了,压测的时候,还是会超,100个并行度去压测的
我看SessionPool去执行语句的时候,是会释放session的,不清楚session数会一直增长呢
1.是否重启过项目,重启之前的session还在的,你需要登录console,执行show sessions查看并kill之前不用的session
2.SessionPool执行releaseSession操作只是归还到你的池里面,并非去close你的session。只有出现执行异常(非语法错误等)才会主动去关闭session,执行session.release()操作
1 个赞
不是出异常才会去释放,但是现在session数一直涨,很快就会突破配置文件里面配置的数量,感觉有点不太正常
你的sessionPool的配置是怎么配的?
sessionPool是这样配置的,我知道是返回到池子里,返回池子里了,才能重复使用,我现在是不太清楚为什么会超了“nebula-graphd.conf”里面的max_sessions_per_ip_per_user这个配置的值,池子最大设置的200,应该不会超了这个上限吧
这个配置是针对同一个ip下面的限制,有如下问题:
1.是否存在多次重启
2.是否存在单台机器部署多个应用
3.是否存在new了多个sessionPool的实例,并非是全局共享的
1 个赞
是的,大佬,确实单个IP下多次并发调用,因为用一个机器在做压测;是否多次重启,这个情况应该是没有;可能存在3说的这个问题,new了多个sessionPool实例,我再检查检查,谢谢!
还有个问题啊,大佬,我的nebula是3.6的版本,
现在这个设置默认的是8小时,一晚上没有调用的话,第二天会话池子里的session都过期了,我后端项目怎么才能激活一下session,重新发布应用有时候不太现实
SessionPool有Health checker,会定期执行yeild 1保持连接的可用性
好的,大佬,我看看。用了java-client的NebulaPool,现在好使了
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。