`
luckaway
  • 浏览: 137890 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

memcachedb的性能测试

阅读更多
memcachedb是新浪工程师开发的持久的分布式存储系统。前端用memcache作缓存,后端用Berkeley DB做持久存储,支持事务。存储方式简单,只支持key-value存取方式,所以效率非常高。适合存储高流量网站的点击率、浏览量等。

memcachedb的官网:http://memcachedb.org/


测试环境

Memachedb serever安装在linux测试服务器(centOS系统)

客户端测试程序用java,运行在本地PC机。


Key:是md5 32位

Value:ArrayList{745466546,123445645,156465464,314464645,789796546,654657878,464898779}

写的测试结果(单位是毫秒):

l          1000次

测试总数:1000

总耗时间:1296.0

平均一个所耗时间:1.296

l          10000次

测试总数:10000

总耗时间:8359.0

平均一个所耗时间:0.8359



读的测试结果(db里有10000个对象):

l          1000次

  测试总数:1000

总耗时间:1469.0

平均一个所耗时间:1.469

l          10000次

测试总数:10000

总耗时间:13266.0

平均一个所耗时间:1.3266


从结果来看,在java下写的效率比读的效率要稍微高点,起初猜测写是异步的,但是同事看了源码,写是同步的,没有消息队列,是直接写到dbd的。他用php测试了,写和读分别是0.3毫米/个和0.2毫秒/个。
由此可判断读比写效率低,并不是由Memachedb引起的。难道是java的凡需反序列化的效率比序列化的效率低。
另我对Berkeley DB的java版本测试了下,效率不是很理想,写大概是22ms/个。



分享到:
评论

相关推荐

    memcachedb

    因此,它的性能测试通常会关注以下几个方面: - **吞吐量**:单位时间内能够处理的操作数量。 - **延迟**:完成单个操作所需的时间。 - **并发能力**:支持同时连接的客户端数量。 通过这些指标,可以评估 ...

    memcachedb 手册

    - 通过这些命令,开发者可以快速测试和调试 `memcachedb` 实例。 4. **API 使用** - `memcachedb` 提供多种语言的客户端库,如 C、Python、Java 和 PHP,使得开发者能够轻松地在应用中集成缓存功能。 - API 包含...

    Ubuntu 9.04中安装Memcachedb

    此外,文章中提供的Memcachedb的性能测试数据,即写速度和读速度,可作为评估Memcachedb是否适用于特定应用场景的参考。写速度12000条记录/秒,读速度10000条记录/秒表明其高吞吐量,适合高并发场景。不过,读者在...

    cpp-分布式缓存服务器memcachedb

    在提供的`memcachedb-master`压缩包中,包含了源代码和其他相关资源,可以用于编译、安装和测试Memcachedb。通过深入研究源代码,开发者可以更好地理解其内部工作原理,并可能进行定制化的修改和扩展。 总结来说,...

    NoSQL数据库笔谈

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

    memcache数据库缓存.pdf

    监控Memcached时,可以通过服务的测试页抓取数据,以评估其性能。 Memcached适用于企业场景,特别是那些对读取速度有极高要求但对数据丢失有一定容忍度的应用。相比之下,Redis更适合需要持久化存储且对写操作有较...

    Redis实战 中文完成版

    memcachedb是一款基于memcached的Key-Value存储系统,它继承了memcached的高性能特性,同时增加了数据持久化功能。这意味着memcachedb不仅能够作为高速缓存使用,还可以将数据永久保存在磁盘上,以防止系统重启后...

    NoSQL数据库详细介绍入门经典

    - **Vector Clock**:一种用于检测分布式系统中事件顺序的技术。 - **Gossip Protocol**:一种用于维护分布式系统中节点间状态同步的协议。 - **Merkle Tree**:一种树形数据结构,用于高效验证大量数据的一致性。 -...

    Redis实战《红丸出品》

    Redis是Key-Value存储系统的典型代表,与Voldemort、Dynamo、memcached、Cassandra、memcachedb和Hypertable等系统类似,都遵循键值对存储的基本理念。这些系统各有特点,例如Cassandra适用于大规模分布式系统,而...

    neicun.rar_内存读取_读取 内存 显示

    4. **内存分析工具**:例如Valgrind、Memcachedb等,专门用于检测内存泄漏、越界访问等问题。 5. **安全领域**:在网络安全中,内存读取有时用于取证分析,获取被病毒感染或恶意篡改的内存信息,以便进行逆向工程和...

    唱吧数据库系统架构的变迁之路

    - **纵切数据库**:将部分表如user_relation、notice等剥离出来,放置于独立的数据库中,并通过MemcacheDB消息队列来实现异步写入。 - **异地机房尝试**:为了解决跨机房数据访问的问题,尝试在不同地理位置设置机房...

    Redis实战 中文

    - **PING**: 测试服务器是否正常工作。 - **INFO**: 显示服务器的各种信息。 - **QUIT**: 关闭当前连接。 - **DBSIZE**: 返回当前数据库中的键的数量。 - **CONFIG GET**: 获取指定配置项的值。 以上就是从《Redis...

    《Redis实战》红丸出品.pdf

    书中首先对多种Key-Value存储系统进行了比较,包括Voldemort、Dynamo、memcachedb、Cassandra、memcached和Hypertable,为读者提供了全面的视角来理解不同存储系统的特点和应用场景。 #### 选择Key-Value Store的...

    redis实战指导

    - **PING**:测试客户端与服务器之间的连通性。 - **SELECT**:选择数据库。 - **QUIT**:断开客户端与服务器的连接。 - **FLUSHDB**:清空当前数据库的所有数据。 - **FLUSHALL**:清空所有数据库的所有数据。 ...

Global site tag (gtag.js) - Google Analytics