dse图5.1,nodejs驱动程序,没有gremlin查询的负载平衡

时间:2017-06-12 17:48:39

标签: datastax-enterprise datastax-enterprise-graph datastax-node-driver

我正在使用datastax enterprise graph 5.1。

我的后端服务(基于nodejs)使用datastax nodejs驱动程序与dse图进行交互。

我的Datastax图表部署在由两个数据中心组成的集群上,每个数据中心都有两个节点。一个数据中心专用于gremlin图形查询,另一个数据中心专用于支持solr(文本搜索)的gremlin查询。

每个节点都是EC2实例m4.xlarge,带有800GB的ebs磁盘(ssd)。

到目前为止,非常好。

最近我开始在后端执行负载测试。

当我监视节点的负载时,我可以看到只有一个节点被gremlin查询命中,在90%cpu处,其他节点根本没有加载(2-3%cpu)。

根据文档,这很奇怪,负载均衡是由nodejs驱动程序执行的,所以我相信当我启动gremlin查询时,至少应该命中gremlin数据中心的两个节点。

情况并非如此,因此,我不能使用我的群集的全部容量,这是浪费钱!

我错过了什么?

提前致谢!

2 个答案:

答案 0 :(得分:0)

你应该通过enabling logging at driver level检查一下发生了什么。 Client的实例为EventEmitter并发出日志事件:

client.on('log', (level, className, message) => {
  if (level === 'verbose') {
    return;
  }
  console.log(level, className, message);
});

答案 1 :(得分:0)

要回答我自己的问题,似乎有足够的堆大小(8GB),负载似乎是均匀分布的。

在我的情况下,至少问题消失了。希望它能帮助别人。