如何测试Cassandra性能?

时间:2012-01-26 17:08:11

标签: performance testing cassandra

我想测试一些Cassandra驱动程序(例如thrift和avro)?

哪种测试最适合定义最佳性能连接方案?

(大多数表演可能意味着 - 写作/阅读速度最快)。

1 个答案:

答案 0 :(得分:8)

首先,当谈到驱动程序时,我不会担心“Thrift”或“Avro”之类的东西,因为底层的RPC机制是一个实现细节。也就是说,值得注意的是,Avro RPC是一个短暂的实验,并且不再存在于任何现代版本的Cassandra中。

您选择的Cassandra> = 0.8.0版本的接口可以归结为RPC接口(Thrift)或CQL的第三方包装。

CQL是一种类似于SQL的查询语言,它使编写应用程序变得更加简单。如果你刚刚开始,我肯定会建议你去研究它。

对于RPC包装器,可以在Cassandra wiki的ClientOptions页面上找到当前(ish)选项列表,并且CQL驱动程序托管在Google Code / Apache Extras上(标记为Cassandra)。

至于这两个界面中哪一个最快,简短的答案是:Thrift RPC更快。 然而,差异非常小(约10%),并且仅限于非索引插入(所有其他操作在性能上相当)。此外,随着Cassandra 1.1的发布(3月份发布),CQL将支持准备好的语句,使CQL更快全面,速度提高16%。

对于某些与当前版本的cassandra相关的CQL / Thrift性能结果,请参阅this post。对于适用于即将发布的1.1版本的结果,请参阅此Cassandra JIRA issue附带的结果(向下滚动)。

如果说,您应该始终在尽可能接近生产设置的环境中进行自己的测试,使用最接近您希望从中看到的操作的混合操作你的申请。