The query gets slower as the number of vertices that already exist in JanusGraph gets bigger and big
When i start JanusGraph and perform any query like :
- g.V().has(properties).limit(10).toList()
- g.V(vertex).repeat(outE()).until(outE().count().is(0)) ( it will traverse about 3-4 vertices)
- g.V().has(properties).next
- g.addV()....... ( 1 vertex)
- g.addE()....... ( 1 edge)
Data model:
- vertexC: is leaf vertex
- vertexB: associated with a lot of vertexA and their father
- vertexA: father of about 500 vertexB
Initially these queries are very fast. But then when I run for a period of time, the queries get slower and slower and start to timeout (still have fast queries interspersed with slow queries). And I see that the number of requests across regions of Hbase is not balanced, it focuses on a few regions and the remaining regions have a very small number of requests and are almost equal.
Can anyone help me with this situation?
4 Replies
what are you using for loadtesting?
i see it on Hbase UI
i'm not sure what could be wrong. how are you connecting to JanusGraph? is this in embedded mode that you are finding this behavior or are you sending requests to Janus Server? Perhaps you could share a bit more about your environment/setup?
Are you using a schema? indices? constraints and such?
What is the output of
<your query>.profile()
When the queries get slow, how many open transactions do you have at that time?