1、2、3、および 4 つのインスタンスで Cassandra クラスターのベンチマークを実行したいと考えています。そこで、ノードの1 つでcassandra-stress ツールを実行しました。ベンチマークは奇妙な結果を示しています。以下のグラフを参照してください (--> スレッド数が少ない場合、1 ノード クラスタは 2/3/4 ノード クラスタよりも多くの ops/sek を持っています)。
私の結果 (x 軸 = スレッド、y 軸 = ops/sek、データセット = クラスター内のノード (1、2、3、4):
このベンチマーク サイトの結果と比較すると、私の結果は正しくないようです。
私の質問は次のとおりです。クラスタの 1 台のマシンで次のコマンドを実行した場合、ツールを正しく使用できますか。
cassandra-stress write
私もこれを試しましたが、何の効果もありませんでした:
cassandra-stress write -node ip1,ip2,...
ここで私の他の質問も参照してください。ありがとうございました!
-- 編集: Jim による解決策 --
C* クラスターの外部にある他の EC2 インスタンスから cassandra-tool を実行しますが、同じ LAN 内にあります (内部 ips 10.xxx を使用できるようにするため)。4 つの個別のベンチマーク呼び出しノードを持つ 1/2/4 ノード クラスターを起動しました。それぞれが次のコマンドのいずれかを受け取りました。
最初の書き込み:
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000 -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4
cassandra-stress write n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4
次に、read コマンドでこのデータを読み取ります。
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1..1000000 -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=1000001..2000000 -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=2000001..3000000 -node ip1,ip2,ip3,ip4
cassandra-stress read n=1000000 cl=one -mode native cql3 -schema keyspace="keyspace1" -pop seq=3000001..4000000 -node ip1,ip2,ip3,ip4
読み取り結果はこちら
1 Node cluster: 149,000 ops/sec
2 Node cluster: 348,000 ops/sec
4 Node cluster: 480,000 ops/sec
ありがとう、ジム!