首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Cassandra -如何强调IO

Apache Cassandra -如何强调IO
EN

Stack Overflow用户
提问于 2014-09-16 07:21:49
回答 1查看 1.7K关注 0票数 1

我使用Cassandra已经有一段时间了,并遵循了以下链接中的基准测试提示:

http://www.datastax.com/dev/blog/how-not-to-benchmark-cassandra

我有4个节点运行Cassandra,2个不同的节点使用本机基准测试工具'cassandra-stress‘为集群提供数据。我理解,因为Cassandra写入的LSM性质,它们几乎永远不会是IO绑定的,但是对于读取,我希望我能够以这样一种方式强调群集,它将是IO绑定的。到目前为止,我还无法使IO成为瓶颈。

我已经增加了并发写/读的数量;我已经增加了stream_throughput_outbound_megabits_per_sec,这样它就不会被限制;我已经将cassandra-stress客户端的数量增加了3倍(这只是增加了它对CPU的限制)。

我在每个Cassandra节点上的设置是一个单独的commitLogs硬盘,并且我为数据存储设置了10个驱动器的DAS。我已经使用Linux的iostat实用程序监视了IO,但我永远无法使驱动器的利用率接近100%。此外,我减少了Cassandra可以使用的内存,认为这会迫使它更频繁地刷新。下面是我如何启动写压力测试:

cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_1 & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_2 & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_write_3 &

下面是我如何启动读压力测试的:

cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_1 -o read & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_2 -o read & cassandra-stress -d 192.168.2.1,192.168.2.2 -n 20000000 -t 400 -f 20million_read_3 -o read &

我在为4节点Cassandra集群提供数据的2个外部节点上执行此操作。

对于如何有效地对IO施加压力并使其具有IO约束,您有什么想法或想法吗?或者我在这里做错了什么?

感谢您的时间和耐心。

-Matt

EN

回答 1

Stack Overflow用户

发布于 2014-09-16 09:31:25

一个单独的提交日志磁盘和10个数据磁盘..你是“做对了”。

您可以尝试使用具有较大值的混合读写工作负载来尝试增加总体I/O,但您可能会再次发现,这在您选择的硬件上运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25858368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档