我在3个EC2 m1.xlarge实例上设置了3个Cassandra(1.2.10)集群节点.
基于默认配置,包括几个指南,如:
datastax_clustering_ami_2.4
不使用EBS,而是在短命中搜索0 xfs,
将日志提交到单独的磁盘上
RF = 3,
6GB堆,200MB新大小(也测试了更大的新大小/堆值),
增强的limits.conf.
随着500次写,集群仅适用于几个小时.在那段时间之后,由于CPU过载(主要是GC +压缩),似乎无法响应.
节点仍然保持Up,但是它们的负载非常大,而且日志中充满了GC信息和消息,例如:
ERROR [Native-Transport-Requests:186] 2013-12-10 18:38:12,412 ErrorMessage.java (line 210) Unexpected exception during request java.io.IOException: Broken pipe
nodetool在每个节点上显示许多丢弃的突变:
Message type Dropped RANGE_SLICE 0 READ_REPAIR 7 BINARY 0 READ 2 MUTATION 4072827 _TRACE 0 REQUEST_RESPONSE 1769
对于m1.xlarge的3节点集群,500 wps是否过多,我应该添加节点?或者是否有可能以某种方式进一步调整GC?使用m1.xlarge的3个节点可以提供什么负载?你的GC配置是什么?