MySQL DBA's Blog

Archive for May, 2010

Cassandra和MySQL性能测试对比(一)

Wednesday, May 19th, 2010

Cassandra最近很火爆,有开发兄弟想往上面迁移数据,于是这星期做了MySQL和Cassandra的性能测试。

Cassandra集群(四台)和MySQL(一台)做了相应的读写对比测试。测试场景是key-value形式的,Cassandra 400w个key,MySQL 200w个key,每个key下存放100个column。column name是时间戳,value是平均长度为0.5k的随机数据。
Cassandra的replica facor是2,InnoDB的innodb_flush_log_at_trx_commit是2。

随机写 Tps 平均响应时间(ms) 最大响应时间(ms)
MysqL 5300 7.42 2562
Cassandra 12000 1.64 3685

随机读 Tps 平均响应时间(ms) 最大响应时间(ms)
MysqL 1010 78.92 1969
Cassandra 1200 68.23 4006

因为测试的时候只是用了一台MySQL,而cassandra使用了四个节点。所以MySQL最终的TPS,写入要乘以2,读取要乘以4。
本次测试的结果中,MySQL的读取性能远远高于Cassandra,而写入微微弱于Cassandra。
这个结果和java代码写入数据的模式有关,不代表MySQL在任何场景下都读取都强于Cassandra。