1

我正在使用 datastax 企业图 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 数据中心的两个节点。

事实并非如此,因此,我无法使用集群的全部容量,这是浪费钱!

我错过了什么?

提前致谢!

4

2 回答 2

0

为了回答我自己的问题,看起来如果堆大小足够(8GB),负载似乎是均匀分布的。

就我而言,至少问题消失了。希望它可以帮助别人。

于 2017-06-17T14:00:02.963 回答
0

您应该通过在驱动程序级别启用日志记录来检查幕后发生的事情。ClientareEventEmitter和发出日志事件的实例:

client.on('log', (level, className, message) => {
  if (level === 'verbose') {
    return;
  }
  console.log(level, className, message);
});
于 2017-06-13T07:10:29.610 回答