我有一个Cassandra安装,其中包含一个不超过110k记录的表。
使用PDI 5.3(最新版本)查询数据时遇到了很多麻烦。我经常在卡桑德拉身边失去记忆。
当然,我安装Cassandra的服务器并不是最好的4Gb RAM,只有2个核心,我仍然希望能够毫无问题地执行这个简单的任务。
在cassandra /conf/cassandra-env.sh
中,我已配置:
MAX_HEAP_SIZE="4G"
HEAP_NEWSIZE="200M"
现在我可以查询的最大行数是80k。 文档建议将MAX_HEAP_SIZE设置为机器RAM的1/4。但对我来说,这意味着1G,只有大约20k行要查询。
我可以通过使用limit
关键字在PDI的Cassandra input
步骤中限制select来判断我可以查询的行数。
我可以调整其他任何参数以获得更好的性能吗?这是一个开发服务器,在生产时我会期待1mil +行的查询。
安装Cassandra的服务器:红帽企业Linux服务器版本6.6(圣地亚哥)
Cassandra版本: apache-cassandra-2.1.2
编辑:版本已更新。
答案 0 :(得分:2)
为内存牺牲IO(因为内存正在杀死你):
其他一些想法:
This thread建议降低commit_log大小,但是提交日志经过大量修改并在2.1中不再发生变化,不再是这样的问题了。