nebula压测查询,发现nebula-python在底层read函数处理耗时占用最多

  • nebula 版本:v1.2.0
  • 部署方式(分布式 / 单机 / Docker / DBaaS):docker集群
  • 硬件信息
    • 磁盘( 必须为 SSD ,不支持 HDD)
    • CPU、内存信息:三台机子都是4核,16G
  • 问题的具体描述
  • 压测 查询 企业和人的图谱
  • 测试报告
  • 排查发现是nebula-python这个客户端在序列化数据的时候特别耗CPU,造成rps的瓶颈
  • nebula-python为什么在序列化对CPU消耗那么大,占用时间长?

是的,python在做序列化和反序列化的时候比较慢,这和python对于字符串处理的有关系,以后的nebula2.0 我们可能会支持通过去调用c++接口的python client。目前的情况,假如你查询会有大量数据返回,对性能要求比较高的化,目前的python client可能满足不了你的要求。你可能需要换个语言的客户端。

这么蛋痛的么。。。我用类似pymysql这些客户端的时候都没发现过这种问题

1 个赞

go的nebula-client序列化性能怎么样,不会有这种速度慢的问题吧?

go client的没有做过测试,但是肯定会比python的好的

我在使用中也遇到了这个问题,请问现在有支持调用c++接口的python client吗?

你好, 由于需求不是很强目前没有开发的计划, 有兴趣的话可在社区贡献一下.
对性能有要求的话建议使用其他的客户端