一组数据:不同Compaction策略对Cassandra1.1写性能的影响
2012-05-08 09:50
274 查看
一直只是看到官方有关LeveledCompactionStrategy优于SizeTieredCompactionStrategy的说法,主要有:
节省空间,在做Compaction操作过程中,最多需要预留10%的额外空间,而不是SizeTieredCompactionStrategy做major compaction需要的一倍空间,提高了磁盘的利用率。
读性能的提升。主要是因为level内部数据有序,没有重叠。重复数据只会在不同的level之间出现。据说可以保证90%读,只需要读一个sstable。我想这也要在一定的读写比例之下,才能实现。具体有待测试。
对于写性能,我没看到什么说明,如果有,大家看到可以推荐给我。而我这里实际就写性能进行了测试。空间利用率和读性能后续会有相应数据。 cassandra采用最新稳定版本1.1。默认打开compression设置。LeveledCompactionStrategy设置sstable文件大小为10m。其他均采用默认配置。采用ycsb,对单台服务器,使用100个客户端同时入库。共入数据100000000条,每条大小1k。 当使用SizeTieredCompactionStrategy时,测试数据如下:
概况
OPS情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/sizetiered_and_compress.png)
AverageLatency情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/sizetiered_and_compress_latency.png)
当使用LeveledCompactionStrategy时,测试数据如下:
概况
OPS情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/leveled_and_compress_ops.png)
AverageLatency情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/leveled_and_compress_latency.png)
从上面的图中,我们可以看出,LeveledCompactionStrategy情况下的写性能要优于SizeTieredCompactionStrategy。平均的吞吐量高出2000多,平均延迟低1ms。
节省空间,在做Compaction操作过程中,最多需要预留10%的额外空间,而不是SizeTieredCompactionStrategy做major compaction需要的一倍空间,提高了磁盘的利用率。
读性能的提升。主要是因为level内部数据有序,没有重叠。重复数据只会在不同的level之间出现。据说可以保证90%读,只需要读一个sstable。我想这也要在一定的读写比例之下,才能实现。具体有待测试。
对于写性能,我没看到什么说明,如果有,大家看到可以推荐给我。而我这里实际就写性能进行了测试。空间利用率和读性能后续会有相应数据。 cassandra采用最新稳定版本1.1。默认打开compression设置。LeveledCompactionStrategy设置sstable文件大小为10m。其他均采用默认配置。采用ycsb,对单台服务器,使用100个客户端同时入库。共入数据100000000条,每条大小1k。 当使用SizeTieredCompactionStrategy时,测试数据如下:
概况
RunTime(ms) | 7292871 |
Throughput(ops/sec) | 13712.02 |
Operations | 100000000 |
AverageLatency(us) | 7275.795 |
MinLatency(us) | 116 |
MaxLatency(us) | 6754395 |
95thPercentileLatency(ms) | 7 |
99thPercentileLatency(ms) | 34 |
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/sizetiered_and_compress.png)
AverageLatency情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/sizetiered_and_compress_latency.png)
当使用LeveledCompactionStrategy时,测试数据如下:
概况
RunTime(ms) | 6305630 |
Throughput(ops/sec) | 15858.84 |
Operations | 100000000 |
AverageLatency(us) | 6279.091 |
MinLatency(us) | 113 |
MaxLatency(us) | 4792173 |
95thPercentileLatency(ms) | 6 |
99thPercentileLatency(ms) | 29 |
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/leveled_and_compress_ops.png)
AverageLatency情况
![](http://singmind-wordpress.stor.sinaapp.com/uploads/2012/05/leveled_and_compress_latency.png)
从上面的图中,我们可以看出,LeveledCompactionStrategy情况下的写性能要优于SizeTieredCompactionStrategy。平均的吞吐量高出2000多,平均延迟低1ms。
相关文章推荐
- Cassandra LeveledCompaction策略在SSD上对读性能的影响
- Cassandra LeveledCompaction在SSD上对写性能的影响
- Cassandra SizeTieredCompaction在SSD上对写性能的影响
- 文件系统那些事-第3篇 影响文件系统性能的关键因素:存储块分配和布局策略
- 不同版本的SQL Server之间数据导出导入的方法及性能比较
- [转]不同版本的SQL Server之间数据导出导入的方法及性能比较
- 【Java/Android性能优 4】PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强
- 试看不同PCI-E带宽对Radeon HD 7970性能的影响
- 找出一组数据中不同的数据
- 文件系统那些事-第3篇 影响文件系统性能的关键因素:存储块分配和布局策略
- MSComm控件五种不同校验方式对数据收发的影响
- oracle技术之oracle数据泵不同工作方式性能比较(四)
- cassandra的数据分布和副本策略
- matlab之bar图只有一组数据时,如何让每个bar都有不同的颜色?
- 不同版本的SQL Server之间数据导出导入的方法及性能比较
- memcache的针对不同类型数据应用缓存策略
- MySQL 中一个库中表数量是否有限制?表太多是否影响数据的性能?比如要把一张表拆成 1024 张,对于每个表的性能的影响是什么?这些影响需要考虑哪些因素?
- 不同数据访问策略的核心编程元素
- mapreduce不同类型的数据分到同一个分区是否会影响输出结果
- 影响性能的测试报告(数据库版)测试源代码