将6个节点的Cassandra集群从3.11升级到4.1后,读取性能下降,IO使用率更高。此外,在修复过程中,IO的使用会在3000读IOps的aws节点限制上达到很高的上限。写的性能稍好或相同,但我们几乎没有多少milisec写,所以没有那么明显。
上
Cassandra的设置与版本3.11大致相同,但是我们从带有CMS GC和16G堆的java8转移到了java 11/Shenandoah和31 g堆。
在3.11中未出现高IO使用率。
在迁移到Cassandra 4之后,还有其他人在读取和性能下降(较高的读取延迟)方面经历了更高的IO吗?任何在不同版本之间更改并可能影响读取的键设置或功能?
谢谢
发布于 2023-05-22 02:41:16
我还没有听说过卡桑德拉4.1中关于性能下降的报道。
假设这是在您的生产系统中,我将分析通信量,以验证与使用Cassandra 3.11运行集群时相比,读取是否有所增加,以验证您正在比较苹果与苹果。
根据我的经验,高磁盘IO是由高应用程序流量导致更多的读取请求造成的。Cassandra本身并不会导致高IO --除非应用程序请求读取,否则它不会不必要地从磁盘读取。
另外,我注意到您说"Cassandra设置与3.11版本大致相同“。您需要限定这个语句,因为您不应该使用C* 3.11配置,因为它在C* 4.x中发生了很大变化。
您应该从普通的C* 4.1配置文件开始,并根据测试来调整设置。不要仅仅从原来的C* 3.11集群中复制设置。干杯!
https://dba.stackexchange.com/questions/327296
复制相似问题