Cassandra-hdd与ssd的使用对吞吐量没有影响

ctehm74n  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(408)

上下文
我目前正在单节点集群上运行apachecassandra测试。我已经使用nodetool状态确保了集群的启动和运行,我已经完成了大量的读写操作,我相信我的集群设置是正确的。我现在正试图通过将ssd挂载到cassandra将其数据写入的目录来提高吞吐量。
我的解决方案
cassandra数据的写入位置通常是/var/lib/cassandra/data,但是我已经使用cassandra.yaml将我的数据切换到另一个位置,在那里我安装了ssd。我已经通过检查数据目录内容的大小来确保cassandra正在写入这个位置 watch du -h 以及其他方法。我安装ssd的目录包括表数据、commitlog、提示、嵌套数据目录和保存的缓存。
问题
我一直在使用ycsb基准测试(参见https://github.com/brianfrankcooper/ycsb)测试cassandra的平均吞吐量和ops/sec。我注意到在cassandra将数据写入的位置安装hdd和ssd时,平均吞吐量没有差别。我已经通过 dstat -cd --disk-util --disk-tps 并发现在多个示例中,hdd的cpu使用率最高,而ssd仅在某些情况下达到80%左右。
问题
如何在硬盘上使用ssd提高cassandra的吞吐量?我假设这是正确的地方安装我的ssd,但Cassandra没有利用其额外的处理能力?任何帮助都将不胜感激!

svdrlsy4

svdrlsy41#

ssd应该总是在延迟等方面胜过hdd。这只是一个物理定律。我认为你的测试没有给系统提供足够的负载。另一个问题可能是,您只将数据装载到ssd,而不装载提交日志—在HDD上,它们应始终放在单独的磁盘上,以避免与数据加载发生冲突。在ssd上,它们可以与数据放在同一个磁盘上-请将所有目录指向ssd以查看差异。
我建议使用以下工具进行比较:
性能脚本-它使用 fio 工具来模拟类似cassandra的工作负载,如果您在hdd和ssd上运行它,那么您将看到延迟的差异。你甚至可以不执行它-只是看看 historic 文件夹,其中有不同磁盘类型的结果;
dsbench-最近由datastax团队发布,该团队专门研究cassandra和dse的基准测试。wiki中描述了一些内置工作负载,您可以使用这些负载进行测试。只有确保你运行负载足够长的时间,以看到压实的效果等。

相关问题