【发布时间】:2013-12-13 03:31:16
【问题描述】:
我在 EC2 m1.xlarge 的 3 个实例上设置了 Cassandra (1.2.10) 集群的 3 个节点。
基于包含多个准则的默认配置,例如:
- datastax_clustering_ami_2.4
- 不使用 EBS,而是在 ephemerals 上突袭了 0 xfs,
- 在单独的磁盘上提交日志,
- RF=3,
- 6GB 堆,200MB 新大小(还使用更大的新大小/堆值进行了测试),
- 增强的limits.conf。
每秒写入 500 次,集群只能工作几个小时。在那之后,由于 CPU 过载(主要是 GC + 压缩),它似乎无法响应。
节点保持运行状态,但它们的负载很大,日志中充满了 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? 您可以使用 3 个 m1.xlarge 节点来处理什么负载?你的 GC 配置是什么?
【问题讨论】:
标签: amazon-ec2 garbage-collection cassandra