我們目前正在使用ab
工具進行一些壓力測試。單個插入在cassandra中表現很好。但是,當涉及到批量插入時,我正在處理java內存不足錯誤:Java堆空間。cassandra java堆空間問題phpcassa
我有一個虛擬盒機與安裝在它與2G的內存
Ubuntu的服務器13.04我不知道很多關於卡桑德拉內部配置。
我只是做一個大小爲100的批量插入(100插入在BATCH
)。
之後我看到這個錯誤,我不再用cqlsh
訪問,沒有nodetool
訪問近1個小時。
我該如何解決這個重負荷的錯誤?
注意:它不會發生在具有HTTP POST
請求的單個插入。
注:在我的專欄的家人,我有一個TimeUUIDType鍵和列值int
S和varchar
小號
UPDATE:測試結果表明,我沒有任何東西之前6000級的要求是錯誤的。但是,涉及到7000時,php代碼會拋出以下內容;
Error connecting to 127.0.0.1: Thrift\Exception\TTransportException: TSocket: timed out reading 4 bytes from 127.0.0.1:9160
Morever,卡桑德拉登錄重物以下;
WARN [ScheduledTasks:1] 2013-06-28 03:43:07,931 GCInspector.java (line 142)
Heap is 0.9231763795560355 full. You may need to reduce memtable and/or cache sizes.
Cassandra will now flush up to the two largest memtables to free up memory. Adjust
flush_largest_memtables_at threshold in cassandra.yaml if you don't want Cassandra to
do this automatically
聽起來像虛擬機上的JVM存在問題,您分配了多少內存? –
@LyubenTodorov在哪裏可以找出多少jvm使用?它是用'cassandra-env.sh'寫的嗎? – aacanakin
檢查我的更新,但是它是'cassandra-env.sh'! –