2016-12-05 23 views
0

非常に大きなシステムでは、UGの場合12台、cassandraの場合9台、elasticsearchの場合9台、ES 1.7.5とCassandra 3.7でusergrid(2.1.0)を設定しました。すべての(仮想)マシンには16コアと32ギガRAMがあります。しかし、3000人の同時ユーザーであっても、esとc *サーバーは狂ってしまい、100%CPU使用率に達します。 es cpuがピークに達すると、/ rolesコレクションを取得できなくなり、ユーザーはログインできなくなります。 c * cpuがピークに達すると、usergridはc *に接続できず、単純にすべてのhttp要求をミュートします。ESとCassandraのCPU負荷が非常に高い

ディスクまたはネットワークにiwoaitsはありません。

私たちのアプリケーションはusergridクエリに依存しているので、重いクエリ要求をします。しかし、私はサブシステムにこのようなCPUピークを期待していませんでした。

いずれのサポートも高く評価されます。

答えて

0

これは10日ほどかかりましたが、解決策は難しい方法でした。 Elasticsearchの教訓:

  1. ElasticsearchでG1GCを使用しないでください! (デフォルトになるまで)
  2. usergridから「contains」クエリを使用することは絶対に避けてください。
  3. 推奨事項を常に聞いてください。

カサンドラとUsergridの通信にはまだ問題があります。ノードがダウン(メンテナンス、アップデートなど)すると、ユーザーグリッドクライアントは接続エラーを表示し、約15回の試行後にすべての通信をミュートします。

関連する問題