我在从单行读取数据时出现 Cassandra v1.2.5 性能下降,其中只有很少或零列,但之前添加和删除了许多不同的列。
为了测试,我执行以下操作:
- 创建一个新的列族
- 测量一行的读取速度 100 次 - 每次读取平均 4.6 毫秒,返回零列
- 将 500000 列添加到行
- 从行中删除所有 500000
- 再次测量读取速度 100 次 - 每次读取平均 282.4 毫秒,返回零列
因此,在那之后的阅读速度比我添加和删除 500000 列之前慢了约 70 倍。
尝试压缩、冲洗、修复 - 没有任何帮助。速度略微提高到 208.7 毫秒
唯一有助于恢复读取性能的方法是完全删除该行。写入和读取其他行仍然很快。
为什么会发生这种读取速度下降?以及如何解决?