Hello guys, I have a problem and I my feeling is that I am doing something wrong with Java Driver (org.neo4j.driver:neo4j-java-driver:1.4.4).
Let me tell you about the architecture. Everything in AWS in one region. I have a Kinesis stream and Lambda Function which consumes events from the stream. Based on the event's type it execute Cypher query through Java Neo4j driver. It's light queries (create relationship between two or more node for ex.) but there are a lot of them in the stream. And now it's really slow. It takes 30 seconds for lambda function to execute 2000 requests. This time is the same for small (1024Mb) and big (3008Mb) Lambdas, for single instance (t2.medium) with neo4j community edition on the board and for enterprise casual cluster with 3 core servers (r4.large each).
So I think that I am doing something wrong with the driver (or bolt just can't do better)...
Here is the part of my code.
As you can see I try to reuse session for all events in a batch.
I really belive that neo4j can handle much more in a second, so the problem in me or in bolt.. Can you give me any advice how to improve performance?