I am working on the design of an application which is going to use Neo4j as a storage mechanism.
The requirements are very stringent - read response time < 30ms and write time < 50ms. We have achieved response time at database level way under the requirements <6ms for both reads and writes.
What we are trying to measure right now is what is the real replication time between master and slave, where the cluster is set up on AWS. It has one master and two slaves, and the size of the database is 125 000 000 nodes and 150 000 000 relationships.
I have tried to find out whether there are tools/frameworks, which could measure the replication time between master and slave in the Neo4j cluster. Could you recommend me some please?
I was hoping that Neo4j is having a mechanism, which triggers events on modification (create/update/delete) of a node/relationship, which I could intercept and measure the the replication speed on the slaves, but I am afraid I couldn't find anything but GA's OGM transaction-related events, which cannot be used in this context.
The other approach which I think could work is to repeatedly query the slave after an update to the master and measure the replication time on the first successful query. The thing is that this is an approximate measurement and I wonder whether there is a better way to be done.