主页 > 知识库 > 数据库 > NoSQL >

Couchbase2.0 性能将大幅提升

来源: 作者: 发表于:2012-08-20 08:40  点击:
Couchbase官方博客今天发文称,Couchbase 2.0 的preview版本已经可以测试了,本版本进行了两个重要的改进,导致 性能 大幅提升。这两个改进是: 1.对数据进行了 压缩 存储 数据包括索引和文档数据,你可以选择使用 Googles Snappy 或者zlib deflate压缩。数

Couchbase官方博客今天发文称,Couchbase2.0的preview版本已经可以测试了,本版本进行了两个重要的改进,导致性能大幅提升。这两个改进是:

1.对数据进行了压缩存储

数据包括索引和文档数据,你可以选择使用Google’s Snappy或者zlib deflate压缩。数据在存在到文件之前会进行相应的压缩,这样大大减少了IO量。

2.异步IO操作

2.0版本中,CouchDB 的写文件操作会直接返回,然后当数据真的写到文件中后,调用方会可以得到一个通知,这样做的好处是,在本来会block住等待IO返回的时间里,程序可以做一些CPU密集型的操作。这种异步机制也大大减小了IO对整体性能的影响。

这两个改进相辅相成,最终使Couchbase2.0 的性能大幅提升,Couchbase官方对1.1.1版本和2.0版本做了性能对比测试,得出如下一些结果:

1.使用Erlang APi进行的测试

10个进程并发的写,每次写500条记录,分别测试了记录长度为1k和2.5k两种情况,结果如下,下面纵坐标表示写100000个文档花的时间。所以时间越短的越快。可以看出,2.0 的性能大概是1.1.1版本的3倍左右。

2.使用Basho 的测试工具通过HTTP API进行的测试

50个进程并发写,每次写100条记录,分别测试了记录长度为1k和2.5k两种情况,结果如下,下面纵坐标是5分钟写文档的数量,所以是越高越快。可以看出2.0版本大概也是1.1.1版本速度的2-3倍。

3.view建立时间测试

第一个叫Complex keys的库,是保存了551,200 条1Kb的记录,包含两个只有一对key-value值的view。

第二个是来自“warlogs” couchapp的数据,它包含了12个view,第个view可能有0个或多个key-value值对组成。

下面是测试结果,可以看出第一个大概速度是3倍以上。第二个大概是多个view本身的开销导致?

4.空间占用

我们上面说到了2.0 的一大改进是提供了压缩机制,那上面的数据在2.0和1.1.1中占用空间又如何呢。下面是对比图。我们可以看到,空间占用也大大减小。

来源链接:Driving performance improvements in Couchbase Single Server 2.0

    有帮助
    (3)
    75%
    没帮助
    (1)
    25%