Nodejs Neo4j ServiceUnavailable错误

时间:2018-08-01 11:32:48

标签: node.js neo4j cypher

我正在使用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访问所有内容并执行操作时,我看到服务器仍在运行。

以下是屏幕截图: Nodejs Neo4j ServiceUnavailable

如您在左侧看到的,从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)
        });
}

0 个答案:

没有答案