我正在使用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数据中心的两个节点。
情况并非如此,因此,我不能使用我的群集的全部容量,这是浪费钱!
我错过了什么?
提前致谢!
答案 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),负载似乎是均匀分布的。
在我的情况下,至少问题消失了。希望它能帮助别人。