zut
zut
> 暂时没有发现这个情况哦,能不能给个示例 ```golang c, err := gossdb.NewClient() defer c.Close() kMapV, err := c.HScan(name, keyStart, keyEnd, int64(limit)) ``` 就这一段,
> 暂时没有发现你说的情况,你可以在显示错误信息时,调用goerr.Error(err).Trace()来显示更多的内容,我们可以根据仔细的信息来分析。 详细错误是: `Trace:pool is busy,can not get new client in 5 seconds,wait count is 1 ` 本地测试, 基本没有并发.配置也是默认的. ```go c := &conf.Config{ Host: host, Port: port, AutoClose: true, }...
> 把你的代码发我一份吧,我测试一下 在一个项目中用了. 无法单独出来发.
为了方便测试,我timeout设置成2s 最后的回复,有 client info 更详细的信息. ---  是不是应为 AutoClose 导致的.你看这张图, cc.index 18 的时候没有自动关闭. 这时候响应时间变成了2s. 这个请求之后的 3分钟都没有问题. --- 3分钟后继续出现  --- 再过1分钟,报错  如果可以,只指导排查方向,谢谢
有更详细的信息了: 特征是: 1. 时间变长, 2. 再过一会,就会错误. Trace:pool is busy,can not get new client in 2 seconds,wait count is 1   ``` GetClient true 19 available is 8,active is 60,wait...
@seefan 用了GetClient (是调用gossdb.Client()) 请看代码: ```go func HSet(name, key, value interface{}) error { name2, err := cc(name) if err != nil { return err } key2, err := cc(key) if err...
1 这个错误是每个请求的处理时间,你可以忽略。 2没有长时间连接的业务。 3 大约几百KB?我可以具体打印出来看看。而且是slob/zstd 压缩过的。
请问你是如何判断回收的? @seefan
> 通过Avaliable来控制,它是一个队列,我会把连接的位置放到队列里管理 我看了一段时间log, 还没能解决. 目前已经关闭AutoClose, 还没有发现问题.
> 看你说的情况,感觉是是autoclose在释放时有问题,我还在分析 > 另外,你关闭AutoClose后,用普通方式是否存在问题呢? 使用2天情况来看, 没有出现了