我正在使用ubuntu OS在aws ec2 t2.large实例上使用neo4j企业版v3.4.0。
我正在尝试使用nodejs在Neo4j中执行CRUD操作(npm:neo4j-driver) 在20秒内发出的请求数约为10000。 我在这里面临的问题是在创建了大约400至700个节点之后,我得到了错误作为响应。
错误是: {“代码”:“ ServiceUnavailable”,“名称”:“ Neo4jError”}
当我可以通过neo4j的Web UI访问所有内容并执行操作时,我看到服务器仍在运行。
如您在左侧看到的,从10000开始只有2个请求成功,而在10000中,从621开始是右侧的成功请求。
整个过程在20秒内结束。 另外,关于堆和页面内存配置的帮助也受到了极大的赞赏,因为现在我正在使用默认的conf。
今天在查看日志时,我发现了此错误:
错误由于以下原因,无法安排螺栓会话“ xxxxx”的执行 目前没有可用的线程服务。您可以重试 在以后的时间或考虑增加螺栓的最大线程池大小 连接器。
任何人都知道如何解决此问题?
我的runSession函数代码负责创建节点:
function runSession(query, params) {
let driver = neo4j.driver(uri, neo4j.auth.basic(user, password));
let session = driver.session();
session
.run(query, params)
.then(function (result) {
console.log("Success runSession:", /*JSON.stringify(result)*/);
session.close();
driver.close();
session=null;
driver=null;
//success_count++;
//console.log('success count:',success_count);
//console.log('error count:',error_count)
})
.catch(function (error) {
console.log('Error runSession:', JSON.stringify(error));
session.close();
driver.close();
session=null;
driver=null;
//error_count++;
//console.log('success count:',success_count);
//console.log('error count:',error_count)
});
}