Hadoop 和 Cassandra 基准测试

Hadoop and Cassandra benchmarking

我最近构建了一个 Hadoop - Cloudera clusterCassandra 具有 2 个节点的集群。我现在想做一些基准测试,收集一些关于资源使用的数据。 我搜索了很多,找到了 HiBenchCassandra 压力工具。我不想与其他系统进行比较,我想测量自己的系统,但很难想象,我如何才能获得真实且正确的值。集群由 2 个虚拟机组成,使用 KVM 创建。 CassandraDocker 个容器中。很难解释,如何分析这个系统,而不得到错误的结果。

一些评论

Cluster consists of 2 virtual machines, created with KVM

如果要对 性能 进行基准测试,请不要使用虚拟机。实际上,Cassandra 在磁盘上执行顺序写入以优化扫描操作。通过使用虚拟机和共享磁盘,顺序写入的好处就失去了,因为管理程序可以重新排序并分派不同磁盘扇区上的连续数据,从而破坏了先前对顺序扫描的优化

一种替代方法是确保每个虚拟机都有一个专用磁盘

如果您不做性能基准测试,请忽略以上评论

第二个建议,使用真实数据集,例如不适合内存 的大数据集,以便您可以了解每种技术的行为方式。阅读此内容了解更多详情:http://www.nextplatform.com/2016/02/19/the-myth-of-in-memory-computing/

您可以使用 yahoo cloud serving benchmark 来对您的 Cassandra 集群进行基准测试。下面是它的 link 和相应的 git 存储库。

https://research.yahoo.com/news/yahoo-cloud-serving-benchmark/ https://github.com/brianfrankcooper/YCSB

基准测试非常灵活,有很多参数可以更改以充分了解集群的行为和属性。然而, 该框架的一个主要缺点是它默认使用随机数据。 但是,您可以调整代码以将其用于您自己的数据,然后它应该可以满足您的需要。