All servers are broken.

机器是4核cpu,内存8G,固态100G

nebula版本v2.0.1,java集成nebula工具包,测试并发10/s 持续10分钟,match语句匹配返回节点信息时报错


服务端正常

你贴下服务端的日志吧,/usr/local/nebula/logs/nebula-graphd.INFO

nebula-graphd.rar (2.4 MB)

你的超时时间是多少,我看你日志每秒会拿200个session,可能并发数太多,导致检测服务超时认为服务异常了。

超时时间没有改,使用的是默认值,并发是10/s,持续10分钟,刚开始测试10/s,持续5分钟正常

你是在哪个时间点出现这个报错的,具体时间

下午15点40分左右

知道什么原因吗?

我看服务端每秒收到的请求是几万条请求,应该请求数太多导致客户端探测的时候,有的时候连接不上,认为服务异常了,所以拿连接失败了。

因为是压力测试,主要测看并发能达到多少个,所以测试每秒并发10个,持续10分钟。刚开始不报错,过个1分多钟就会出现这种现象,但重新请求又能获取到。因为我们不知道这个配置下能支持多少并发,多少步数的查询。

每秒并发10个,持续10分钟,为啥服务端会收到几万条请求呢。有啥测试方法吗,我们想看这种配置下能支持的最大能力

你的测试query是怎样的?

就是一个match语句查询出边或者入边

机器是4核cpu,内存8G,固态100G,这个配置能支持最大多少个并发,多少个步数的查询

你现在是每执行一条query,拿一次session然后再switch space,你可以一开始就吧你要用的session数拿好,然后use 完space,后面每个并发直接拿这个session发请求,不要一个请求那一次session,这中间产生两次没必要的io,我看你的用户名和space每次都是一样的。所以你可以一开始就拿好session,然后自己保管。

能给出简单的示例吗

你说的这个怎么实现