0

我在大约 1 分钟内运行了大约 3k 个写查询,CPU 达到 100%。这是 jstack 日志: jstack when CPU at 100%

谁能告诉我 jstack 日志中发生了什么,以便我可以优化我的写入?

我正在使用 Node.js Neo4J 客户端(在 m3.xlarge AWS 实例上运行)来编写我的更改。

谢谢你。

4

1 回答 1

1

您的跟踪看起来不错,只是几个线程忙于阅读内容。

它可能是垃圾收集导致的 CPU 峰值或其他在堆栈中不可见的东西。

你能分享你运行的(类型)语句吗?

对于您的查询:

  1. 只在一个标签上合并
  2. 确保您合并或匹配的每个 :Label(property) 都有一个索引/约束
  3. 如果你匹配一个属性总是有一个 :Label 和一个索引:

如果您一直在使用通用 guid,您可能还想添加通用 :Node 标签

create index on :Node(guid);
create index on :Book(id); 


'MERGE (u:Node{guid:{guid}})',
            'SET u.name={name}, u:Book'

'MERGE (u:Node {guid:{guid}})',
'SET u.name={name}, u.sub_type={sub_type}, u:Home:Area'

// are you sure you mean :Book(id) not :Book(guid) ?
'MATCH ( e:Node {guid:{guid}} ), (m:Book{id:{id}})',
'MERGE (e)<-[r:MEMBER]-(m)',
'return r'
于 2014-11-13T08:17:50.303 回答