2016-03-23 32 views
0

10ノードのマルチノードカサンドラクラスタ を正常にインストールしました。nodetool statusコマンドは、すべてのノードがUPおよびNORMALであることを示します。Cassandraパフォーマンスチューニング

しかし、私が得ているパフォーマンスは非常に悪いです。ここ

は私の結果です:

Operations /seconds = 4000 
Read Latency = 13ms 
write Latency = 10ms 

私はパフォーマンスを測定するYCSBを使用しています

私が今まで行ってきた

チューニング:

Consistency level = 1 
Replication Factor = 3 
Heap size = 4GB 

私のハードウェア: を各ノードはAですCentOSを搭載したVM

2GHZ CPU with 8 cores 
8GB RAM 
1GB/ps N/W 

クラスタから最大限のパフォーマンスを引き出すために調整可能な設定を教えてください。

+0

物理ハードウェアの外観はどうですか? VMはリソース(CPU、RAM、ディスク、NIC)を共有する必要がありますか? – Ralf

+0

@Ralf はいVMのリソースを共有します。 合計RAMは64GBです。各VMに8GB/RAMを割り当てました。 CPUとNICは共有されています。 – Akki

+2

単一の物理マシン上ですべてのC *ノードを実行すると、水平スケーリングはほとんどなく、ハードウェアの耐障害性はまったくありません。すべてのノードが同じリソースを競合します。特に、おそらくあなたのボトルネックであるディスク。 、 CPU使用率がある私)私はNMON使用してチェックしたSASディスク(だから私は持っている十分なディスク) II)とNetAppのストレージコントローラを使用しています : – Ralf

答えて

0

1台のシステムで10台のVMと1台のディスクを使用している場合、(メモリではない)データベースのパフォーマンスは悪くなります。 特に回転ディスクを使用した(どれほど高価であっても)は大きな競合ポイントになります。本当に良いSSDを使用すると、いくつかのインスタンスを取り除くことができるかもしれませんが、パフォーマンスストレステストは常にCPUボトルネックに遭遇する可能性が高くなります。

4GBのヒープとストレスワークロードで、GCやメモリの問題が発生する可能性はかなり高いですが、その周りの監視はありますか? visualvmを使用してip:7199cassandra-env.shに設定されたIP)に接続できます。

1つのVMあたり8GBのRAMが最小仕様終了です。あなたは、少なくとも8GBのJVMヒープを必要とします。 16GBのシステムで十分でしょう。もう一度共有ディスクを使用するとパフォーマンスが低下し、これまでのところだけになります。 4k/secよりはるかに優れた性能を発揮できるはずです。

+0

しかし、ファイバチャネル接続(16 x 600GB SASディスク)を介してサーバーにストレージコントローラを接続しています。 nmonを使用してCPUを監視しているため、CPUのボトルネックはなく、YCSBの実行時にはまだ60%が使用されています。 私はVMを使用していますが、パフォーマンスには影響がありますが、4000操作/秒はまだ低いと分かります。 今GCを確認してここで更新します。 – Akki

+0

私は、ヒープが少ないことがあなたのすぐなボトルネックだと思っています。 5ノードで試して、OSメモリ/ヒープのサイズを倍増できますか? 8GBのデフォルトのjvmヒープ設定はかなり良いです。 –

関連する問題