title: Neo4j: Create nodes via CYPHER/REST slow
body: <p>I try to create/update nodes via the REST API with Cypher's <code>MERGE</code>-statement. Each node has attributes of ca. 1kb (sum of all sizes). I create/update 1 node per request. (I know there are other ways to create lots of nodes in a batch, but this is not the question here.)</p>
  
  <p>I use Neo4j community 2.1.6 on a Windows Server 2008 R2 Enterprise (24 CPUs, 64GB) and the database directory resides on a SAN drive. I get a rate of 4 - 6 nodes per second. Or in other words, a single create or update takes around 200ms. This seems rather slow for me.</p>
  
  <p>The query looks like this:</p>
  
  <pre><code>MERGE (a:TYP1 { name: {name}, version: {version} }) 
  SET 
      a.ATTR1={param1},
      a.ATTR2={param2},
      a.ATTR3={param3},
      a.ATTR4={param4},
      a.ATTR5={param5} 
  return id(a)
  </code></pre>
  
  <p>There is an index on name, version and two of the attributes.</p>
  
  <p>Why does it take so long? And what can I try to improve the situation?</p>
  
  <p>I could imagine that one problem is that every request must create a new connection? Is there a way to keep the http connection open for multiple requests?</p>