8

クラスターのレプリケーション係数を増やすと、読み取り速度も向上しますか?

レプリケーション ファクターが 1 で、6 つのノードがあり、トークンが均等に分散されている場合、特定のノードにデータがある可能性は 16,66% しかないことを理解しています。延長時間。

レプリケーション ファクターを 6 に設定すると、各ノードには完全なデータセットがあり、他のノードに問い合わせることなくすぐにデータを取得できると思います (読み取り整合性 = 1 を使用しています)。したがって、複製係数を増やすと、読み取り速度が向上するはずです。これは正しいです?

私たちのアプリの書き込みは比較的少ないですが、毎秒 10,000 を超える get() 操作があります。クラスターには 6 つのノードがあり、すべての読み取り操作を非常に高速にする必要があるため、Cassandra の読み取りパフォーマンスを改善する方法を探しています。

4

2 に答える 2

4

これをテストするために、実際に ycsb ベンチマーク (100% 書き込みと 100% 読み取り) を実行しました。レプリケーション係数を増やすと、一貫性レベルが 1 に保たれている間、読み取りが遅くなるようです。

8 ノード クラスタで取得している数値は次のとおりです。

1,600 万回の読み取り操作 - ycsb ワークロード C

rep.factor _ readtime(分)

1 _ 10.8840833333333

2 _ 11.1243666666667

4 _ 17.405033333333

より大きなサイズの場合、ジャンプはさらに大きくなります。

誰でも理由を説明できますか?

于 2013-02-11T21:19:18.960 に答える
4

ConsistencyLevel.ONE を使用している限り、それは正しいです。

于 2012-10-10T20:30:46.910 に答える