`
san_yun
  • 浏览: 2638249 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

beansdb的性能测试

 
阅读更多

最近对beansdb做了一次性能测试,结果性能一般,下面是我的测试过程。

 

1. 启动beansdb server

/duitang/dist/sys/beansdb/bin/beansdb -d -H /duitang/data/test-beansdb

 

2. 往beansdb set 30000条数据

from beansdb.dbclient import Beansdb
import time;
BEANSDB_CONF = ({"127.0.0.1:7900": range(16)}, 16)


fs = Beansdb(*BEANSDB_CONF)
starttime = time.time()

def build():
    f = open('/tmp/test')
    data = f.read()
    for x in xrange(30000):
        key = "HDFS%s"%(x)
        fs.set(key,data)

测试的数据实际是一张大小712k的图片。

 

3. 开始对beansdb随机读测试。

from beansdb.dbclient import Beansdb
import time
import random

BEANSDB_CONF = ({"127.0.0.1:7900": range(16)}, 16)

def test():
    starttime = time.time()
    for x in xrange(100):
        i =random.randint(1, 30000)
        key = "HDFS%s"%(i)
        value = fs.get(key)
        
    endtime = time.time()
    exe_time = (endtime - starttime)*1000
    print '%s ms'%exe_time

if __name__ == "__main__":    
    for x in xrange(20):
        test()  

 

4.测试结果:

服务器普通磁盘:100次读取500ms,平均一次5ms,对于一张700k的图片这个性能算不上好吧。

[admin@server2 libs]$ python testdb.py 
575.555086136 ms
555.697917938 ms
625.766038895 ms
620.676994324 ms
498.275995255 ms
490.942955017 ms
590.165138245 ms
730.442047119 ms
546.756029129 ms
723.293066025 ms
551.966905594 ms
556.042909622 ms
522.061109543 ms
501.409053802 ms
555.064201355 ms
544.654130936 ms
488.253831863 ms
540.575027466 ms
554.152965546 ms
532.576084137 ms

 笔记本SSD:

yunpeng@yunpeng-taobao:/duitang/dist/sys$ python /duitang/dist/app/trunk/java/japa/src/main/webapp/libs/testdb.py
393.790006638 ms
359.507083893 ms
320.909976959 ms
372.398138046 ms
371.335983276 ms
385.787963867 ms
361.010074615 ms
338.36388588 ms
341.284990311 ms
321.836948395 ms
353.931903839 ms
338.07516098 ms
299.274206161 ms
353.310108185 ms
346.406936646 ms
336.650133133 ms
314.879894257 ms
350.219011307 ms
328.777074814 ms
336.888074875 ms

 

 附 beansdb stats

TAT total_items 10001
STAT bytes_read 7175626210
STAT bytes_written 9276565564
STAT threads 16
END
stats 
STAT pid 8335
STAT uptime 979
STAT time 1395413333
STAT version 0.5.3
STAT pointer_size 64
STAT rusage_user 74.416686
STAT rusage_system 30.456369
STAT rusage_minflt 1748290
STAT rusage_majflt 0
STAT rusage_nswap 0
STAT rusage_inblock 0
STAT rusage_oublock 0
STAT rusage_nvcsw 62693
STAT rusage_nivcsw 2516
STAT item_buf_size 4096
STAT curr_connections 1
STAT total_connections 9
STAT connection_structures 3
STAT cmd_get 12930
STAT cmd_set 10001
STAT cmd_delete 0
STAT slow_cmd 2
STAT get_hits 12930
STAT get_misses 0
STAT curr_items 10001
STAT total_items 10001
STAT bytes_read 7175626217
STAT bytes_written 9276566235

 

 

分享到:
评论

相关推荐

    beansdb设计与实现

    - **分布式设计**:BeansDB采用了分布式架构,这意味着它可以将数据分散存储在多个服务器上,从而提高了系统的整体性能和可扩展性。 - **最终一致性**:BeansDB在设计上追求最终一致性,即在短期内可能会存在数据不...

    Inside BeansDB

    BeansDB是豆瓣于2009年开发的一款开源数据库存储系统,它主要被设计为一种高性能、分布式、高可用的Key-Value数据库。不同于传统的事务型关系数据库或POSIX文件系统,BeansDB特别适用于处理大量小至中等大小的对象...

    beansdb-0.5.3-中文源注释[Original].rar

    这是本人花了几天的时间对 目前beansdb的源代码进行的分析,其中核心部分每一行都有详细注释。详细注释的文件有htree.c hstore.c bitcask.c record.c beansdb.c,其它部分注释的比较少。因为其它部分不会影响我们的...

    Inside-BeansDB.rar_inside

    通过将数据分片并构建层次化的哈希索引,HashTree可以高效地检测数据的完整性和一致性。每个节点都包含其子节点的哈希值,根节点的哈希值可以代表整个树的内容。当数据发生变化时,只需要更新受影响的部分,而不是...

    BeansDB代理和监控器Beanseye.zip

    4. **易于部署和扩展**:由于 Beanseye 使用了 Go 语言编写,Go 语言以其高效的性能和简单的并发模型,使得 Beanseye 能够轻松地在各种硬件环境中部署,并且易于扩展,适应业务的增长。 5. **开源项目**:Beanseye ...

    cpp-BeansDB豆瓣公司另一个分布式键值存储系统

    BeansDB 是一个主要针对大数据量、高可用性的分布式KeyValue存储系统,采用HashTree和简化的版本号来快速同步保证最终一致性(弱),一个简化版的 Dynamo。 它采用类似memcached的去中心化结构,在客户端实现数据...

    ImageServer:使用Beansdb作为后端的图像服务

    beansdb -p 7901 -d -P/tmp/beansdb1.pid -L/tmp/beansdb1.log -H /home/gfreezy/beans/db/db1 -vv beansdb -p 7902 -d -P/tmp/beansdb2.pid -L/tmp/beansdb2.log -H /home/gfreezy/beans/db/db2 -vv 自定义设置。...

    NoSQL数据库笔谈

    Memc ac hed客户端(mc ) 缓存式的Web应用程序架构 性能测试 dbc ac hed Memcached 和 dbcached 在功能上一样吗? 列存系列 Hadoop之Hbase 耶鲁大学之HadoopDB GreenPlum FaceBook之Cassandra Cassandra特点 Keyspace ...

    豆瓣网海量数据存储架构

    BeansDB通过HashTree机制实现了快速的数据同步,大大提升了系统的可靠性和性能。 #### 大文件的存储实践 对于大文件的存储,豆瓣选择了MooseFS作为主要解决方案。MooseFS是一款基于C语言开发的分布式文件系统,具有...

    豆瓣的架构和一些组件

    BeansDB的设计追求简单维护、稳定性能、易扩容、高可用性以及最终一致性。在豆瓣内部,BeansDB有两个集群,doubandb和doubanfs,分别用于存储小型数据(如文本信息)和中型数据(如图片、音频)。doubandb存储了约30...

    已存档,请参阅GoBeansDB。-C/C++开发

    什么是Beansdb? Beansdb是为大型在线系统设计的分布式键值存储系统,旨在实现高可用性和易于管理。 它采用了Amazon Dynamo的想法,然后进行了简化以保留“什么是Beansdb”? Beansdb是为大型在线系统设计的分布式...

    大数据知识竞赛试题.doc

    - BeansDB是中国豆瓣社区自主开发的分布式键值存储系统。 5. 数据挖掘与可视化: - 数据挖掘是从大量数据中提取有价值信息的过程,涉及数据清洗、预处理、模式识别等步骤。 - 数据源的质量、量级、噪声和相关性...

    NoSQL数据库学习教程.pdf

    性能测试是指使用Memcached来测试性能。 dbcached是指使用dbcached来实现分布式缓存。 Memcached 和 dbcached 在功能上一样吗?是指比较Memcached和dbcached的功能。 列存系列: Hadoop 之 Hbase是指使用Hadoop...

    2021年新版试卷题大数据知识竞赛.doc

    - BeansDB是由豆瓣社区开发的,NewSQL数据库如MemSQL提供高性能的事务处理,而NoSQL数据库如Bigtable和Dynamo提供了灵活的数据模型。 4. 数据挖掘与可视化: - 数据挖掘包括数据融合、分析和决策支持,但发现的...

    大众点评网 Web开发之路.pdf

    - **分布式文件系统**:为了应对图片文件剧增带来的I/O负载问题,引入了分布式文件系统(如MogileFS/FastDFS/BeansDB/TaobaoTFS)。这些系统可以提供更好的可扩展性和容错能力。 - **缓存策略改进**:传统的缓存...

    一切为了分布式——2009年Web后端技术回顾.pdf

    NoSQL的兴起源于对高并发、灵活表结构变更需求的满足,以及在小数据访问性能上的显著提升,相较于传统的SQL数据库。例如,Memcachedb的出现引起了广泛关注,随后涌现了Tokyo Cabinet、Redis和Cassandra等著名键值...

Global site tag (gtag.js) - Google Analytics