Cassandra EC2 の応答時間が遅い

Cassandra EC2 の応答時間が遅い

私はしばらくの間、ローカルで Cassandra を使用して開発を行ってきましたが、クエリの応答時間は 50 ミリ秒程度です。

Cassandra コミュニティ ami から 5 ノードの EC2 クラスターをセットアップしました。すべて正常に動作し、opscenter は稼働しており、問題はありません。

キースペースを作成する場合でも、空のテーブルで select * を実行する場合でも、AWS ネットワーク外のマシンからクエリを実行すると、応答時間は 20 秒を超えます。

同じリージョン内のマシンからクエリを実行すると、応答時間は 1 ~ 2 秒で、依然として非常に遅いです。

EC2マシンはすべてm1.large eu-west-1aです

なぜこのようなことが起こるのか、または問題を見つけるためにどこを調べればよいのか、何かご存知ですか?

答え1

DevCenter の現在のバージョンは、(クエリが次々に実行される対話型コンソールではなく) (長めの) CQL スクリプトの実行を主なシナリオとしてサポートするように設計されています。DevCenter は、基盤となるコネクタとして Cassandra 用の DataStax Java ドライバーを使用しています。

上記のシナリオでは、「競合」が発生しないようにするために、実行ごとに新しいセッションが作成されます。セッションが初期化されると、ドライバーは自動ノード検出を実行し、接続プールなどを作成します。基本的に、ドライバーは多くの準備作業を行います。クライアント マシンから EC2 ノードまでのレイテンシ、クラスターのサイズ、およびこれらのノードの構成 (接続要件を参照) によっては、この初期化フェーズにかなりのコストがかかる場合があります。

ご想像のとおり、準備に費やされる時間は、DDL スクリプトの実行や挿入/更新の適切なサイズに占める割合は大きくありません。ただし、対話型のシナリオでは、最適ではない動作 (説明しているもの) が発生します。

DevCenter の次のバージョンでは、インタラクティブなシナリオに対応し、それに合わせて最適化して、期待どおりのユーザー エクスペリエンスを実現します。このシナリオのサポートは、私たちの優先事項リストの上位にあります。

出典:https://stackoverflow.com/questions/21219300/cassandra-native-transport-port-9042-slow-on-ec2-machine/21224540#21224540

関連情報