2011-04-21 78 views
3

我有一個行數相當少的cassandra集羣(200萬左右,我希望cassandra「小」)。每行都用唯一的UUID鍵入,每行都有大約200列(給出或少量)。總而言之,這些行很小,沒有二進制數據或大量的文本。只是短的字符串。Cassandra multiget performance

我剛剛從我們的舊數據庫中初始導入cassandra集羣。我已經從每臺機器上的cassandra中調出了地獄。有數億次寫入,但沒有讀取。現在是時候使用這個東西了,我發現讀取速度是非常糟糕的。我正在做一個使用pycassa的multiget,一次可以處理500到10000行。即使在500行時,性能也很糟糕,有時會超過30秒。

什麼會導致這種類型的行爲?在像這樣的大量進口之後,你會推薦什麼樣的東西?謝謝。

回答

2

它是分裂的選項多得成小塊?通過這樣做,您將能夠跨越多個節點,並通過跨節點傳播負載,並將較小的數據包進行反序列化,從而有可能提高性能。

這給我帶來了下一個問題,您的讀取一致性設置爲什麼?除了@jbellis提到的IO瓶頸之外,如果您需要特別高的一致性,您還可能遇到網絡流量問題。

+0

讀一致性設置爲ANY – 2011-04-25 14:42:53