我是NoSQL和Cassandra的新手。我正在嘗試設置以實現僅內存緩存解決方案。我正在通過從100000行文件逐行讀取並使用Hector插入Cassandra進行處理。我注意到每秒大約6000個插入物的吞吐量非常低。整個寫操作約20.5秒,這是我們的應用程序所不能接受的。我們需要每秒100000個插入。我正在使用4GB RAM的Windows 7計算機上進行測試。Cassandra的低寫入性能
我在做只插入測試。
請讓我知道我要去哪裏錯了。請建議我如何改進每秒插入。
Keyspace: Keyspace1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: 0.003106884242157228 ms.
Pending Tasks: 0
Column Family: user
SSTable count: 3
Space used (live): 17691
Space used (total): 17691
Number of Keys (estimate): 384
Memtable Columns Count: 100000
Memtable Data Size: 96082090
Memtable Switch Count: 1
Read Count: 0
Read Latency: NaN ms.
Write Count: 177042
Write Latency: NaN ms.
Pending Tasks: 0
Key cache capacity: 150000
Key cache size: 0
Key cache hit rate: NaN
Row cache capacity: 150000
Row cache size: 0
Row cache hit rate: NaN
Compacted row minimum size: 73
Compacted row maximum size: 924
Compacted row mean size: 784
我已經試過幾個方法可以設置行高速緩存和關鍵緩存:
通過卡桑德拉CLI
通過NodeCmd:JAVA org.apache.cassandra.tools.NodeCmd - p 7199 setcachecapacity Keyspace1用戶150000 150000
您使用的是什麼類型的磁盤存儲?它是SSD還是HDD或內存文件系統?運行時應用程序使用多少CPU用戶/系統? (在任務管理器中) –
磁盤存儲器是硬盤。總CPU約爲40%。 –
一年前我們做了一些測試後,我們發現Cassandra比PostgreSQL要慢,直到Cassie擁有4臺以上的服務器。所以我並不感到驚訝。 –