(I'm posting this question here since it seems a bit too non-specific for 
Stack Overflow).

I've been working on a Neo4j system that needs to ingest a lot of data. 
We've been testing the data-load with many writing threads. Generally this 
works fine. For example, writing with 5 threads completes normally. Writing 
with 10 threads however works fine (in fact ~2x speed) for a while, but 
then suddenly every transaction starts timing out, even though CPU usage 
was generally less than 50%. 

Also, it doesn't fully recover for a long time if ever. Even minutes after 
the load has been completely turned off, Neo still remains unresponsive to 
certain kinds of queries - for example, I have a script that runs "MATCH 
(a) WITH a LIMIT 10000 OPTIONAL MATCH (a)-[r]-() DELETE a,r RETURN 
COUNT(*)" repeatedly which normally works fine when run by itself, but in 
this case it keeps timing out even when there are no other queries. I have 
to kill and restart the process. Needless to say this behaviour is less 
than ideal. I tried adding a "max-execution-time" header of 5 seconds but 
this didn't seem to help much if at all.

In other tests I've seen weird spikes of bad performance 30 mins to a few 
hours after one of these meltdowns, in a kind of "echo", even when the load 
has been greatly reduced in the meantime (and when normally that load would 
sustain good performance indefinitely).

Any idea what's going on?

TL;DR: Neo fails abruptly under heavy load and seems slow to recover even 
when the load is removed.

Thanks,
Ryan Sattler

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to