【发布时间】:2013-12-10 20:20:14
【问题描述】:
我注意到随着时间的推移连续写入,Cassandra 写入性能严重下降。
我在一个宽列中插入带有时间戳 (T) 作为列名的时间序列数据,该列在一行中存储 24 小时的数据。 流数据从数据生成器(4 个实例,每个实例有 256 个线程)写入,将数据并行插入到多行中。 此外,数据还会插入到具有 DateType 和 UUIDType 索引的列族中。
CF1:
Col1 | Col2 | Col3(DateType) | Col(UUIDType4) |
RowKey1
RowKey2
:
:
CF2(宽列族):
RowKey1 (T1, V1) (T2, V3) (T4, V4) ......
RowKey2 (T1, V1) (T3, V3) .....
:
:
没有。插入的数据点数/秒会随着时间的推移而减少,直到无法再插入。初始性能约为 60000 ops/sec,持续约 6-8 小时,然后逐渐降低到 0 ops/sec。在所有节点上重新启动 DataStax_Cassandra_Community_Server 有助于恢复原始吞吐量,但在几个小时后再次观察到该行为。
操作系统:Windows Server 2008 节点数:5 Cassandra 版本:DataStax 社区 1.2.3 内存:8GB 堆大小:3GB 垃圾收集器:默认设置 [ParNewGC]
我还注意到数量显着增加。当性能开始下降时,OpsCenter 报告的待处理写入请求数(约 200,000)。
我不明白是什么阻止了写操作完成,为什么它们会随着时间的推移而堆积起来?我在 Cassandra 日志中没有看到任何可疑之处。
操作系统设置与此有关吗? 有什么建议可以进一步探讨这个问题吗?
【问题讨论】:
-
我会升级到最新的 1.2.X 版本,1.2.12,然后再次尝试您的测试。自 1.2.3 以来已经修复了很多错误
标签: cassandra datastax-enterprise