ES和Cassandra上的CPU负载非常高

时间:2016-12-05 12:25:23

标签: elasticsearch cassandra usergrid

我们在一个非常大的系统上设置了带有ES 1.7.5和Cassandra 3.7的usergrid(2.1.0):UG为12台机器,cassandra为9台,弹性搜索为9台。所有(虚拟)机器都有16个核心和32千兆瑞克。但是,即使在3000个并发用户中,es和c *服务器也会疯狂并达到100%的CPU使用率。当es cpu达到峰值时,我们无法获取/ roles集合,因此用户无法登录。当c * cpu达到峰值时,usergrid无法连接到c *,只是将所有http请求静音。

磁盘或网络上没有iwoaits。

我们的应用程序依赖于usergrid查询,所以我们做了大量的查询请求。但是,我没想到子系统上有这样的CPU峰值。

感谢任何支持。

1 个答案:

答案 0 :(得分:0)

花了将近10天,解决方案艰难前行。 Elasticsearch的经验教训:

  1. 永远不要在Elasticsearch上使用G1GC! (直到它成为默认值)
  2. 不惜一切代价避免使用来自usergrid的“包含”查询。
  3. 始终听取建议。
  4. 我们仍然在Cassandra-Usergrid通信上遇到问题。每当节点出现故障(维护,更新等)时,用户网格客户端就会打印连接错误,经过大约15次尝试后,它们会将所有通信静音。